Postfix smtpd_tls_security_level

Paradise

New Member
Hallo,

ab Postfix 2.3 ersetzt ja "smtpd_tls_security_level" das "smtpd_use_tls" und das "smtpd_enforce_tls".

Jetzt lese ich aber woanders man soll "smtpd_enforce_tls" auf no setzen weil:
Damit wird eine ausdrückliche Verwendung von TLS unterbunden, da z.B. viele Mailserver nicht via TLS mit anderen Mailservern, in diesem Fall mit unserem Mailserver, kommunizieren.
Ist da was dran?
Dann wäre ja "smtpd_tls_security_level" nur mit "may" anstelle von "encrypt" zu gebrauchen, da "encrypt" ja ""smtpd_enforce_tls" auf yes setzt.

Nur mit "may" erlaube ich ja wieder das man Thunderbird, Outlook usw ohne TLS verwenden kann.
 
Ach eh quatsch. Ich nutz doch Dovecot und da hab ich doch
disable_plaintext_auth = no

Nur um nochmal sicher zu gehen.
Postfix
smtpd_tls_security_level = may
ist das selbe wie
smtpd_use_tls = yes
smtpd_enforce_tls = no
smtpd_tls_auth_only = yes
Also MailServer haben keine Komunikationsschwierigkeiten.

Da die MailClienten bei mir ja mit Dovecot und nicht Postfix komunizieren
kann ich da ja da einstellen das TLS verwendet werden muss und
disable_plaintext_auth = no
hat keinen einfluss auf die Komunikation zwischen den MailServern.

In sasl hab ich:
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
saslauthd_path: /var/run/saslauthd/mux
autotransition:true
Ist das so in Ordnung?


Bei den 1000 TLS Einstellungen muss man alles 100 mal lesen
und dann fängt man wieder von vorne an weil das eine das andere mit drin hat oder überschreibt :rolleyes:

Machts eigentlich nen Unterschied ob Dovecot oder Cyrus solangs läuft. Die meisten nehmen wohl Cyrus wenn ich das so richtig seh.
 
Last edited by a moderator:
Da die MailClienten bei mir ja mit Dovecot und nicht Postfix komunizieren kann ich da ja da einstellen das TLS verwendet werden muss ...

Jein! Ganz ohne Kommunikation mit Postfix geht es leider nicht, denn Dovecot und Cyrus, etc. halten die Mails nur zur Abholung bereit (was dann über TLS gesichert geschieht). Wenn Du aber auch Mails vom Mailclient aus verschicken willst, muss dieser mit Postfix kommunizieren. Dazu brauchst Du die zwei Modi:
  1. unverschlüsselt: Für alle anderen Mailserver, die Mails für Deine Domains anliefern
  2. verschlüsselt: Für Deine Mailclients, die Mail an andere Mailserver verschicken wollen. Da nicht jeder x-beliebige SPAMMER über Deinen Server relayen können soll, verwendest Du dazu ja SMTP-AUTH. Damit dabei Dein Passwort nicht abgegriffen werden kann, wird dabei auf Verschlüsselung via TLS zurückgegriffen. Das ESMTP-Protokoll bietet dafür den Befehl "STARTTLS", bei dem der MTA (Postfix) und der MUA (Thunderbird, Outlook, etc.) die Verschlüsselung via SSL aushandeln und erst danach mit dem restlichen Protokoll weiter machen.

Das ganze kannst Du einfach testen:
Code:
telnet smtp.1und1.de smtp
[COLOR="RoyalBlue"]Trying 212.227.15.167...
Connected to smtp.1und1.de (212.227.15.167).
Escape character is '^]'.
220 smtp.1und1.de (mrelayeu6) Welcome to Nemesis ESMTP server[/COLOR]
EHLO dyn-123.456.222.111.meinprovider.ch.
[COLOR="RoyalBlue"]250-mrelayeu6.kundenserver.de pleased to meet you
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-PIPELINING
250-SIZE 52428800
250 HELP[/COLOR]
STARTTLS
[COLOR="RoyalBlue"]220 Go ahead[/COLOR]

^]
[COLOR="RoyalBlue"]telnet>[/COLOR] quit
[COLOR="RoyalBlue"]Connection closed.[/COLOR]
Die schwarzen Textteile sind von mir eingegeben, die blauen stellen die Antworten des 1&1 MTA dar: Nach meiner Begrüßung mit "EHLO" antwortet der MTA mit einer Liste welche Optionen er unterstützt. Da dort "STARTTLS" vorkommt, kann ich es auswählen und bekomme die Aufforderung im Protokoll fortzufahren (das dann allerdings nicht mehr via ASCII-Text funktioniert und man daher das telnet auch mit "STRG-]" und "quit" beenden muss). Wenn das TLS läuft würde man dann als nächstes mit AUTH... weiter machen, da der MTA einen andernfalls nicht relayen lassen würde.

Fazit: wenn Dein Postfix beim EHLO das "STARTTLS" anbietet und Du trotzdem auch noch Mails (aber ausschließlich nur für Deine Domains!) ohne vorheriges "STARTTLS" abliefern kannst (siehe mein Post hier: [POST]139078[/POST]), ist Postfix richtig konfiguriert.

Viele Grüße,
LinuxAdmin
 
Last edited by a moderator:
telnet smtp.paradise-bodies.com smtp
Trying 85.214.20.72...
Connected to smtp.paradise-bodies.com.
Escape character is '^]'.
220 xxxxx.serverkompetenz.net ESMTP Mailserver
EHLO xxxxx.serverkompetenz.net
250-xxxxxx.serverkompetenz.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
STARTTLS
220 2.0.0 Ready to start TLS
^]
Connection closed by foreign host.

