AW: [Postfixbuch-users] saslfinger SMTP-AUTH sasldb2

Andreas Winkelmann ml at awinkelmann.de
So Aug 15 17:29:48 CEST 2004


Am Sonntag, 15. August 2004 16:34 schrieb Matthias Schaeffer:

> Du bist ja in so einigen Listen aktiv und weißt wovon Du sprichst, mein
> Problem liegt momentan nicht im Detail sondern eher darin, den Zusammenhang
> nicht zu verstehen. The Big Picture...

Aprospos "The Big Picture", da gab es die Tage einen Link in der cyrus-liste. 

http://www.postnewspapers.com.au/~craig/cyrus_authentication_map.sxd

Ist nicht verkehrt für's Verständnis.

> Der User antonius meldet sich auf Port 143 an und wird via sasldb2
> authentifiziert, das kann gar nicht anders sein, den er hat kein
> Systemkonto. Funktioniert auch, und kann Ordner anlegen.
>
> "sasl_pwcheck_mathod: auxprop" habe ich in imapd.conf zu stehen
>
> Mit den Daten aus der sasldb2 soll er jetzt auch versenden dürfen. Geht das
> so, ja oder nein?

Klar geht das.

> Wenn es so funktioniert, wer sagt den jetz Postfix: "der user hat sich
> gültig für den IMAP-Server angemeldet, er darf deshalb auch senden"?

Postfix ist das egal. Postfix benutzt wie der Cyrus-Imap auch die Cyrus-SASL 
Library. Welches Backend diese jetzt zum Überprüfen verwendet ist 
konfigurationssache. Du kannst natürlich beide Applikationen auf die sasldb 
zugreifen lassen. 

Im Cyrus-Imap:
/etc/imapd.conf
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sasldb

In Postfix:
/usr/lib/sasl2/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sasldb

Du musst dann nur auf ein paar Feinheiten achten.
a.) Beide Applikationen müssen auf die /etc/sasldb2 zugreifen können. Thema 
Zugriffsrechte und chroot. Chroot betrifft Postfix. Wenn das eingeschaltet 
ist, benutzt Postfix /var/spool/postfix/etc/sasldb2. Diesem könntest Du mit 
einem Hardlink beikommen, allerdings nur wenn sich /var und /etc auf 
derselben Partition befinden. Am einfachsten dürfte es sein, chroot'ing 
auszuschalten (master.cf).

b.) In der sasldb steht jeder User mit dem Usernamen at Realm eingetragen. 
Username kann auch aus user at domain bestehen, dann steht da user at domain@realm. 
Der Realm ist wichtig und muss in der main.cf angegeben werden Dieser Wert 
heisst smtpd_sasl_local_domain.

> Oder werden die selben Daten für SMTP wie für die IMAP-Server-Anmeldung im
> Mailclient eingetragen, und Postfix wird so konfiguriert, dass es damit
> wiederum die sasldb2 abfragt?

Natürlich. Es sind zwei verschieden Wege. SMTP und IMAP. Für beide braucht der 
User normalerweise einen usernamen und ein passwort. Meistens ist es 
allerdings gleich. Trotzdem sind es zwei sachen. Es gibt nur im Server 
transparent für den User eine Querverbindung, wo Postfix die Daten nimmt und 
beim IMAP-Server "ausprobiert". Dies geht über den saslauthd und heisst dort 
"rimap". IMHO keine besonders tolle Möglichkeit.

> Mir ist also völlig schleierhaft, wer wen wann und warum abfragt zu
> Authentifizierung. Anmeldedaten verschlüsselt mit md5 oder nicht - erstmal
> egal um es einfacher zu halten.
>
> Im Buch steht auf Seite 212ff, dass man mit rimap eine bequeme SMTP-IMAP
> Kombination der Nutzerkennung hat und Klartext kein Problem ist, wenn
> SMTP/IMAP auf dem gleichen Server laufen. Ich verstehe es so, dass der
> Austausch der Authentifizierungsdaten innerhalb SMTP<->IMAP unverschlüsselt
> laufen darf da gleicher Server. Was bedeutet es aber jetzt, dem saslauthd
> beim Start rimap zu übergeben?

User (MUA) --a-> SMTP (Postfix) -> saslauthd (rimap) -> Cyrus-IMAP -> sasldb

Ja, der grosse Nachteil ist der saslauthd. Dieser spricht ein Protokoll mit 
dem es ein Muss ist das Unverschlüsselte Kennwort zu verwenden. Damit muss 
das Kennwort über die komplette Strecke gesendet werden auch über (-a-).
Also sind solche sachen wie SSL/TLS Pflicht!

Wenn Postfix allerdings schon die sasldb benutzt, kann man bei (-a-) auch 
Mechanismen wie DIGEST-MD5 bzw. CRAM-MD5 verwenden.

> Wenn ich mich dabei auch noch über die Fußnote auf Seite 162 "freuen" soll,
> werde ich des Wahnsinns fette Beute!

Dort wird die Möglichkeit angesprochen vom saslauthd die sasldb benutzen zu 
können. Der Sinn dieses Features ist IMHO äusserst fragwürdig (ich möchte mal 
so sachen wie "bescheuert" aussen vor lassen) und ich habe das auch noch nie 
in Aktion gesehen.

> Also nochmal:
>
> user meldet sich an und will SENDEN, wird von Postfix zu SMTP-Auth
> gezwungen oder aufgefordert, der kann das (gesicherte
> Kennwortauthentifizierung hat Häckchen) Postfix muß dafür -wie auch immer
> konfiguriert werden- aber was passiert dabei? Kann Postfix jetzt die
> sasldb2 nehmen, die auch IMAP bzw. der saslauthd nimmt?

Klar.

> user meldet sich an und will LESEN, dann übergibt doch der imapd die
> Anmeldung an den saslauthd und was passiert dann, nur vom Prinzip her?

Vergiss die Querverbindung "saslauthd mit rimap" und trenne IMAP von SMTP. Es 
sind zwei verschiedene Protokolle bzw. Server die nix mitenander zu tun 
haben. Es ist halt nur Möglich für eine Applikation den Usernamen bzw. das 
Passwort von dem anderen Server überprüfen zu lassen. Wenn die Cyrus-Leute 
auch nen smtp-server entwickeln würden gäbe es evtl auch einen rsmtp im 
saslauthd.

> Ich fahre jetzt erstmal 30 km mit dem Bike durchs Gelände vielleicht
> hilft's zusammen mit Erleuchtung seitens der Liste...

> Etwas Nachsicht bitte mit unseren Anfängern, ich beschäftige mich erst seit
> gut einem halben Jahr intensiv mit LINUX und Mailservern, aber als ich das
> Postfixbuch gekauft hatte, wußte ich als MCSE und M$-Junkie noch nichts von
> IMAP-Servern. Für die braucht es nämlich noch mal ein extra Büchlein.

Sobald Du mit Exchange2k(3) anfängst, wirst Du Dich auch mit SMTP-AUTH und 
ähnlichem mehr beschäftigen dürfen. Auch Exchange hat einen SMTP- und 
IMAP-Server an Board. Die Parallellen sind manchmal witzig manchmal auch 
erschreckend ;-)

-- 
	Andreas




Mehr Informationen über die Mailingliste Postfixbuch-users