使用すべきでない暗号化スイートを調べました。
暗号化スイートを確認してみて、使用すべきでないものが有効になっていたら設定の変更をおすすめします。
暗号化スイートを確認する
以下のコマンドで任意の暗号化スイートで使用される暗号化方式の一覧が見れます。
openssl ciphers -V 'CipherSuites_NAME'
実行例
# openssl ciphers -V 'ALL'
0xC0,0x30 - ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD
0xC0,0x2C - ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD
0xC0,0x28 - ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384
0xC0,0x24 - ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384
0xC0,0x14 - ECDHE-RSA-AES256-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA1
0xC0,0x0A - ECDHE-ECDSA-AES256-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA1
0x00,0xA3 - DHE-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=DSS Enc=AESGCM(256) Mac=AEAD
0x00,0x9F - DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
0x00,0x6B - DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256
0x00,0x6A - DHE-DSS-AES256-SHA256 TLSv1.2 Kx=DH Au=DSS Enc=AES(256) Mac=SHA256
0x00,0x39 - DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
0x00,0x38 - DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1
0x00,0x88 - DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA1
0x00,0x87 - DHE-DSS-CAMELLIA256-SHA SSLv3 Kx=DH Au=DSS Enc=Camellia(256) Mac=SHA1
0xC0,0x19 - AECDH-AES256-SHA SSLv3 Kx=ECDH Au=None Enc=AES(256) Mac=SHA1
0x00,0xA7 - ADH-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=None Enc=AESGCM(256) Mac=AEAD
0x00,0x6D - ADH-AES256-SHA256 TLSv1.2 Kx=DH Au=None Enc=AES(256) Mac=SHA256
0x00,0x3A - ADH-AES256-SHA SSLv3 Kx=DH Au=None Enc=AES(256) Mac=SHA1
0x00,0x89 - ADH-CAMELLIA256-SHA SSLv3 Kx=DH Au=None Enc=Camellia(256) Mac=SHA1
0xC0,0x32 - ECDH-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
0xC0,0x2E - ECDH-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
0xC0,0x2A - ECDH-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(256) Mac=SHA384
0xC0,0x26 - ECDH-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256) Mac=SHA384
0xC0,0x0F - ECDH-RSA-AES256-SHA SSLv3 Kx=ECDH/RSA Au=ECDH Enc=AES(256) Mac=SHA1
0xC0,0x05 - ECDH-ECDSA-AES256-SHA SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256) Mac=SHA1
0x00,0x9D - AES256-GCM-SHA384 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(256) Mac=AEAD
0x00,0x3D - AES256-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA256
0x00,0x35 - AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
<以下省略>
よく使用される暗号化スイート
CipherSuitesの設定サンプルなんかを見た時によく登場する暗号化スイートをまとめました。
-
ALL
- OpenSSLで使用できるすべての暗号化方式(CipherSuite)からeNULLに該当するものを除いたものです。
-
DEFAULT
- ALLから更にaNULLとSSLv2を除いたものです。
-
aNULL
- 通信開始時にサーバの認証をしないものです。
-
eNULL
- 通信時に暗号化をしないものです。
-
SSLv2
- SSLv2で使用される暗号化方式です。
-
EXP
- 米国輸出規制緩和により使用可能となった暗号化方式です。鍵長が40bitもしくは56bitの暗号化方式。
-
RC4
- 暗号化方式にRC4を使用するものです。
-
MD5
- メッセージ認証符号にMD5を使用するものです。
-
LOW
- 米国輸出制限緩和により使用可能となったものを除く鍵長が56bitもしくは64bitの暗号化方式です。
-
MEDIUM
- 128bitの鍵長の暗号化方式です。
- 128bitRC4やSEEDなどがこちらに含まれます.
-
HIGH
- 128bit以上の鍵長の暗号化方式
- AESや3DES、Camelliaなどがこちらに含まれます
禁止すべき暗号化方式とプロトコル
-
SSLv2
- 暗号強度が弱い、色んな攻撃に無防備、使いどころがない。の三拍子揃った暗号界のクズ。激マズ。
-
SSLv3
- POODLE脆弱性でおなじみですね。マズい
-
EXP
- FREAK脆弱性がある。激マズ。
-
LOW
- 56bit、60bitの暗号方式で暗号化強度が低すぎる。激マズ。
-
aNULL
- ShakeHandsのときにサーバー認証しないのはいただけない。激マズ。
-
eNULL
- 通信時に平文でやりとりするのはいただけない。激マズ。
-
ADH
- ADHは匿名暗号方式をサポートします。匿名暗号とか意味あるんですかね?激マズ。
-
MD5
- MD5は選択プレフィックス衝突攻撃に対し脆弱性が存在します。激マズ。
-
DSS
- RSAと違って通信の暗号化はしていますが、ユーザ認証を行っていないため暗号強度が低いです。マズい。
-
PSK
- クラックツールが出まわって久しいですね。基本的になくても困らない。マズい。
-
SRP
- バッファオーバーフローの脆弱性があります。基本的になくても困らない。マズい。
-
RC4
- RC4は解読が容易になるようなアルゴリズムが存在するため危殆化しています。おいしくない。
-
3DES
- すでに暗号を破られた実績あり。米国標準からも外された。けどRC4を禁止して、3DESも禁止にするとXP+IEな環境が駄目になる。おいしくない。
CipherSuitesの指定の際につける記号の意味
- !は暗号化スイートを使わせない。
- -は暗号化スイートを削除する。
- +は暗号化スイートの追加。
最後に
Mozillaのページを参考にさせていただきました。