
Ich möchte einen eigenen Satz von TLS-Chiffre-Suiten erzwingen, anstatt die in Postfix integrierten zu verwenden.
Mein gewünschter Satz an Chiffren ist (aus der Nginx-Konfiguration entnommen):
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:-DES:!RC4:!MD5:!PSK:!aECDH:EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
Leider kann ich keinen Hinweis zum Überschreiben der Cipher Suites finden. Ich habe Hinweise gefunden, dass es möglich ist, aber nicht wie.
smtp
Wie würde die entsprechende Postfix-Konfiguration für und aussehen smtpd
?
Verwendet werden Debian/7, Postfix/2.11.2, OpenSSL/1.0.1e
Antwort1
AusAngewandte Kryptohärtungvonbessercrypto.org:
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtp_tls_loglevel = 1
# if you have authentication enabled, only offer it after STARTTLS
smtpd_tls_auth_only = yes
tls_ssl_options = NO_COMPRESSION
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_ciphers=high
tls_high_cipherlist=EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
[UPDATE: Da das Bettercrypto-Projekt, aus dem ich den Chiffre-String habe, nicht mehr aktiv ist, achten Sie darauf, Ihren Chiffre-String aus einer aktuellen Quelle auszuwählen.]
Möglicherweise master.cf
möchten Sie den Übermittlungsport nur auf TLS konfigurieren:
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o tls_preempt_cipherlist=yes
[UPDATE: Für TLS 1.3 sind weniger Chiffren verfügbar und die resultierende Chiffre unterscheidet sich von denen für TLS <= 1.2. Die gute Nachricht ist, dass nur sichere Chiffren erlaubt sind. Weitere Details hier: https://wiki.openssl.org/index.php/TLS1.3#Ciphersuites]
Dies schließt jedoch die Verwendung veralteter Chiffren für die Sicherheitsstufe nicht aus.Mai, entsprechendPull-Anfrage Nr. 97, können Sie dies tun mit:
smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3
Dies wurde jedoch aus folgendem Grund nicht zusammengeführt:
Ich werde dies schließen, SSLv3 macht hier Sinn, da es besser ist als der gute alte Klartext.
Antwort2
man postconf
sagt: „Es wird dringend empfohlen, diese Einstellung nicht zu ändern.“
Sie können es trotzdem tun, und zwar folgendermaßen:
smtp_tls_security_level = encrypt
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_ciphers=high
smtpd_tls_security_level = encrypt
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_ciphers=high
tls_high_cipherlist=ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:-DES:!RC4:!MD5:!PSK:!aECDH:EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
Ich gehe davon aus, dass dies experimentell ist und Sie sich keine Sorgen über den E-Mail-Fluss der meisten MTAs machen. Suchen Sie in den Postfix-Protokollen nach „Handshake-Fehlern“. Ich würde vorschlagen, zuerst mit smtp_ outgoing zu testen, damit Sie sehen können, was sich in der Warteschlange befindet, und keine lokal von nginx generierten SMTP-Sitzungen fehlschlagen sollten.
Antwort3
Es ist gut dokumentiert. Vonhttp://www.postfix.org/TLS_README.html#server_cipher
smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5