telnet localhost smtp
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 xxxxxx.serverkompetenz.net ESMTP Mailserver
ehlo example.com
250-xxxxxxx.serverkompetenz.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:<steve@example.com>
250 2.1.0 Ok
rcpt to:<john@example.com>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Eine Testmail.
.
250 2.0.0 Ok: queued as C2872510001
quit
221 2.0.0 Bye
Connection closed by foreign host.

telnet localhost pop3
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user xxxxatparadise-bodies.com
+OK
pass xxxxx
+OK Logged in.
list
+OK 0 messages:
.
quit
+OK Logging out.
Connection closed by foreign host.

Sollte alles gehen, wenn ich das richtig sehe. AUTH geht ja, sonst könnte ich mit Thunderbird nicht mit TLS abrufen/verschicken. Und imap zu testen war ich jetzt zu faul :o .

Noch eine frage zum
myhostname und smtpd_banner.
Server ist Strato und hat eben xxxxxx.serverkompetenz.net. Ich nehme mal an das das auch so in der hosts stehen bleiben muss, oder?
Dann habe ich die Domains bei Schlund.

Muss in smtpd_banner "$myhostname" stehen?
Kann man in myhostname irgentwas eingeben? Oder muss da das xxxxxx.serverkompetenz.net rein. Und wenn nicht welche Domain kann da rein. Geht da eine von Schlund die per MX umgeleitet ist?

Ich mein das blöde ist ja das so im MailHeader xxxxxx.serverkompetenz.net steht.
 
Server ist Strato und hat eben xxxxxx.serverkompetenz.net. Ich nehme mal an das das auch so in der hosts stehen bleiben muss, oder?

Wenn Du es verwendest (s.u.) Ja! Andernfalls solltest Du auch den hostname (siehe [man]hostname[/man]) ändern. Wenn Du das machst, solltest Du auch unbedingt den PTR-Record für die IP ("RDNS") anpassen (s.u.).

Muss in smtpd_banner "$myhostname" stehen?
Kann man in myhostname irgentwas eingeben? Oder muss da das xxxxxx.serverkompetenz.net rein.

Wenn es Dich wirklich stört, kannst Du da auch einen Hostnamen aus Deiner Domain eintragen (wie z.B. mx1.mydomain.de, muss im DNS existieren). Allerdings solltest Du unbedingt darauf achten, dass auch der PTR-Record im DNS, der für die IP-Adresse Deines Servers zuständig ist, auf genau diesen Namen weist (und umgekehrt auch "mx1.mydomain.de" auf Deine IP-Adresse zeigt). Dann sind die Chancen deutlich höher, dass andere MTAs Deine Mails annehmen ;)

Andererseits ist der SMTP-Banner lediglich für die maschinelle Verarbeitung gedacht -- normale Benutzer bekommen ihn nie zu Gesicht (nur, wenn sie die Header einer Mail ganz genau anschauen). Du musst selber wissen, ob sich der Aufwand lohnt...

Viele Grüße,
LinuxAdmin
 
Ok, dann bleibts. Wäre zwar anders schöner, aber wieviele (auser nem Admin) schauen in den Mailheader :)

Ich dank die für deine ausführliche hilfe und hoffe meine fragen waren nicht zu blöd.
 
Nur um nochmal sicher zu gehen.
smtpd_tls_security_level = may

ist das selbe wie
smtpd_use_tls = yes
smtpd_enforce_tls = no
smtpd_tls_auth_only = yes

Nein, Achtung!
(Es tut mir wirklich leid, schände ich eine "Thread Leiche" von 2008. Er ist in den Suchresultaten gerne oben, und hat auch mir geholfen.)

Wenn ich nur

smtpd_tls_security_level = may

aktiviere, bietet mein Postfix kein TLS an. Inzwischen benutze ich diese Kombination, ohne obige "may" option (postfix 2.11 Debian8):

smtpd_use_tls = yes
smtpd_enforce_tls = no

Das hilft. StartTLS ist damit optional verfügbar. Kann hier verifiziert werden: https://www.checktls.com/perl/TestReceiver.pl

Vorhin hatte ich smtpd_enforce_tls=yes (hab mir nur gutes davon versprochen) und nach 2 Jahren das erste mal reported bekommen die Mails werden von meinem Server nicht angenommen... Gott bin ich erschrocken! Es gibt also auch 2016 noch Server, die kein StartTLS ausgehend sprechen ;- )
 
Wenn ich nur
Code:
smtpd_tls_security_level = may
aktiviere, bietet mein Postfix kein TLS an. Inzwischen benutze ich diese Kombination, ohne obige "may" option (postfix 2.11 Debian8):

Dann hast du irgendeine andere Konfigurationseinstellung, die damit kollidiert, denn STARTTLS wird mit o.g. Einstellung sehr wohl von Postfix angeboten.

Vorhin hatte ich smtpd_enforce_tls=yes (hab mir nur gutes davon versprochen) und nach 2 Jahren das erste mal reported bekommen die Mails werden von meinem Server nicht angenommen... Gott bin ich erschrocken! Es gibt also auch 2016 noch Server, die kein StartTLS ausgehend sprechen ;- )

Als u.a. United Internet (und einige andere) 2013 mit "Email made in Germany" anfingen, haben gerade die GMX und Web.de Server sich sehr lange geziert, TLS zu verwenden und lieber unverschlüsselt eingeliefert (ob man da wohl seine Eigenbaulösung pushen wollte?), während Google schon sehr lange seine Mails verschlüsselt hier abgekippt hat. Gerade Newsletter-Versender liefern hier immer noch gerne ihre Mails unverschlüsselt ab...
 
Back
Top