HI Patrick, HI all!

Mit der Postfix-Option smtp_tls_policy_maps kann ich ja für beliebige Ziel-Domains eine abweichende Gewichtung bei der nötigen
TLS-Verschlüsselung erreichen.(1)

Das Ganze funktioniert ja soweit recht einfach und gut - wenn, und
jetzt kommt die Einschränkung - wenn es eine Zieldomäne ohne Backup-MX
betrifft.

Wie, was ich da meine? O.K. ich erklär es mal an einem Beispiel.

Fall 1:
=======
Die Domäne example.edu hat nur einen MX-Record mit Namen mx01.example.edu

Auf meinem Mailserver habe ich nur definiert:
/etc/postfix/main.cf:
    smtp_tls_policy_maps = hash:/etc/postfix/tls_policy_maps


/etc/postfix/tls_policy:
    example.edu       encrypt


Versucht nun mein MX eine eMail bei mx01.example.edu abzuliefern,
macht er das nur, wenn eine trusted TLS-Connection zu
mx01.example.edu zu Stande kommt. Kann keine TLS-Verbindung
hergestellt werden, wir die eMail gequeuet mit all den Folgen. Also
entweder wird solange versucht die Mail zuzustellen, bis auch eine
TLS-Verbindung zu Stande kam, oder sie wird gebounced. Also hier
stimmt dier Erwartung mit dem Ergebnis 100% überein.


Fall2:

Die Domäne example.com hat nicht nur einen MX-Record sondern 2!
example.com.             86400   IN      MX      10 mx01.example.com.
example.com.             86400   IN      MX      20 mx01.example.net.

Die Domäne hat also eine Haupt MX und als Backup-MX fungiert der
Mailserver mx01.example.com.

Auf meinem Mailserver habe ich nur definiert:
/etc/postfix/main.cf:
    smtp_tls_policy_maps = hash:/etc/postfix/tls_policy_maps

/etc/postfix/tls_policy:
    example.com       encrypt
    example.net       encrypt

Dann versuchen wir doch mal ein paar eMails zu verschicken:

Test1:
Klappt das mit der TLS-Verschlüsselung, wird die eMail brav
zugestellt, im Idealfall an den Server mit der niedrigeren Priiorität,
in dem Beispiel also mx01.example.com

Test2:
Beim Server mx01.example.com klappt die TLS-Verbindung warum auch
immer nicht. Was erwarten wir? Na, die Nachricht soll auf dem zweiten
MX mx01.example.net mit der Priorität 20 zugestellt werden. Das macht der Server auch und schickt die Nachricht dann via TLS
(mx01.example.net hat als Standard smtpd_tls_security_level = may
gesetzt) an mx01.example.net

Test3:
Unser eigener Server (Client) soll laut Definition mit den Zielservern
von example.com und example.net nur über eine verschlüsselte
Verbindung kommunizieren und versucht nun eine eMail an
[email protected] zu senden. Laut MX-Record im DNS weiss mein Server,
dass er als erstes sein Glück beim Server mx01.example.com versuchen
soll. Leider klappt die TLS-Verbindung nicht, also wir mein Serveres
wo versuchen? Genau beim Backup-MX. Leider klappt dort der
TLS-Handshake auch nicht.

      Tja was erwarten wir? Die Nachricht wird zurückbehalten und an einem
      der beiden zuständigen MXe zugestellt, sobald der TLS-Kanal zu stande
      kommt- dauerts zu lange wird gebounced.
      Was passiert? <trommelwirbel> die Nachricht wird von meinem MX beim
      backup-MX mx01.example.net *ohne* TLS-Verbindung zugestellt! *möp*

Also passiert genau das, was wir nicht wollten, die Nachricht wird
unverschlüsselt übertragen, genau das, was wir mit der Konfiguration
von smtp_tls_policy_maps eigentlich verhindern wollten. :/

So und nun ist der große Meister dran. Wie kann ich meinem
Postfix-Client zwingen, bei gesetzter zwingenden TLS-Verschlüsselung
auch wirklich nur zu senden, wenn der TLS-Channel auch wirklich zur
Verfügung gestellt und das gleichgültig auf welchen MXer ich rauskomme?

Any idea? Ich für meinen Teil, steh erst mal etwas arg ratlos da!


Servus
Django

(1) http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps
--
http://dokuwiki.nausch.org
http://wetterstation-pliening.info
http://ebersberger-liedersammlung.de

Attachment: pgpwcVmvGJJBw.pgp
Description: Digitale PGP-Signatur

Antwort per Email an