Dies sollte es tun, wenn Sie die Standardeinstellungen zum Starten verwenden:
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL:!SSLv3'
Es behandelt auch TLS1.1, TLS1.0 und SSLv2 in neueren Versionen von openssl. (Informationen zum + 3DES-Hack finden Sie in den Postgresql-Dokumenten. Es scheint in neueren Versionen von openssl behoben worden zu sein.)
Wenn nicht oder wenn Sie expliziter sein möchten, fügen Sie einfach Folgendes hinzu: ':!SSLv2:!SSLv3:!TLSv1'
TLSv1.1
ist ebenfalls veraltet, daher empfehle ich auch das Anhängen ':!TLSv1.1'
Dies ergibt eine endgültige "sichere" Verschlüsselungszeichenfolge basierend auf der Standardeinstellung wie folgt:
HIGH:MEDIUM:+3DES:!aNULL:!SSLv2:!SSLv3:!TLSv1:!TLSv1.1
Sie können mit Ihrer Version von openssl Folgendes testen:
openssl ciphers -v MY_CIPHER_STRING | column -t
Hier werden alle Chiffren aufgelistet, die in ihrem Protokoll enthalten sein werden.
Beispielausgabe mit der obigen Liste "sicherer" Chiffren (opensslv1.0.1):
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384
DHE-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=DSS Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256
DHE-DSS-AES256-SHA256 TLSv1.2 Kx=DH Au=DSS Enc=AES(256) Mac=SHA256
ECDH-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
ECDH-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
ECDH-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(256) Mac=SHA384
ECDH-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256) Mac=SHA384
AES256-GCM-SHA384 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(256) Mac=AEAD
AES256-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA256
ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD
ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD
ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256
ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA256
DHE-DSS-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=DSS Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(128) Mac=SHA256
DHE-DSS-AES128-SHA256 TLSv1.2 Kx=DH Au=DSS Enc=AES(128) Mac=SHA256
ECDH-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
ECDH-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
ECDH-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(128) Mac=SHA256
ECDH-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128) Mac=SHA256
AES128-GCM-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(128) Mac=AEAD
AES128-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA256
IN ACHT NEHMEN
Die Chiffresuite SSLv3 (ebenfalls TLSv1 usw.) wird auf alle von SSLv3 unterstützten Chiffren erweitert . Dies bedeutet, dass dieselben Chiffren auch in höheren Protokollen ausgeschlossen werden (sofern sie dort vorhanden sind).
Demonstrieren:
openssl ciphers 'TLSv1:!SSLv3'
Ausgabe:
Error in cipher list
139740792764064:error:1410D0B9:SSL routines:SSL_CTX_set_cipher_list:no cipher match:ssl_lib.c:1312:
Das heißt, da jede in SSLv3 verfügbare Verschlüsselung auch in TLSv1 verfügbar ist, werden keine Chiffren zurückgegeben.
Wie vom OP festgestellt, bedeutet dies, dass es keine Möglichkeit gibt, SSLv3 über die Verschlüsselungsliste zu deaktivieren, ohne dieselbe Verschlüsselung auch für höhere Protokolle auszuschließen
In der Praxis sollte dies nur zu einer besseren Sicherheit führen, kann jedoch Probleme für Personen mit Abwärtskompatibilitätsanforderungen verursachen ( muss TLSv1.0 unterstützen und kann beispielsweise SSLv3 nicht unterstützen).
Da TLSv1.1 keine neuen Chiffren enthält, wird es auch deaktiviert, wenn Sie es verwenden !SSLv3
.
Achtung!