Hallo,
ich möchte mich gerne an meinem Smarthost via SSL-Zertifikat identifizieren, damit dieser dann den Relay erlaubt.
Auf der anderen Seite steht ein Postfix Server mit konfiguriertem TLS und den getrusteten RootCAs sowie den MD5-Checksummen für die Client-Zertifikate, die relayen dürfen. Postfix fordert ausserdem beim Aufbau einer Verbindung von einem anderen Server ein optionales Client-Zertifikat an (smtpd_tls_ask_ccert=yes).
Nun habe ich bereits seit Längerem die Übertragung über TLS aktiv und diese funktioniert auch problemlos. Die Authentifizierung würde ich nun allerdings gerne von SMTP-Auth auf Client-basierte Zertifikate umstellen. Das funktionierte bei einem meiner eigenen Exchange Server auch problemlos: Exchange baut die Verbindung zum Postfix auf, Postfix fragt ob ein Client-Zertifikat geliefert werden kann, Exchange liefer Client Zertifikat, Postfix vergleicht die MD5-Checksumme und die Validität des Client-Zertifikats und lässt die eMail passieren.
Nun habe ich noch einen anderen Exchange Server bei einem Kunden, bei dem es mir eigentlich viel wichtiger wäre, dass die zertifikatsbasierte Authentifizierung funktioniert. Dort handelt es sich um einen SBS2003-SP2, der Seitens Exchange eigentlich genauso konfiguriert wurde. Die eMails werden auch über TLS verschlüsselt an den Postfix Server übertragen, jedoch präsentiert Exchange trotz Anfrage von Postfix kein Client-Zertifikat, so dass die Authentifizierung immernoch über SMTP-Auth/SASL läuft. Beim Einliefern von eMails an dem Exchange Server jedoch bekommt der Postfix wiederrum jedoch genau das richtige Zertifikat zu sehen, es ist also vorhanden und korrekt installiert.
Der einzige Unterschied zwischen den beiden Servern ist: Mein Server hat eine offizielle IP-Adresse bzw. hat einen von mir festgelegten reverse-Lookup, auf den ein Zertifikat matched. Der Server beim Kunden ist über T-DSL mit einer dynamischen IP angebunden und hat demnach einen veränderbaren Reverse-Lookup, auf den auch kein Zertifikat ausgestellt ist. Das Zertifikat ist hier auf eine DynDNS-Adresse ausgestellt.
Ich vermute deshalb, dass der Exchange beim Kunden kein Zertifikat findet, welches er senden könnte. Deshalb drängt sich bei mir die Frage auf: In welcher Art und Weise wählt Exchange ein Client-Zertifikat beim Versenden von eMails über TLS aus und kann man das beeinflussen?
Ich würde mich freuen, wenn ihr mir helfen könntet. Hoffe ich habe alles so beschrieben, dass ihr versteht worum es geht
Gruss
Julian