[Postfixbuch-users] Adressverify und Exchange 2010

Sascha Peters postfix-list at novuage.de
Fr Mär 12 23:04:07 CET 2010


Andreas Schulze schrieb:
> Am 11.03.2010 18:33 schrieb Sascha Peters:
>> Ansonsten kann man/du es ja auch noch mal per Hand probieren.
> PIPELINING per Hand sprechen ist nicht so meins ...
> hat schonmal jemand das Perlmodul Net::SMTP::Pipelining benutzt ?

meinte eher auch das normale, also prüfen ob der Exchange diese Kombi 
von KORREKTEN Adressen akzeptiert wenn man "normal" mit Ihm spricht.


>> Ansonsten... stimmen die Daten aus dem Log, dann hast du ja auch keinen  
>> FQDN im EHLO gesendet. Genauso wie keine korrekte E-Mailadresse, da  
>> ebenfalls kein FQDN. Oder hast du das verfälscht?
> genau, die Adressen und Domains sind irrelevant und daher anonymisiert.

ok, aber der Sinn war klar, prüfen ob es eventuell einen Grund für die 
Ablehnung gibt ;-)


> ich habe mittlerweile  TCP-Traces und Exchange-Logs, die genau zeigen,
> dass der Exchange 2010 einfach die Leitung zumacht, *OHNE* Antworten zu senden.

Das er das macht ist nicht schön, aber vielleicht verständlicher wenn in 
den Logs steht WARUM er das macht.


> eine normale Mail mit PIPELINING läuft ungefähr so:
> C -> S tcpconnect
> S -> C 220 Serverident
> C -> S EHLO hostname
> S -> C 250-WAS_ICH_ALLES_KANN
> S -> C 250-DAS_AUCH_NOCH
> S -> C 250 OK
> C -> S MAIL FROM:<sender>
> C -> S RCPT TO:<recipient>
> C -> S DATA
> S -> C 250 Sender OK
> S -> C 250 Recipeint OK
> S -> C 354 Start mail input; end with <CRLF>.<CRLF>
> ...
> nun sendet der Cleint seine Daten.
> 
> Soweit klappt Pilelining.
> 
> Ein Adressverity läuft normal so:
> C -> S tcpconnect
> S -> C 220 Serverident
> C -> S EHLO hostname
> S -> C 250-WAS_ICH_ALLES_KANN
> S -> C 250-DAS_AUCH_NOCH
> S -> C 250 OK
> C -> S MAIL FROM:<sender>
> C -> S RCPT TO:<recipient>
> C -> S RSET
> C -> S QUIT
> S -> C 250 Sender OK
> S -> C 250 Recipeint OK    oder aber 550 User unknown
> # ... Exchange straft mich mit 5 Sekunden Wartezeit ( Tarpitting )
> # das ist wohl per default aktiv :-(
> S -> C 250 Resetting
> 
> -> für Postfix ist nun klar, ob's den Empfänger gibt oder nicht.
> 
> Mit Exchange 2010 passiert aber das:
> ...
> C -> S MAIL FROM:<sender>
> C -> S RCPT TO:<recipient>
> C -> S RSET
> C -> S QUIT
> S -> C 221 2.0.0 Service closing transmission channel
> ( und das steht so im tcpdump )

Ok, dann PIPE hin oder her, macht er das QUIT wohl vor allem anderen, 
bearbeitet unter Umständen also falsch und meint halt das zu tun was er 
vom Client gesagt bekommt.

Mach mal von Hand, und schau ob er das Grundsätzlich kann, und nehme 
dann mal das Pipelinig raus. Hab ich auch beim Exchange gemacht. Das ist 
aber ein 2007 und hab ich nur zur Sicherheit gemacht.


/etc/postfix/main.cf
smtp_discard_ehlo_keyword_address_maps = cidr:/etc/postfix/esmtp

/etc/postfix/esmtp
IP_EXCHANGE_2010       pipelining, etrn, starttls, beispiel


Wenn das per Hand geklappt hat, sollte das doch auch klappen. Und wenn 
dem so ist, dann zur Kenntnis nehmen ;) Und eben mitteilen, denn wir 
wollen/sollen vermutlich auch bald umstellen.


> Postfix bleibt im unklaren und gibt einen temporären Fehler zurück.
> 
> Der Exchange-Admin hat auch mal mit dem Tarpit gespielt.
>  - Tarpit 0 Sekunden ist kein Verify möglich,
>  - Tarpit 1 Sekunde und größer klappts auch wieder.
> Man hat hier eine weitere Möglichkeit, das Problem zu umschiffen.

Tarpit, was war das noch? Das stottern? Also quasi manuelles verhindern 
des pipelining, oder kann man das so nicht sagen?


> Die Exchange Admins machen jetzt erstmal einen Case bei Microsoft auf ...
> Ich löse das Problem inzwischen mit smtp_discard_ehlo_keyword_address_maps.

geht das, oder musst du das noch testen?


-- 

Gruß
Sascha



Mehr Informationen über die Mailingliste Postfixbuch-users