[Postfixbuch-users] smtp sasl authentication

Marcel Hartmann mail at marcel-hartmann.com
Mi Dez 14 17:20:27 CET 2005


Hallo Uwe,

> hier dient ein zentraler Postfix (2.1.1) als Gateway zur
> Einlieferung von
> Mails an einen Exchange-Server (Version gerade nicht parat).
>
> Dies soll nun mit Authentisierung geschehen, was grundsätzlich auch
> funktioniert.
>
> Ein paar kleine Haken gibt es aber schon noch:
>
> 1.) AUTH
>
> Der Exchange sendet:
>
> 250-AUTH GSSAPI NTLM LOGIN
> 250-AUTH=LOGIN
>
> Da Postfix auch die "AUTH=" explizit interpretiert, fällt
> offensichtlich nur
> "LOGIN" heraus. Dies scheint mir ein Konfigurationsproblem
> bei Exchange zu
> sein - weiß jemand, ob man das dort beheben kann?

Also ich verstehe Dich zwar nicht 100%ig, aber versuche es einmal. :-)
Die AuthMechs die er anzeigt, sind die welche er unterstützen kann.
Wenn also der Exchange nur AUTH=LOGIN hat, dann kannst Du nicht mit PLAIN
oder
CRAM-MD5 mit dem client am server authen. Dem postfix kann man diese Mechs
beibringen, indem man die entsprechenden Pakete vom Cyrus-sasl mit
installiert.

cyrus-sasl-md5-2.1.19-3
cyrus-sasl-plain-2.1.19-3
...

> 2.) GSSAPI
>
> Wenn Exchange sich dann mal ordentlich melden sollte und auch
> GSSAPI korrekt
> anbietet, kann ich dem Postfix smtp beibringen, GSSAPI
> ausschließlich mittels
> einer keytab zu benutzen?
>
> Lt. Manpage scheint dies nicht zu gehen (man 5 postconf: "If
> a remote host or
> domain has no username:password entry, then the Postfix SMTP
> client will not
> attempt to authenticate to the remote host").
>
> Ohne username:password geht es also offensichtlich nicht,
> aber vielleicht
> doch, indem statt username:password dort der Service Principal steht.
>
> Hat jemand Erfahrungen?

Ich bin nicht DER Profi, aber kann man die beiden MTAs nicht mit TLS
connecten? Dann gibs’t Du dem postfix den exchange als relayhost mit
und sagst ihm dann, dass er sich beim Einliefern wie ein Client am
Exchange Server anmelden soll.

> 3.) Eine letze Überlegung: während der smptd
> normalerseise /usr/lib/sasl2/smtpd.conf nutzt, würde man
> denken, der smtp
> nutzt /usr/lib/sasl2/smtp.conf. Dem ist aber nicht so?

smtpd!=smtp

es gibt nur eine smtpd.conf in /usr/lib/sasl2/ ! smtp schaut in /etc/pam.d/
nach.

Also in /usr/lib/sasl2/smtpd.conf steht drinnen, wo der smtpd die Auth-Infos
bei einem connect finden kann. Dazu kann man diese oben genannten Authmechs
hier angeben:

pwcheck_method: saslauthd
mech_list: LOGIN PLAIN

Dies würde bedeuten, das er den saslauthd nutzt, und den clients LOGIN und
PLAIN
als Authetifizierungsmethode bereit stellt. (Sofern diese auch installiert
sind!)
Man kann auch die Reihenfolge einstellen in der er die Mechs durchgeht, dies
ist
bei meinen Mac Clients der Fall. Der Entourage kann wohl nur LOGIN, daher
ist dies
die erste die er anwendet wenn ein User connectet.

der smtp schaut bei einer Konfiguration mit pam_mysql und saslauthd mittels
der
in /etc/pam.d/ abgelegten Dateien nach den usern die versenden dürfen. Hier
liegen
z.B. smtp, imap und pop in denen steht wo er nach den usern suchen soll.
Bsp. MySQL.

Ich hoffe etwas geholfen zu haben. :)

Gruß
  Marcel Hartmann






Mehr Informationen über die Mailingliste Postfixbuch-users