[Postfixbuch-users] sasl development

Patrick Ben Koetter p at state-of-mind.de
Do Dez 29 13:05:41 CET 2005


* Andreas Kienle <andreas.kienle at andysoft.de>:
> >>>>soweit wäre ich auch gerne. Für was verwendest du die SASL?
> >>>>Ich brauch die für ldap
> >>>
> >>>Schick doch mal "saslfinger -s" output an die Liste.
> >>
> Hier nun der Auszug:
> 
> --snip----
> 
> smtp2:/usr/src/saslfinger-1.0# saslfinger -s
> saslfinger - postfix Cyrus sasl configuration Do Dez 29 12:48:47 CET 2005
> version: 1.0
> mode: server-side SMTP AUTH
> 
> -- basics --
> Postfix: 2.2.4
> System: Debian GNU/Linux testing/unstable \n \l
> 
> -- smtpd is linked to --
>          libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb7d27000)

OK.

> -- active SMTP AUTH and TLS parameters for smtpd --
> broken_sasl_auth_clients = yes
> smtpd_sasl_auth_enable = yes
> smtpd_sasl_local_domain = $myhostname
> smtpd_sasl_security_options = noanonymous

OK.

> -- listing of /usr/lib/sasl2 --
> insgesamt 884
> drwxr-xr-x   2 root root  4096 2005-12-29 12:26 .
> drwxr-xr-x  35 root root  8192 2005-12-29 12:41 ..
> -rw-r--r--   1 root root 12492 2005-11-05 20:18 libanonymous.a
> -rw-r--r--   1 root root   855 2005-11-05 20:18 libanonymous.la
> -rw-r--r--   1 root root 11960 2005-11-05 20:18 libanonymous.so
> -rw-r--r--   1 root root 11960 2005-11-05 20:18 libanonymous.so.2
> -rw-r--r--   1 root root 11960 2005-11-05 20:18 libanonymous.so.2.0.19
> -rw-r--r--   1 root root 14682 2005-11-05 20:18 libcrammd5.a
> -rw-r--r--   1 root root   841 2005-11-05 20:18 libcrammd5.la
> -rw-r--r--   1 root root 14160 2005-11-05 20:18 libcrammd5.so
> -rw-r--r--   1 root root 14160 2005-11-05 20:18 libcrammd5.so.2
> -rw-r--r--   1 root root 14160 2005-11-05 20:18 libcrammd5.so.2.0.19
> -rw-r--r--   1 root root 43380 2005-11-05 20:18 libdigestmd5.a
> -rw-r--r--   1 root root   864 2005-11-05 20:18 libdigestmd5.la
> -rw-r--r--   1 root root 40432 2005-11-05 20:18 libdigestmd5.so
> -rw-r--r--   1 root root 40432 2005-11-05 20:18 libdigestmd5.so.2
> -rw-r--r--   1 root root 40432 2005-11-05 20:18 libdigestmd5.so.2.0.19
> -rw-r--r--   1 root root 21644 2005-11-05 20:18 libgssapiv2.a
> -rw-r--r--   1 root root  1054 2005-11-05 20:18 libgssapiv2.la
> -rw-r--r--   1 root root 20988 2005-11-05 20:18 libgssapiv2.so
> -rw-r--r--   1 root root 20988 2005-11-05 20:18 libgssapiv2.so.2
> -rw-r--r--   1 root root 20988 2005-11-05 20:18 libgssapiv2.so.2.0.19
> -rw-r--r--   1 root root 12762 2005-11-05 20:18 liblogin.a
> -rw-r--r--   1 root root   835 2005-11-05 20:18 liblogin.la
> -rw-r--r--   1 root root 12536 2005-11-05 20:18 liblogin.so
> -rw-r--r--   1 root root 12536 2005-11-05 20:18 liblogin.so.2
> -rw-r--r--   1 root root 12536 2005-11-05 20:18 liblogin.so.2.0.19
> -rw-r--r--   1 root root 27312 2005-11-05 20:18 libntlm.a
> -rw-r--r--   1 root root   829 2005-11-05 20:18 libntlm.la
> -rw-r--r--   1 root root 26748 2005-11-05 20:18 libntlm.so
> -rw-r--r--   1 root root 26748 2005-11-05 20:18 libntlm.so.2
> -rw-r--r--   1 root root 26748 2005-11-05 20:18 libntlm.so.2.0.19
> -rw-r--r--   1 root root 18494 2005-11-05 20:18 libotp.a
> -rw-r--r--   1 root root   829 2005-11-05 20:18 libotp.la
> -rw-r--r--   1 root root 40640 2005-11-05 20:18 libotp.so
> -rw-r--r--   1 root root 40640 2005-11-05 20:18 libotp.so.2
> -rw-r--r--   1 root root 40640 2005-11-05 20:18 libotp.so.2.0.19
> -rw-r--r--   1 root root 13010 2005-11-05 20:18 libplain.a
> -rw-r--r--   1 root root   835 2005-11-05 20:18 libplain.la
> -rw-r--r--   1 root root 12664 2005-11-05 20:18 libplain.so
> -rw-r--r--   1 root root 12664 2005-11-05 20:18 libplain.so.2
> -rw-r--r--   1 root root 12664 2005-11-05 20:18 libplain.so.2.0.19
> -rw-r--r--   1 root root 20004 2005-11-05 20:18 libsasldb.a
> -rw-r--r--   1 root root   856 2005-11-05 20:18 libsasldb.la
> -rw-r--r--   1 root root 16748 2005-11-05 20:18 libsasldb.so
> -rw-r--r--   1 root root 16748 2005-11-05 20:18 libsasldb.so.2
> -rw-r--r--   1 root root 16748 2005-11-05 20:18 libsasldb.so.2.0.19

