[Postfixbuch-users] Postfix 2.5.1 -> SASL -> LDAP auth

Patrick Ben Koetter p at state-of-mind.de
Mo Mai 5 15:47:03 CEST 2008


* Stephan Budach <postfixbuch-users at listi.jpberlin.de>:
> ich möchte eine Postfix/SASL/LDAP combo kompillieren und konfigurieren, 
> die als gateway ausschließlich für interne User dient. Zu diesem Zweck 
> habe ich mir die letzte Version von CyrusSASL 2.1.22 und Postfix 2.5.1 
> runtergeladen und kompilliert.
>
> CyrusSASL habe ich mittels ./configure --with-ldap erzeugt und kann auch 
> erfolgreich meine LDAP-user authentifizieren:
>
> [root at localhost cyrus-sasl-2.1.22]# testsaslauthd -u test -p testpass
> 0: OK "Success."

Wie startest Du den saslauthd?

Wenn Du über PAM nach ldap gehst, bau beim testsaslauthd-Aufruf zur Sicherheit
noch ein "-s smtp" hinein.


> Bei Postfix gelingt mir eine Authentifikation aber nicht. Nachdem ich nun 
> einige Postings in den Archiven durchwühlt habe, weiss ich nun leider 
> nicht mehr weiter. Anfangs war wohl das problem, dass der saslauthd socket 
> normalerweise woanders steht, aber das habe ich in der smtpd.conf korrekt 
> eingetragen.
>
> Wenn ich im terminal eine Session starte, dann bekomme ich im mail.log dann 
> folgendes:
>
> May  5 16:33:35 localhost postfix/smtpd[13031]: connect from 
> localhost.localdomain[127.0.0.1]
> May  5 16:33:43 localhost postfix/smtpd[13031]: warning: SASL 
> authentication failure: cannot connect to saslauthd server: Connection 
> refused

socket Problem.


> Allerdings sind die Dateien in /var/state/saslauthd alle für den user 
> postfix zugänglich
>
> [root at localhost cyrus-sasl-2.1.22]# ls -l /var/state/
> insgesamt 4
> drwxr-xr-x 2 postfix postfix 4096  5. Mai 16:18 saslauthd
> [root at localhost cyrus-sasl-2.1.22]# ls -l /var/state/saslauthd/
> insgesamt 4
> srwxrwxrwx 1 postfix postfix 0  5. Mai 16:18 mux
> -rw-rw-rw- 1 postfix postfix 0  5. Mai 16:18 mux.accept
> -rw-rw-rw- 1 postfix postfix 6  5. Mai 16:18 saslauthd.pid
>
>
> saslfinger -s ergibt dies hier, wobei ich /usr/lib/sasl2 nach 
> /usr/local/lib/sas2 gelinkt habe:
>
>
> saslfinger - postfix Cyrus sasl configuration Mo 5. Mai 17:14:46 CEST 2008
> version: 1.0.2
> mode: server-side SMTP AUTH
>
> -- basics --
> Postfix: 2.5.1
> System: CentOS release 5 (Final)

2.5.1 gibt es auch als RPM.
Aktuelles Cyrus SASL ebenfalls.
Selber bauen wäre nicht unbedingt nötig gewesen.


