Unterschied und Konfiguration zwischen obligatorischem SMTP/SMTPD und „nicht obligatorisch“ von Postfix

Unterschied und Konfiguration zwischen obligatorischem SMTP/SMTPD und „nicht obligatorisch“ von Postfix

Drei Fragen:

  1. Korrigieren Sie mich, wenn ich falsch liege:
    smtpd_tls_mandatory_ciphers=> Einstellungen für eingehende obligatorische TLS-Verschlüsselung
    smtpd_tls_ciphers=> Einstellungen für eingehende opportunistische TLS-Verschlüsselung
    smtp_tls_mandatory_ciphers=> Einstellungen für ausgehende obligatorische TLS-Verschlüsselung
    smtp_tls_ciphers=> Einstellungen für ausgehende opportunistische TLS-Verschlüsselung
  2. Wenn ich sowohl smtpd_tls_security_levelals auch smtp_tls_security_levelauf setze may, sind dann nur die opportunistischen Einstellungen relevant. Das heißt, es spielt keine Rolle, was ich bei den obligatorischen Einstellungen einstelle?
  3. Wenn ich einen sicheren, aber dennoch öffentlichen Mailserver erstellen möchte, wäre die folgende Konfiguration (in Bezug auf die verwendete Kryptografie) in Ordnung? Ich bin mir nicht ganz sicher, wie viele Server derzeit TLS unterstützen oder welche Sicherheitsstufen im Allgemeinen gelten, aber ich möchte dennoch mit den meisten von ihnen kommunizieren können.

    smtpd_tls_mandatory_ciphers = high
    smtp_tls_mandatory_ciphers = high
    smtpd_tls_ciphers = high
    smtp_tls_ciphers = high
    smtp_tls_security_level = may
    smtpd_tls_security_level = may
    
    smtp_tls_protocols = !SSLv2, !SSLv3
    smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
    smtpd_tls_protocols = !SSLv2, !SSLv3
    smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
    
    smtp_tls_exclude_ciphers = aNULL, DES, RC4, MD5
    smtpd_tls_exclude_ciphers = aNULL, DES, RC4, MD5
    #hope this is enough since it is also added to the mandatory exclusions
    smtp_tls_exclude_ciphers = aNULL, DES, RC4, MD5
    smtpd_tls_exclude_ciphers = aNULL, DES, RC4, MD5
    

Hintergrund:Es ist für ein sicherheitsorientiertes Unternehmen mit ziemlich hohen SicherheitsstandardsABERIch möchte außerdem nicht, dass bei dieser Konfiguration E-Mails verloren gehen.

PS:Ich habe die Erklärung für dieKonfigurationsparameterund daher stammt auch der Großteil meines Wissens.

Antwort1

  1. Betreffendsmtp[d]_tls_[mandatory_]ciphers

Ja.

  1. Wenn ich sowohl smtpd_tls_security_levelals auch smtp_tls_security_levelauf „dürfen“ setze, sind dann nur die opportunistischen Einstellungen relevant. Das heißt, es spielt keine Rolle, was ich bei den obligatorischen Einstellungen einstelle?

Ja.

  1. Wenn ich einen sicheren, aber dennoch öffentlichen Mailserver erstellen möchte, wäre die folgende Konfiguration (hinsichtlich der verwendeten Kryptografie) in Ordnung?

Sie deaktivieren SSL und beschränken die Chiffren, aber unverschlüsselter Datenverkehr ist weiterhin zulässig. Für die Kommunikation mit anderen Mailservern halte ich eine schlechte Verschlüsselung für besser als gar keine.

Um das Papier zu zitierenAngewandte Kryptohärtung (ACH)vonBessercrypto:

Postfix verfügt über fünf interne Chiffrierlisten und die Möglichkeit, mit zwischen diesen zu wechseln smtpd_tls_ciphers. Für Server-zu-Server-Verbindungen belassen wir dies jedoch auf dem Standardwert, da viele Mailserver nur veraltete Protokolle und Chiffrierverfahren unterstützen. Wir halten eine schlechte Verschlüsselung immer noch für besser als die Übertragung von Klartext. Für Verbindungen zu MUAs ist TLS obligatorisch und die Cipher Suite wird geändert.

Für die Verbindungen zu Mailclients ist es sehr sinnvoll, die verwendeten Chiffren und Protokolle einzuschränken und gute zu bevorzugen.

MX- und SMTP-Clientkonfiguration: Wie in Abschnitt 2.3.1 erläutert, schränken wir aufgrund der opportunistischen Verschlüsselung die Liste der Chiffren oder Protokolle für die Kommunikation mit anderen Mailservern nicht ein, um die Übertragung im Klartext zu vermeiden.

Die empfohlene Konfiguration ist die folgende:

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
# use 0 for Postfix >= 2.9, and 1 for earlier versions
smtpd_tls_loglevel = 0
# enable opportunistic TLS support in the SMTP server and client
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
smtpd_tls_eecdh_grade=ultra

Und dies für master.cf:

submission inet n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o tls_preempt_cipherlist=yes

Mit der gegebenen Ciphersuite bevorzugt der Server die besten verfügbaren Cipher, wenn möglich auch Perfect Secrecy, und unterstützt auch alle relevanten Clients, ohne schlechte Cipher zuzulassen. Weitere Einzelheiten finden Sie im verlinkten Dokument, es enthält sehr detaillierte Informationen zu den Empfehlungen, einschließlich der Theorie. Die Erklärungen zum oben zitierten Postfix-Abschnitt stammen von mir (und wurden von vielen anderen überprüft).

verwandte Informationen