Also, eine ldapdb.* hast Du nicht, um über das auxprop:ldapdb auf den Server
zuzugreifen. Ist nicht wirklich ein Problem. LDAP geht auch über saslauthd und
da sehe ich auch schon einige Fehler...

> -- content of /etc/postfix/sasl/smtpd.conf --
> # Globale Parameters
> log_level: 7
> pwcheck_method = saslauthd

Typo-Fehler:
SASL will einen Doppelpunkt als Separator von Parameter und Wert:

pwcheck_method: saslauthd

> mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5

Konfig-Fehler:
saslauthd kann ausschließlich PLAIN LOGIN verarbeiten, also reduziere es auf
diese Mechanismen:

mech_list: PLAIN LOGIN


Konfig-Fehler:
Die Konfigurationsangaben für saslauthd LDAP-Zugriff werden nicht in
smtpd.conf abgelegt. Zitat aus unserem Buch:

    LDAP-Server
    saslauthd kann sich an einen LDAP-Server wenden, um die
    Authentifizierungsdaten zu verifizieren. LDAP-Abfragen und andere
    LDAP-relevante Angaben sind jedoch naturgemäß komplex und zudem voller
    Sonderzeichen, die von einer Shell interpretiert würden, wenn Sie diese
    als Kommandozeilenoption angeben.  Deshalb sieht saslauthd vor, dass es
    bei Verwendung des authentication backends ldap eine Konfigurationsdatei
    (Standard: /usr/local/etc/saslauthd.conf) vorfindet, in der alle
    relevanten Einstellungen eingetragen sind.

    Wenn Sie davon abweichend beispielsweise /etc/saslauthd.conf verwenden
    möchten, geben Sie beim Start von saslauthd die Option -O gefolgt vom
    vollen Pfad und Namen dieser Konfigurationsdatei an:

    # saslauthd -a ldap -O /etc/saslauthd.conf


Du musst die folgenden Angaben also in eine separate Datei auslagern und
saslauthd sagen, wo es diese finden soll.

Um dir auch gleich unendliche SASL-Schmerzen zu sparen, solltest Du saslauthd
zusätzlich mit der Kommandozeilenoption "-r" starten, WENN Deine Usernamen im
Format "username at domainname" im LDAP abgelegt sind.

> ldap_servers: ldap://ibo-xml-01.drsintra.de
> ldap_bind_dn: cn=ldap-hylafax,ou=LDAP-Kontext fuer Proxy user - nicht 
> loeschen,ou=Server,ou=Intra,o=Dioezese
> ldap_search_base: o=DIOEZESE
> ldap_bind_pw: **** (meins)
> ldap_auth_method: bind
> ldap_timeount: 10
> ldap_time_limit: 10
> #ldap_scope: sub
> ldap_debug: 3
> ldap_verbose: on
> ldap_ssl: off
> 
> 
> 
> -- active services in /etc/postfix/master.cf --
> # service type  private unpriv  chroot  wakeup  maxproc command + args
> #               (yes)   (yes)   (yes)   (never) (100)
> smtp      inet  n       -       -       -       -       smtpd -v

Nimm den smtpd daemon bitte erst einmal aus dem chroot raus und sorge, auf
Debian, dafür, dass der User postfix in der Gruppe sasl ist, sonst darf
Postfix nämlich den saslauthd socket zur Kommunikation mit saslauthd nicht
kontaktieren.

p at rick

-- 
Das »Postfix«-Buch
<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