web-dev-qa-db-ja.com

Windows Server 2008 R2でTLS 1.1および1.2が無効になっている理由はありますか?

Windows Server 2008 R2はTLS 1.1および1.2をサポートしているようですが、デフォルトでは無効になっています。

デフォルトで無効になっているのはなぜですか?

彼らには欠点がありますか?

17
Peter

Server 2008 R2/Windows 7は、WindowsにTLS 1.1およびTLS 1.2のサポートを導入し、TLS 1.0を脆弱にする攻撃の前にリリースされたため、最も広く使用されているTLSバージョンであるTLS 1.0がデフォルトであることはおそらく問題ですServer 2008 R2がリリースされた時点(2009年7月)。

Windows 7およびServer 2008 R2がこの機能をWindowsファミリに導入し、Windows Server 2012がデフォルトでTLS 1.2を使用することを考えると、どのようにして確実にわかるか、または「なぜ」設計上の決定が行われたかがわかりません。当時は「やり方」の問題だったのではないかと思われます。 TLS 1.0は依然として「十分に良い」ので、それがデフォルトでしたが、TLS 1.1および1.2は、フォワードサポートとフォワード操作性のためにサポートされていました。

Microsoft従業員からのこのtechnetブログ は、TLSの新しいバージョンを有効にすることを推奨し、次のようにも述べています(2011年10月現在):

再びWebサーバーの中で、IIS 7.5はTLS 1.1およびTLS 1.2をサポートする唯一のものです。現在のところOPENSSLはこれらのプロトコルをサポートしていないため、Apacheはこれらのプロトコルをサポートしていません。うまくいけば、業界の新しい基準に追いつくでしょう。

さらに、新しいTLSバージョンが新しいため、当時広くサポートされていなかったり使用されていなかったという単純な理由で、サーバー2008 R2ではデフォルトでTLSがデフォルトで有効にされていなかったという考えをサポートしています。ApacheとOpenSSLはサポートそれらをまだ、デフォルトとしてそれらを使用することは言うまでもありません。

さまざまなSSL/TLSバージョンを有効または無効にする方法の詳細については、 Microsoft KB記事番号245030、How to restrict the use of certain cryptographic algorithms and protocols in Schannel.dll 。明らかに、ClientキーはInternet Explorerを制御し、ServerキーはIISをカバーします。

11
HopelessN00b

私はこれを自分自身で疑問に思っていました...おそらく当時の既知の互換性の問題が原因であるかもしれません...このMSDNブログエントリを見つけました(2011年3月24日から):

http://blogs.msdn.com/b/ieinternals/archive/2011/03/25/misbehaving-https-servers-impair-tls-1.1-and-tls-1.2.aspx

一部のWebサーバーがサポートされていないプロトコル要求に応答する方法で「誤動作」しているため、クライアントはサポートされているプロトコルにフォールバックせず、ユーザーはWebサイトにアクセスできなくなります。

ここにそのブログエントリの一部を引用します:

サーバーはこのように動作することは想定されていません。代わりに、サポートする最新のHTTPSプロトコルバージョン(たとえば、「3.1」またはTLS 1.0)を使用して単に応答することが期待されます。この時点でサーバーが接続を正常に閉じた場合、大丈夫-WinINETのコードはフォールバックし、TLS 1.0のみを提供する接続を再試行します。WinINETには、TLS1.1および1.2がTLS1.0にフォールバックし、次にSSL3(有効な場合)、次にSSL2(有効な場合)にフォールバックするコードが含まれています。フォールバックの欠点はパフォーマンスです。新しい下位バージョンのハンドシェイクに必要な追加のラウンドトリップにより、通常、数十または数百ミリ秒のペナルティが発生します。

ただし、このサーバーはTCP/IP RSTを使用して接続を中止したため、WinINETのフォールバックコードが無効になり、接続シーケンス全体が破棄され、「Internet ExplorerはWebページを表示できません」というエラーメッセージが表示されます。

1
DotNetSparky