> -- smtpd is linked to --
> 	libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x00af8000)
>
> -- active SMTP AUTH and TLS parameters for smtpd --
> broken_sasl_auth_clients = yes
> smtpd_sasl_auth_enable = yes
>
>
> -- listing of /usr/lib/sasl2 --
> insgesamt 1904
> drwxr-xr-x 2 root root   4096  5. Mai 16:22 .
> drwxr-xr-x 3 root root   4096  5. Mai 00:22 ..
> -rwxr-xr-x 1 root root    695  5. Mai 00:22 libanonymous.la
> -rwxr-xr-x 1 root root  54822  5. Mai 00:22 libanonymous.so
> -rwxr-xr-x 1 root root  54822  5. Mai 00:22 libanonymous.so.2
> -rwxr-xr-x 1 root root  54822  5. Mai 00:22 libanonymous.so.2.0.22
> -rwxr-xr-x 1 root root    683  5. Mai 00:22 libcrammd5.la
> -rwxr-xr-x 1 root root  60904  5. Mai 00:22 libcrammd5.so
> -rwxr-xr-x 1 root root  60904  5. Mai 00:22 libcrammd5.so.2
> -rwxr-xr-x 1 root root  60904  5. Mai 00:22 libcrammd5.so.2.0.22
> -rwxr-xr-x 1 root root    713  5. Mai 00:22 libdigestmd5.la
> -rwxr-xr-x 1 root root 125621  5. Mai 00:22 libdigestmd5.so
> -rwxr-xr-x 1 root root 125621  5. Mai 00:22 libdigestmd5.so.2
> -rwxr-xr-x 1 root root 125621  5. Mai 00:22 libdigestmd5.so.2.0.22
> -rwxr-xr-x 1 root root    763  5. Mai 00:22 libgssapiv2.la
> -rwxr-xr-x 1 root root  79041  5. Mai 00:22 libgssapiv2.so
> -rwxr-xr-x 1 root root  79041  5. Mai 00:22 libgssapiv2.so.2
> -rwxr-xr-x 1 root root  79041  5. Mai 00:22 libgssapiv2.so.2.0.22
> -rwxr-xr-x 1 root root    668  5. Mai 00:22 libotp.la
> -rwxr-xr-x 1 root root 120705  5. Mai 00:22 libotp.so
> -rwxr-xr-x 1 root root 120705  5. Mai 00:22 libotp.so.2
> -rwxr-xr-x 1 root root 120705  5. Mai 00:22 libotp.so.2.0.22
> -rwxr-xr-x 1 root root    679  5. Mai 00:22 libplain.la
> -rwxr-xr-x 1 root root  55996  5. Mai 00:22 libplain.so
> -rwxr-xr-x 1 root root  55996  5. Mai 00:22 libplain.so.2
> -rwxr-xr-x 1 root root  55996  5. Mai 00:22 libplain.so.2.0.22
> -rwxr-xr-x 1 root root    704  5. Mai 00:22 libsasldb.la
> -rwxr-xr-x 1 root root  97412  5. Mai 00:22 libsasldb.so
> -rwxr-xr-x 1 root root  97412  5. Mai 00:22 libsasldb.so.2
> -rwxr-xr-x 1 root root  97412  5. Mai 00:22 libsasldb.so.2.0.22
> -rw-r--r-- 1 root root    119  5. Mai 16:22 smtpd.conf
>
> -- content of /usr/lib/sasl2/smtpd.conf --
> pwcheck_method: saslauthd
> saslauthd_path: /var/state/saslauthd
> mech_list: PLAIN LOGIN CRAM-ND5 DIGEST-MD5

Mit saslauthd kannst Du keine shared-secret-Mechanismen nutzen. Wenn Du die
haben willst, musst Du das ldapdb-Plugin von Cyrus SASL konfigurieren.

Damit es mit saslauthd keine Probleme gibt, solltest Du die $mech_list wie
folgt reduzieren:

mech_list: PLAIN LOGIN

... und CRAM-ND5 schriebe man CRAM-MD5 wollte man es nutzen ;)


> log_level: 3
>
>
> -- active services in /etc/postfix/master.cf --
> # service type  private unpriv  chroot  wakeup  maxproc command + args
> #               (yes)   (yes)   (yes)   (never) (100)
> smtp      inet  n       -       n       -       -       smtpd

gut

> -- mechanisms on localhost --
> 250-AUTH DIGEST-MD5 PLAIN
> 250-AUTH=DIGEST-MD5 PLAIN

Das ist interessant!

Dein Postfix bietet "nur" die Mechanismen DIGEST-MD5 und PLAIN an, obwohl
Deine mech_list mehr will.

Naja, also der Tippfehler für CRAM-ND5 läßt wohl CRAM-MD5 rausfallen und die
Abwesenheit von LOGIN läßt sich damit erklären, das es nicht kompiliert wurde.

Du solltest dein Cyrus SASL entsprechend neu bauen.

p at rick

-- 
Postfix - Einrichtung, Betrieb und Wartung
<http://www.postfix-buch.com>
saslfinger (debugging SMTP AUTH):
<http://postfix.state-of-mind.de/patrick.koetter/saslfinger/>



Mehr Informationen über die Mailingliste Postfixbuch-users