PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix2, SASL2 unter RedHat2



lsilinux
02.01.04, 22:24
Hallo,

ich bin schon irgendwie verzeifelt. Habe im Internet nachgeforscht, das forum hier habe ich auch durchgesucht, hat aber nichts geholfen Also:

ich bin beim Bauen von Postfix (2.0.16) mit Smtp_auth nach der Anleitung unter http://postfix.state-of-mind.de/patrick.koetter/smtpauth/.

Postfix habe ich installiert und der funzt auch wenn SASL-Einstellungen deaktiviert sind ganz prima. Mit der Authentifizierung hat aber Postfix SASL2-Probleme und zwar er findet den saslauthd nicht, wenn ich mich unter telnet session mit Auth Plain einloggen möchte.


ftserver:/home/test# telnet 192.168.0.156 25
Trying 192.168.0.156...
Connected to 192.168.0.156.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix
ehlo example.com
250-mail.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250 8BITMIME
AUTH PLAIN xxxxxxxxxxxxxxxxxxx (Hier steht natürlich was richtiges)
535 Error: authentication failed


Die Fehlermeldung sieht so aus:

Jan 2 19:50:33 mailserver postfix/smtpd[4302]: connect from unknown[192.168.0.209]
Jan 2 19:50:54 mailserver postfix/smtpd[4302]: warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory
Jan 2 19:50:54 mailserver postfix/smtpd[4302]: warning: SASL authentication failure: Password verification failed
Jan 2 19:50:54 mailserver postfix/smtpd[4302]: warning: unknown[192.168.0.209]: SASL PLAIN authentication failed



Postfix läuft laut master.cf nicht im Chroot-umgebung.

Die Einstellungen für Sasl in main.cf sehen so aus:

smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
check_relay_domains


smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noplaintext
smtp_sasl_tls_security_options = $smtp_sasl_security_options
smtp_sasl_tls_verified_security_options = $smtp_sasl_tls_security_options



Die Datei /usr/lib/sasl2/smtpd.conf:

pwcheck_method: saslauthd
mech_list: plain login


Wer kann mir helfen? Für die Hilfe bin ich dankbar im Voraus.

narayan
02.01.04, 23:24
Hi,
ich habe bereits mehrere Server nach diesem Howto istalliert. Allerdings auf ner Redhat 7.3 mit nem LDAP Server als Backend angesprochen über PAM. Alles funzt Prima. Dann hab ich die gleiche config auf nem Fedora Core 1 getestet, und hab dann das gleiche Problem wie du. Hab aber leider noch nicht herausfinden können woran es liegt. Aber du bist nicht allein.

Matthias
:D

lsilinux
03.01.04, 01:52
Irgendwie schön zu wissen, dass das Problem kein einmaliges Ereignis ist, sondern eher ein reproduzierbarer Fehler.

Habe noch mal den Namen von diesem Thema gelesen.

Das heisst natürlich Postfix2, SASL2 unter RedHat9 ;)

kth
03.01.04, 15:37
Hast du schonmal Google nach der Fehlermeldung "SASL authentication failure: cannot connect to saslauthd server: No such file or directory" suchen lassen?

lsilinux
03.01.04, 19:15
hallo kth,

ja klar, habe ich. Meistens hat man Probleme weil default Postfix unter Debian in chroot-Umgebung läuft. Da wir aber redhat haben sollte nicht der Fall sein. Ausserdem habe ich erfahren, dass bei Sasl2 sollte man die Einstellung

smtpd_sasl_local_domain =

leer lassen.

Habe noch statt "pwcheck_method: saslauthd" in der Datei /usr/lib/sasl2/smtpd.conf "pwcheck_method: auxprop". Nichts neues.

Komisch ist, dass eigentlich der saslauthd einfach nicht gefunden wird. Deshalb habe ich auch versucht den Pfad zu definieren indem ich in die Datei /usr/lib/sasl2/smtpd.conf noch eine Zeile hinzugefügt:

saslauthd_path: /var/run/saslauthd/mux Nichts neues.

Der Postfix läuft nicht in chroot. Zumindest sehe ich das in master.cf:

# ================================================== ========================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ================================================== ========================
smtp inet n - n - - smtpd -v
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
#qmgr fifo n - n 300 1 qmgr
qmgr fifo n - n 300 1 nqmgr
tlsmgr fifo - - n 300 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp


Obwohl Postfix nicht im chroot-Umgebung läuft habe ich angenommen das er sich doch in chroot befindet und habe ein paar Daten in /var/spool/postfix erstellt und kopiert und zwar:

etc erstellt und /etc/shadow /etc/passwd /etc/pam.d /etc/sasldb2 kopiert.

Danach telnet session ausprobiert und die Fehlermeldung hat sich geändert und zwar die ist jetzt:

Jan 3 16:53:31 mailserver postfix/smtpd[5699]: warning: SASL authentication failure: cannot connect to saslauthd server: Connection refused
Jan 3 16:53:31 mailserver postfix/smtpd[5699]: warning: SASL authentication failure: Password verification failed
Jan 3 16:53:31 mailserver postfix/smtpd[5699]: warning: unknown[192.168.0.209]: SASL PLAIN authentication failed

Komisch, wenn der Postfix nicht in chroot läuft wieso hat sich was überhaupt geändert. Habe natürlich nach "warning: SASL authentication failure: cannot connect to saslauthd server: Connection refused" gesucht. Nichts wirklich neues. Also das ist der Stand der Sache momentan. Ich überelge ob ich vielleicht doch mit den postfix 1.1 und sasl1.5 versuchen soll.

stefaan
04.01.04, 12:42
Servus!

Läuft der saslauthd?

/etc/init.d/saslauthd status

Grüße, Stefan

lsilinux
04.01.04, 13:47
Ja, saslauthd läuft. Allerdings lief er mit pam-Authentification (default) und zwar so

13852 ? S 0:00 /usr/sbin/saslauthd -m /var/run/saslauthd/mux -a pam -n 0


Habe auch shadow mit dem Befehl
/usr/sbin/saslauthd -m /var/run/saslauthd/mux -a shadow ausprobiert. Die Fehlermeldung ist dieselbe geblieben.

Das ändert die Sache aber nicht. Was ich nicht verstehe wieso hat sich was geändert, als etc erstellt habe, wenn postfix nicht im chroot läuft.

lsilinux
06.01.04, 17:25
Hallo noch mal zusammen,

habe hingekriegt. Und zwar beim Kompilieren von Postfix-Sourcen habe chroot ausgemacht. Also:

rpmbuild -ba --without ldap --without pgsql --without mysql --with 9 --without chroot postfix.spec

Was ich immer noch nicht verstehe ich habe niergendwo Hinweis gefunden, dass Postfix im chroot default läuft. Offensichtlich ist das so bei dieser Anleitung, da Postfix-Sources so konfiguriert wurden. Was verwierend ist, dass in master.cf steht chroot überall auf "n".

Danach hatte ich zwar Probleme mit der Authentification selbst, aber nicht mehr, dass saslauthd nicht gefunden wird.

Übrigens läuft saslautd standartmäßig mit PAM und nicht mit Shadow unter RedHat9 wenigstens. Mit PAM habe ich ehrlich gesagt nicht weiter versucht. Mit Shadow läuft's.