
apache2 2.2.22-1ubuntu1.7がインストールされているWebサーバー(Ubuntu 12.04)があります。
クライアントでopensslを使用する:
$ echo QUIT | openssl s_client -connect OURSERVER:8080 2>/dev/null | egrep "Cipher is|Protocol"
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
Protocol : TLSv1.2
$
正常に接続できますが、Ubuntu 14.04のFirefox 33は最大接続のみ可能です。
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
しかし、同じFirefox 33を使用して別のWebサイトにアクセスすると、GCMを使用できることがわかります。
質問:GCMを使用してWebサーバーに接続できないのはなぜですか? FirefoxがTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256などを使用しないのはなぜですか?
私たちのApache構成は次のとおりです。
SSLCipherSuite "HIGH"
SSLProtocol -ALL +TLSv1
SSLHonorCipherOrder on
答え1
「パスワードの集合」はHIGH
暗号集合の集合である。明らかに、これらの暗号化の順序の期待はデフォルト値とは異なります。
次のコマンド出力に示すように、openssl ciphers
このDHE-RSA-AES256-SHA256
暗号スイートは期待するGCM暗号スイートより優れています。
$openssl パスワード -V 高 \ > grep -nC1'DHE-RSA-AES256-SHA256\|ECDHE-RSA-AES128-GCM-SHA256' |列-t 11- 0x00,0x9F - DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD 12: 0x00,0x6B - DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256 13- 0x00,0x6A - DHE-DSS-AES256-SHA256 TLSv1.2 Kx=DH Au=DSS Enc=AES(256) Mac=SHA256 - 33- 0x00,0x8D - PSK-AES256-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=AES(256) Mac=SHA1 34: 0xC0,0x2F - ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD 35- 0xC0,0x2B - ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD
特定の順序を強制するには、次のようにスイートを明示的に指定します。
SSLCipherSuite "EECDH+AESGCM+AES128 EECDH+AESGCM DH+AESGCM+AES128 DH+AESGCM+AES EECDH+AES128 EECDH+AES DH+AES128 DH+AES RSA+AESGCM+AES128 RSA+AESGCM+AES RSA+AES128 RSA+AES RSA+3DES !MD5:!aNULL"
Apacheのバージョンは次のとおりです。古すぎるECDH 暗号スイートをサポートします。また、を使用すると、SSLProtocol -ALL +TLSv1
最新バージョンのApacheではTLSv1.1とTLSv1.2の使用が除外されます。代わりにこれを使用してWebサーバーをアップグレードすることをお勧めしますSSLProtocol ALL -SSLv2 -SSLv3
。
参考までにこちらSSLサーバーのテストSSLCipherSuite HIGH
Ubuntu 12.04で実行されているApache 2.22を使用して得られた出力は次のとおりですSSLProtocol ALL -SSLv2 -SSLv3
。
Supported versions: TLSv1.0 TLSv1.1 TLSv1.2
Deflate compression: no
Supported cipher suites (ORDER IS NOT SIGNIFICANT):
TLSv1.0
RSA_WITH_3DES_EDE_CBC_SHA
DHE_RSA_WITH_3DES_EDE_CBC_SHA
DH_anon_WITH_3DES_EDE_CBC_SHA
RSA_WITH_AES_128_CBC_SHA
DHE_RSA_WITH_AES_128_CBC_SHA
DH_anon_WITH_AES_128_CBC_SHA
RSA_WITH_AES_256_CBC_SHA
DHE_RSA_WITH_AES_256_CBC_SHA
DH_anon_WITH_AES_256_CBC_SHA
RSA_WITH_CAMELLIA_128_CBC_SHA
DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
DH_anon_WITH_CAMELLIA_128_CBC_SHA
RSA_WITH_CAMELLIA_256_CBC_SHA
DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
DH_anon_WITH_CAMELLIA_256_CBC_SHA
(TLSv1.1: idem)
TLSv1.2
RSA_WITH_3DES_EDE_CBC_SHA
DHE_RSA_WITH_3DES_EDE_CBC_SHA
DH_anon_WITH_3DES_EDE_CBC_SHA
RSA_WITH_AES_128_CBC_SHA
DHE_RSA_WITH_AES_128_CBC_SHA
DH_anon_WITH_AES_128_CBC_SHA
RSA_WITH_AES_256_CBC_SHA
DHE_RSA_WITH_AES_256_CBC_SHA
DH_anon_WITH_AES_256_CBC_SHA
RSA_WITH_AES_128_CBC_SHA256
RSA_WITH_AES_256_CBC_SHA256
RSA_WITH_CAMELLIA_128_CBC_SHA
DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
DH_anon_WITH_CAMELLIA_128_CBC_SHA
DHE_RSA_WITH_AES_128_CBC_SHA256
DHE_RSA_WITH_AES_256_CBC_SHA256
DH_anon_WITH_AES_128_CBC_SHA256
DH_anon_WITH_AES_256_CBC_SHA256
RSA_WITH_CAMELLIA_256_CBC_SHA
DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
DH_anon_WITH_CAMELLIA_256_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DH_anon_WITH_AES_128_GCM_SHA256
TLS_DH_anon_WITH_AES_256_GCM_SHA384
----------------------
Server certificate(s):
d975495633785b152215100eb449c57bee391e98: CN=ubuntu
----------------------
Minimal encryption strength: strong encryption (96-bit or more)
Achievable encryption strength: strong encryption (96-bit or more)
BEAST status: vulnerable
CRIME status: protected