Problem bei der Verwendung von Postfix als Authentifizierungs-SMTP-Client-Relay für Exchange 2010

Problem bei der Verwendung von Postfix als Authentifizierungs-SMTP-Client-Relay für Exchange 2010

Ich verwende Postfix, um E-Mails an Exchange 2010 weiterzuleiten. Hier ist meine Konfiguration:

relayhost = [smtp.exchange.2010]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_passwd
smtp_sasl_security_options =
#smtp_sasl_mechanism_filter = ntlm

(/etc/postfix/relay_passwd enthält Anmeldeinformationen einiger Konten bei Exchange) Mit dieser Konfiguration kann ich E-Mails an Exchange weiterleiten. Das Problem ist: Die von Postfix gesendete Nachricht hat den Header:

X-MS-Exchange-Organization-AuthAs: Anonymous

und die Nachricht wird im Exchange-System wie eine nicht authentifizierte Nachricht behandelt (d. h. beim Senden an eine Verteilergruppe ist eine Authentifizierung des Absenders erforderlich. Ich erhalte die Fehlermeldung: #550 5.7.1 RESOLVER.RST.AuthRequired; Authentifizierung erforderlich ##rfc822;[email geschützt]). Ich verwende Outlook mit demselben Konto wie in Postfix und es kann problemlos senden. Der Unterschied, den ich zwischen den beiden Fällen festgestellt habe, ist: Outlook sendet mit NTLM-Authentifizierungsmechanismus, Postfix verwendet LOGIN-Mechanismus. Irgendeine Idee?

Antwort1

Laut AlexRobinsons Antwort liegt das Problem bei Postfix. Dies wurde (standardmäßig) in Postfix 2.9 und höher behoben: http://www.postfix.org/postconf.5.html#smtp_send_dummy_mail_auth

[Incompat 20111106] To work around broken remote SMTP servers, the
Postfix SMTP client by default no longer appends the "AUTH=<>"
option to the MAIL FROM command.  Specify "smtp_send_dummy_mail_auth
= yes" to restore the old behavior.

Antwort2

Ich habe das gleiche Problem. Und es verursacht Probleme, wenn die E-Mail an eine Gruppe und nicht an eine Einzelperson gesendet wird. Der Exchange-Server sendet nicht an Gruppen, wenn die Nachricht nicht AUTH'd ist. Aber wenn Postfix so eingestellt wurde, dass es sich durch Anmelden authentifiziert, warum ist die E-Mail dann nicht AUTH'd? Hinweis: Wenn Sie Telnet verwenden, um die E-Mail zu senden, wird die E-MailWilleAUTH'd sein. Der Header, den die E-Mail haben wird, wird X-MS-Exchange-Organization-AuthAs: Internal(in meinem Fall) sein. Und die E-Mail wird an Gruppen gehen!

Folgendes habe ich herausgefunden (indem ich die Peer-Protokollierungsebene von Postfix auf 4 gesetzt habe): Postfix sendet den SMTP-Befehl Mail From: ...... AUTH=<>. Lassen Sie das AUTH=<>weg und alles ist gut. Geben Sie es ein und Exchange sagt: .... Anonymous.

Ich versuche jetzt herauszufinden, warum Postfix lügt.

Ah. Gefunden. Zeile 1358 von smtp_proto.cPostfix v2.8. Fest codiert. Naja. Das ist sehr bedauerlich. Der Code ist aus Sicherheitssicht völlig korrekt, aber nicht korrekt, wenn Sie die Kontrolle darüber haben, wer in Ihrem Postfix-SMTP-Client an diesen SMTP-Sendecode gelangt.

/* postfix: smtp_proto.c 
#ifdef USE_SASL_AUTH                                                     
    if (var_smtp_sasl_enable                                      
    && (session->features & SMTP_FEATURE_AUTH))                     
    vstring_strcat(next_command, " AUTH=<>");                        
#endif

An diesem Punkt weiß ich nicht, was ich tun soll, außer den Patch zu installieren smtp_proto.cund Postfix von Grund auf neu zu erstellen. Igitt.

verwandte Informationen