新たに発表されたSSL/TLSに対するブラウザーのエクスプロイト(BEAST)などのセキュリティ問題の増加に照らして、OpenSSLおよびApacheでTLS 1.1および1.2を有効にして脆弱性を排除する方法を知りたいと思いましたそのような脅威ベクトルに。
TLS1.2がApacheで利用可能になりました。TLSs1.2を追加するには、https仮想ホスト構成に追加するだけです。
SSLProtocol -all +TLSv1.2
-all
は他のsslプロトコル(SSL 1,2,3 TLS1)を削除しています
+TLSv1.2
はTLS 1.2を追加しています
使用できるブラウザの互換性を高めるには
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
ちなみに、次のものを使用しても暗号スイートを増やすことができます。
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GC$
次のようなオンラインスキャナーでhttpsウェブサイトのセキュリティをテストできます: https://www.ssllabs.com/ssltest/index.html
Apacheを最新バージョンのOpenSSLでコンパイルして、TLSv1.1およびTLSv1.2を有効にします。
http://httpd.Apache.org/docs/2.2/mod/mod_ssl.html#sslprotocol
SSLProtocol +TLSv1.1 +TLSv1.2
OpenSSL changelog によると、TLS 1.2のサポートがOpenSSL 1.0.1の開発ブランチに追加されましたが、このバージョンはまだリリースされていません。おそらく、ApacheでTLS 1.2を実際に有効にするために、mod_sslコードにもいくつかの変更が必要になります。
別の一般的に使用されるSSL/TLSライブラリは [〜#〜] nss [〜#〜] ;です。あまり知られていないApacheモジュール mod_nss によって使用されます。残念ながら、現在のNSSリリースもTLS 1.2をサポートしていません。
さらに別のSSL/TLSライブラリは GnuTLS であり、現在のリリースですでにTLS 1.2をサポートするふりをしています。 GnuTLSを使用するApacheモジュールがあります: mod_gnutls 、これもTLS 1.2をサポートすると主張しています。ただし、このモジュールはかなり新しいようで、あまり安定していない可能性があります。私はそれを使用しようとしたことがありません。
OpenSSLはまだTLS 1.1のリリースを提供していません。
/に関する1つの関連コメント。この問題の場合:
主要なライブラリであるOpenSSLが安定版リリースのいずれのプロトコルもまだサポートしていない世界で、TLS 1.1および1.2サポートを実装する方法を洗っていない大衆に親切に説明してください。確かに、GnuTLSとmod_gnutlsを使用できます。私は試してみましたが、Opera以外のブラウザではサポートされておらず、モジュールに奇妙な不具合があったため、意味がありませんでした。 IE 8/9はVistaおよび7でそれらをサポートするはずでしたが、クライアント側で1.1および1.2が有効になっていると、mod_gnutlsが提供するサイトにアクセスできませんでした。私は昨日、好奇心からそれをもう一度試しました、そして今でもOpera 11.51はTLS 1.1と1.2で窒息しています。それで。プロトコルを実際にサポートするものはありません。 TLS 1.1のOpenSSL 1.0.1を待つ必要があり、いつそれがリポジトリにヒットするか誰にもわかりません。
Google ChromeエンジニアのAdam Langleyは、誰もが回避しなければならないSSLv3の実装の問題が原因でTLS 1.1がこの問題を解決しなかったと指摘しています:サポートするにはブラウザーをSSLv3にダウングレードする必要がありますバギーサーバー、および攻撃者はこのダウングレードを開始できます。
http://www.imperialviolet.org/2011/09/23/chromeandbeast.html
Gnu_tlsは魅力のように動作し、仮想ホスティングで非常にユーザーフレンドリーなSNI(サーバー名識別)も実装します。
Linuxディストリビューションでmod_gnutlsのbinパッケージを見つけることも問題ありません。2年以上使用していますが、問題ありません。opensslimhoよりもパフォーマンスが優れています。
しかし、問題は、ほとんどのブラウザーがtls 1.1または1.2をサポートしていないことでもあります。そのため、ブラウザーを定期的にアップグレードするアイデアを人々に広め始めてください。