
Aktuelle OpenSSL-Version
OpenSSL 1.1.1d 10 Sep 2019 (Library: OpenSSL 1.1.1g 21 Apr 2020)
Aktuelle openssl.cnf
Konfiguration
Am Anfang der Datei
openssl_conf = default_conf
Am Ende der Datei
[default_conf]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=1
Es ist keine Ciphersuites
Richtlinie festgelegt.
Die unterstützte Verschlüsselungsliste unterscheidet sich von der Konfiguration
Wenn ich jedoch mit nach den aktivierten Chiffren frage openssl ciphers -s -v
, erhalte ich Chiffren wie:
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
Muss ich eine Einstellung definieren Ciphersuites
oder ist das openssl ciphers -s -v
irgendwie unzuverlässig?
Dokumentation
-SListen Sie nur unterstützte Chiffren auf: diejenigen, die mit der Sicherheitsstufe sowie der minimalen und maximalen Protokollversion übereinstimmen.
Während SecLevel 1 SSLv3 und TLSv1 zulässt, tut MinProtocol dies nicht.
Quellen:
Antwort1
Die meisten Cipher Suites sind mit mehr als einem Protokoll kompatibel.
Mit Ausnahme von TLS 1.3, das völlig separat ist, und SSL 2, das seit Jahrzehnten nicht mehr funktioniert und ab OpenSSL 1.1.0 (2016) nicht mehr implementiert ist, können die meisten SSL/TLS-Chiffre-Suites in mehr als einer Protokollversion verwendet werden. In chronologischer Reihenfolge werden alle in SSL 3 definierten Cipher-Suites außer den seltsamen staatlichen (Fortezza) immer noch in TLS 1.0 verwendet, und diese sowie die neuen, die in/für 1.0 definiert wurden (hauptsächlich EC), aber abzüglich der absichtlich abgeschwächten „Export“-Suites (die 2006 bereits veraltet waren), werden immer noch in 1.1 verwendet, das keine neuen Suiten definiert. 1.2 behält die meisten Suiten von 1.1 bei, abzüglich Single-DES, das schon lange vor 2008 als nicht funktioniert galt, sowie viele neue (mit AEAD und/oder SHA2).
Wie in derManpage für SSL_CIPHER_descriptionwas mit dem für Chiffren verknüpft ist:
<Protokollversion>
Die minimale Protokollversion, die die Cipher Suite unterstützt, z. B. TLSv1.2. Beachten Sie, dass dies nicht immer mit der Protokollversion übereinstimmt, in der die Cipher Suite zuerst definiert wurde, da einige Cipher Suites abwärtskompatibel mit früheren Protokollversionen sind.
Beachten Sie, dass „Minimum“ DHE-RSA-AES256-SHA
in SSL3 TLS1.0 TLS1.1 und TLS1.2 verwendbar ist, die Mindestversion ist also SSL3.
Die Verwendung der älteren Suiten in 1.2 istnichtbevorzugtoder bewährte Vorgehensweise, insbesondere weil die neuen Suiten, die AEAD verwenden (zuerst GCM und CCM, dann ChaCha/Poly), zumindest in Abwesenheit von „encrypt-then-mac“ (RFC7366) bessere Sicherheitseigenschaften haben, das erst 2014 veröffentlicht und nicht weithin implementiert wurde, weil AEAD bereits vorhanden war, aber es ist zulässig und wird von OpenSSL unterstützt und die Ausgabe des ciphers
Befehls spiegelt dies wider.
Wenn Sie also 1.2 benötigen, können Sie die Cipher Suites auch auf AEAD beschränken, ohne dass die Kompatibilität darunter leidet (obwohl esmancheImplementierungen, z. B. Java 7, die 1.2 unterstützen, aber nur mit älteren Suiten, nicht mit neuen AEAD-Suiten).