[Postfixbuch-users] TLS - Anonymous vs. Untrusted

Andreas Schulze andreas.schulze at datev.de
Fr Sep 6 13:17:29 CEST 2013


Am 06.09.2013 10:52 schrieb Timm Schneider:
> ok, das habe ich verstanden, aber ich fordere auch keines an, zumindest
> steht das ask cert nicht in meinem cf file drin, und trotzdem steht bei
> Dir Trusted drin, das verstehe ich dann nicht.

Du muss bei dem Spiel immer Client und Server unterscheiden.
Du bis beim Versenden der Client. Die Gegenstelle ist der öffentliche MX-Server.

Als Client rennst Du los und baust eine TLS-Verbindung auf. Der Server präsentiert dabei
ungefragt sein Zertifikat. Das kannst Du als Client in jedem Fall validieren und bekommtst ev. eine Trusted TLS Session.

Der Server hingegen, sieht einen Client, dem er ungefragt sein Zertifikat schickt. Der hält halt einfach
mal seinen Ausweis in die Landschaft. *Wer* da draußen der Cleint ist, interessiert primär nicht.
Daher kann er nur "Anonymous" loggen. Erst, wenn der Server seinerseits auch vom Client ein Zertifikat anfordert,
kennt er den im TLS-Sinn und kann dann einen Trust aufbauen.

Und genau das soll ein MX-Server nicht tun: jeden dahergelaufenen Client fragen, ob er denn auch ein Zertifikat hat.
Lt. Wietse würde das mit irgendwelchen kaputten Clients mehr schaden als nutzen.

Ich persönlich habe da recht wenig Probleme gehabt. Falls es doch klemmt, wird der kaputte Client einfach
ohne STARTTLS bedient (smtpd_discard_ehlo_keyword_address_maps)

Eine Falle gibt es aber noch, wenn man als MX-Server Client-Zertifikate anfordert.
Wenn man das tut, will man die natürlich auch gegen eine Trusted-CA Liste validieren.
Sonst wäre das ja sinnfrei.

Dazu muss man dem SMTP-Server also auch eine Liste der valieden CAs mitgeben.
Nutzt man dazu smtpd_tls_CAfile, wird die komplette Liste aller CA-Namen im TLS Handshake übertragen.
Wenn man sich einen typischen CA-Store mit > 100 CAs anschaut, kommen da gut und gerne einige KB zusammen.
Das bringt in der Tat einige Clients zum Husten...

Daher sollte man am SMTP-Server die Version smtpd_tls_CApath wählen.
Das Problem ist auf http://www.postfix.org/TLS_README.html auch beschrieben:

"When you configure the Postfix SMTP server to request client certificates,
 the DNs of certificate authorities in $smtpd_tls_CAfile are sent to the client,
 in order to allow it to choose an identity signed by a CA you trust.
 If no $smtpd_tls_CAfile is specified, no preferred CA list is sent,
 and the client is free to choose an identity signed by any CA.
 Many clients use a fixed identity regardless of the preferred CA list
 and you may be able to reduce TLS negotiation overhead by installing
 client CA certificates mostly or only in $smtpd_tls_CApath.
 In the latter case you need not specify a $smtpd_tls_CAfile.
"

Andreas

-- 
Andreas Schulze
Internetdienste | P252

DATEV eG
90329 Nürnberg | Telefon +49 911 319-0 | Telefax +49 911 319-3196
E-Mail info @datev.de | Internet www.datev.de
Sitz: 90429 Nürnberg, Paumgartnerstr. 6-14 | Registergericht Nürnberg, GenReg Nr.70
Vorstand
Prof. Dieter Kempf (Vorsitzender)
Dipl.-Kfm. Wolfgang Stegmann (stellvertretender Vorsitzender)
Dipl.-Kfm. Michael Leistenschneider
Dipl.-Kfm. Dr. Robert Mayr
Jörg Rabe v. Pappenheim
Dipl.-Vw. Eckhard Schwarzer
Vorsitzender des Aufsichtsrates: Reinhard Verholen



Mehr Informationen über die Mailingliste Postfixbuch-users