Wie erzwinge ich in Postfix 2.11 einen eigenen Chiffrensatz?

Wie erzwinge ich in Postfix 2.11 einen eigenen Chiffrensatz?

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.

smtpWie 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.cfmö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 postconfsagt: „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

verwandte Informationen