Windows Server 2008 R2はTLS 1.1および1.2をサポートしているようですが、デフォルトでは無効になっています。
デフォルトで無効になっているのはなぜですか?
彼らには欠点がありますか?
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をカバーします。
私はこれを自分自身で疑問に思っていました...おそらく当時の既知の互換性の問題が原因であるかもしれません...このMSDNブログエントリを見つけました(2011年3月24日から):
一部の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ページを表示できません」というエラーメッセージが表示されます。