Postfix SMTP-Server: SASL-Authentikation über Courier Authlib / Authdaemond

Wenn man unter Linux die recht populäre Courier Software Suite einsetzt, um Email-Benutzer ein Zugriff via POP3 oder IMAP (und beides auch als abgesicherte SSL-Variante) Protokoll zu ermöglichen. Dann liegt es nahe auch den SMTP-Server wie z.B. Postfix an die Benutzer-Authentikation von Courier anzubinden, denn unter Courier lässt sich sehr leicht eine Authentikation gegen eine LDAP oder SQL-Datenbank realisieren.

In der Regel wird Postfix von den aktuellen Linux-Distributionen schon mit authdaemon-Support ausgeliefert. So dass es eigentlich recht einfach sein sollte Postfix mittels SASL-Authentication über Courier den Benutzer das Senden von Mails zu ermöglichen. Dazu benötigt Postfix eine SASL-Config in der Datei /etc/postfix/sasl/smtpd.conf (unter Debian oder Ubuntu-Linux) oder in der Datei /var/lib/sasl2/smtpd.conf (unter RedHat)

 
#
pwcheck_method: authdaemond
mech_list: PLAIN LOGIN
authdaemond_path: /var/run/courier/authdaemon/socket 
#

Dabei ist es wichtig das man darauf achtet das der Pfad zur angegeben Socket-Datei authdaemond_path stimmt. Ganz besonders sollte man da auch die Zugriffrechte achten. Am Besten man setzt für die Socket-Datei die Rechte mit „chmod 777“ und für das vorgehende Verzeichnis auf „chmod 755“.

Dann sollte eigentlich nach einem reload / restart von Postfix einer funktionierenden Authentikation nichts mehr im Wege stehen. Taucht allerdings eine Fehlermeldung wie die folgende auf ..

Mar 29 19:52:46 host postfix/smtpd[14528]: warning: SASL authentication failure: cannot connect to Courier authdaemond: No such file or directory
Mar 29 19:52:46 host postfix/smtpd[14528]: warning: SASL authentication failure: Password verification failed
Mar 29 19:52:46 host postfix/smtpd[14528]: warning: host.local[127.0.0.1]: SASL plain authentication failed: generic failure

Dann haben hier vermutlich die chroot-Restriktionen von Postfix zugeschlagen. Viele Teile von Postfix beschränken durch diesem Mechanismus Dateizugriffe exklusiv auf das Verzeichnis /var/spool/postfix. Daher enthält dieses Verzeichnis auch Kopien einiger für Postfix relevanter wichtiger Systemdateinen (Libraries, Configs, etc). Eine Möglichkeit das Courier Socket für Postfix sichtbar zu machen ohne dabei Postfix oder Courier umkonfigurieren zu müssen, ist die Erstellung eines Hardlinks (Symlinks funktionieren hier nicht !)

#
mkdir -p /var/spool/postfix/var/run/courier/authdaemon
cd /var/spool/postfix/var/run/courier/authdaemon
ln /var/run/courier/authdaemon/socket socket
#

Damit sollte dann Postfix aber auch in der Lage sein den Courier authdaemon zu kontaktieren.

 

Links

http://www.brandonchecketts.com/archives/configuring-postfix-sasl-to-authenticate-against-courier-authlib

 

Keine Kommentare möglich.