例えば、暗号化スイートのTLS_ECDHE_RSA_WITH_RC4_128_SHAが無効になっているか確認したいとき
openssl -cipherコマンドで表示されるものは、公称の暗号化スイート名でないことが多い。
その場合、こちらのサイトでマッピング一覧があるので紐付ける。
https://testssl.sh/openssl-iana.mapping.html
次のコマンドでクライアント側でその暗号化スイートが利用できるかを確認する。
ちなみに、ECDHE-RSA-RC4-SHAは非推奨のやつなので、2021年最近のOSには入っていない。(wsl2Ubuntu20.04にはなかった)
そういう場合は、数年前くらい前のOSを使う。バージョンを古いのをインスールし直してもいいのかもしれない。
自分の場合は、DockerでCentOS7を起動し確認した。
1 |
openssl ciphers -v | grep ECDHE-RSA-RC4-SHA |
CentOS7で確認
1 2 3 4 5 6 7 |
[root@fecf5f09d28a /]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [root@fecf5f09d28a /]# [root@fecf5f09d28a /]# openssl ciphers -v | grep ECDHE-RSA-RC4-SHA ECDHE-RSA-RC4-SHA SSLv3 Kx=ECDH Au=RSA Enc=RC4(128) Mac=SHA1 [root@fecf5f09d28a /]# [root@fecf5f09d28a /]# |
このサイトを見てみるとTLS1.0でECDHE-RSA-RC4-SHAは対応していないことが分かる。
– no peer certificate available→有効な証明書がない
– New, (NONE), Cipher is (NONE)→利用可能なSSL/TLSバージョンなし、暗号化スイートもなし
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
[root@fecf5f09d28a /]# openssl s_client -connect hubhub.jp:443 -servername vamdemicsystem.black -cipher ECDHE-RSA-RC4-SHA -tls1 CONNECTED(00000003) write:errno=104 --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 0 bytes and written 0 bytes --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1 Cipher : 0000 Session-ID: Session-ID-ctx: Master-Key: Key-Arg : None Krb5 Principal: None PSK identity: None PSK identity hint: None Start Time: 1633158155 Timeout : 7200 (sec) Verify return code: 0 (ok) --- [ |