logjam という脆弱性ついてまとめてみたいと思います。
概要
第三者が輸出グレード暗号を使ってTLS接続する際に512bitの鍵の強度にダウングレードさせるという脆弱性です。
対策(今回はサーバー環境はapacheを想定)
基本 ssl.confの中身を変えていく
1.輸出グレード暗号を使えないようにする。
SSLCipherSuite のところに使う暗号スイートが乗ってますがそこに
SSLCipherSuite !Export
と追記する。(EXPORT というのが 輸出グレードスイートを表してる !EXPORT とすることによって使わせない設定をする 最初に - を付けるとそれを削除 + をつけると追加する)
2.使う暗号方式をサーバー側が決めるようにする
SSLHonorCipherOrder のところを
SSLHonorCipherOrder on
とする。(on にすることによって使う暗号方式をサーバー側が決めることが出来る)
3.SSLv2 SSLv3 を使わないようにする SSL version2 SSL verson3 ということだと思います(現在ではTLSが主流なのでこの2つは危ない)
SSLProtocol all -SSLv2 -SSLv3
とかに設定してあれば大丈夫。
4.暗号化に使うハッシュ関数をSHA256という512bit長の暗号にする(どんな平文も512bitの暗号にするということです。これによって暗号の改ざんとかの検知につかわれるようです。)
最後にopenssl で使える暗号スイート(暗号アルゴリズムなどの組み合わせのこと)の一つを見てみると
openssl ciphers -v とかで見れるとおもいます
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
左の欄から順に 暗号スイートの名前、使っているプロトコルのバージョン、鍵交換に使われる暗号化アルゴリズム(Kxの部分)、認証に使われる暗号化アルゴリズム(Auの部分)、アプリケーション層の暗号化に使われる暗号化アルゴリズム(どういうこっちゃ?)(Encの部分)、メッセージの検証に使われるハッシュアルゴリズム となってます。
鍵交換と認証そしてアプリケーション層に使われるアルゴリズムには,DSSだったり,DHだったり、ECDHだったりといろんなアルゴリズムがあります(各個のアルゴリズムの詳細については多分ググれば出てくると思われます。
SHA1はSHA2のシリーズが出る前に使われてたハッシュアルゴリズムであまり使わないほうが良いかと思います。
つまり上記の暗号スイートはあまりおすすめできない暗号スイートということになるのでssl.confとかに設定しておけばよいかと思われます。
SSLCipherSuite !DHE-RSA-AES128-SHA
とかにしてけば良さそう?(多分記載しなければ使うことはないと思いますのであえて書かないというのもありだと思います)