
現在の OpenSSL バージョン
OpenSSL 1.1.1d 10 Sep 2019 (Library: OpenSSL 1.1.1g 21 Apr 2020)
現在のopenssl.cnf
構成
ファイルの先頭
openssl_conf = default_conf
ファイルの下部
[default_conf]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=1
ディレクティブは設定されていませんCiphersuites
。
サポートされている暗号リストが設定と異なります
ただし、 で有効な暗号を要求するとopenssl ciphers -s -v
、次のような暗号が返されます。
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
ECDHE-ECDSA-AES128-SHA TLSv1 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA1
ECDHE-RSA-AES128-SHA TLSv1 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
設定を定義する必要がありますかCiphersuites
、それとも openssl ciphers -s -v
何らかの点で信頼できないのでしょうか?
ドキュメンテーション
-sサポートされている暗号のみをリストします。セキュリティ レベル、最小および最大のプロトコル バージョンと一致する暗号のみをリストします。
SecLevel 1 では SSLv3 と TLSv1 が許可されますが、MinProtocol では許可されません。
出典:
答え1
ほとんどの暗号スイートは複数のプロトコルと互換性があります。
完全に独立した TLS 1.3 と、数十年にわたって壊れていて OpenSSL 1.1.0 (2016) 以降では実装されていない SSL 2 を除き、ほとんどの SSL/TLS 暗号スイートは、複数のプロトコル バージョンで使用できます。発生順に並べると、奇妙な政府向け暗号スイート (Fortezza) を除く SSL 3 で定義されたすべての暗号スイートは、TLS 1.0 でも引き続き使用されており、それらに加えて 1.0 で/用に定義された新しい暗号スイート (主に EC) のうち、意図的に弱められた「エクスポート」スイート (2006 年にはすでに非推奨となっていた) は、新しいスイートを定義していない 1.1 でも引き続き使用されています。1.2 は、2008 年よりずっと前から壊れていると考えられていたシングル DES を除いた 1.1 のスイートのほとんどを保持し、さらに多くの新しいスイート (AEAD や SHA2 を使用) を追加しています。
に記載されているように、SSL_CIPHER_description のマニュアルページこれは暗号のリンクです:
<プロトコル バージョン>
暗号スイートがサポートする最小プロトコル バージョン (TLSv1.2 など)。一部の暗号スイートは以前のプロトコル バージョンと下位互換性があるため、これは暗号スイートが最初に定義されたプロトコル バージョンと必ずしも同じではないことに注意してください。
「最小」に注意してください。DHE-RSA-AES256-SHA
は SSL3、TLS1.0、TLS1.1、TLS1.2 で使用できるため、最小バージョンは SSL3 です。
1.2の古いスイートを使用するのはない好ましいまたはベストプラクティス特に、AEAD を使用する新しいスイート (最初は GCM と CCM、次に ChaCha/Poly) は、少なくとも encrypt-then-mac (RFC7366) がない場合にはセキュリティ プロパティが向上します。encrypt-then-mac は 2014 年まで公開されず、AEAD がすでに存在していたため広く実装されていませんでしたが、OpenSSL によって許可およびサポートされており、ciphers
コマンドの出力にこれが反映されています。
1.2を要求する場合は、互換性をほとんど損なうことなく、暗号スイートをAEADに制限することもできます(ただし、いくつかの1.2 をサポートするが、新しい AEAD スイートではなく古いスイートのみをサポートする Java 7 などの実装。