PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix (fatal: no SASL authentication mechanisms)



Triob
27.09.03, 15:05
Postfix meldet folgenden Fehler:



Sep 27 15:31:26 vserver postfix/smtpd[4343]: fatal: no SASL authentication mechanisms
Sep 27 15:31:27 vserver postfix/master[4226]: warning: process /usr/lib/postfix/smtpd pid 4343 exit status 1
Sep 27 15:31:27 vserver postfix/master[4226]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling


Packete sollten eigentlich alle installiert sein:



vserver:/usr/lib/sasl# dpkg -l | grep libsasl*
ii libsasl-digest 1.5.27-3.5 DIGEST-MD5 module for SASL
ii libsasl-gssapi 1.5.27-2 Pluggable Authentication Modules for SASL -
ii libsasl-module 1.5.27-3.5 Basic Pluggable Authentication Modules for S
ii libsasl2 2.1.12-1 Authentication abstraction library
ii libsasl7 1.5.27-3.5 Authentication abstraction library.


In der /usr/lib/sasl/smtpd.conf steht:



pwcheck_method: pwcheck



Hier die Postfix main.cf:



#Postfix Konfiguration
mydomain = kaitimmer.de
myhostname = vserver.kaitimmer.de
mynetworks = all
inet_interfaces = all
mydestination = localhost localhost@$mydomain $myhostname $mydomain
home_mailbox = Maildir/

# Wo befindet sich die Aliases Datenbank
alias_database = hash:/etc/aliases
alias_maps = $alias_database

#SMTP-Auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = vserver.kaitimmer.de
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

#Zugang nur per SASL erlauben
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

#-------Einträge von Debconf--------#
daemon_directory = /usr/lib/postfix
command_directory = /usr/sbin
program_directory = /usr/lib/postfix


Vieleicht sollte ich noch sagen dass, das ganze ein Debian Sarge System ist.

mfg
Kai Timmer

nunja
28.09.03, 08:30
Könnte es sein das Postfix ohne diese Option übersetzt wurde ;-))

Doh!
28.09.03, 11:13
Ich tippe eher darauf, dass Postfix bri Dir in einer chroot Umgebung läuft. Allerdings weiß ich nicht, wie das bei Debian bzw. einer kompilierten Version gemacht wird, bei SuSE wird das über die SuSEconf mit einem Skript geregelt. Zumindest befindet sich die chroot-Umgebung bei SuSE in /var/spool/postfix. Das heißt, Du musst alle relevanten Daten dort so hin kopieren, als sei /var/spool/postfix die root-Ebene. Und dort müssen die entsprechenden lese- und schreibrechte für Postfix vorhanden sein.

Triob
28.09.03, 14:29
Ja Postfix läuft im chroot. Das ist bei Debian so. Auch das Packet Postfix-tls ist installiert.
Die Dateien sollten eigentlich auch alle im chroot Verzeichnis von Postfix liegen.

Hat noch jemand ne andere Idee?

Doh!
28.09.03, 16:34
Original geschrieben von Triob
Ja Postfix läuft im chroot. Das ist bei Debian so. Auch das Packet Postfix-tls ist installiert.
Die Dateien sollten eigentlich auch alle im chroot Verzeichnis von Postfix liegen.

Hat noch jemand ne andere Idee?

Na dann noch die Zugriffsrechte prüfen. Die Dateien sollen natürlich nicht einfach nur im chroot Verzeichnis liegen, sondern müssen auch in den entsprechenden unterpfaden:

/var/spool/postfix/usr/lib/sasl/smtpd.conf

Triob
28.09.03, 21:37
Die Dateien liegen im richtigem Verz. und gehören dem Benutzer Postfix.
Dann bekomm ich allerdings folgende Warnungen:


vserver:/usr/lib/sasl# postfix start
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/libdigestmd5.so.0.0.19
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/libdigestmd5.so.0
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/libdigestmd5.so
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/liblogin.so.0.0.6
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/libcrammd5.so.1.0.17
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/libanonymous.so.1.0.16
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/libplain.so.1.0.15
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/liblogin.so.0
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/libcrammd5.so.1
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/libplain.so
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/liblogin.so
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/libanonymous.so.1
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/libcrammd5.so
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/libanonymous.so
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/libplain.so.1
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl/smtpd.conf
postfix/postfix-script: starting the Postfix mail system


Darum hab ich das jetzt mal wieder geändert.

So langsam versteh ich das wirklich nicht mehr.

Doh!
28.09.03, 23:17
was steht in der smtpd.conf drinne?

Haste Sasl1 oder 2 ?

poste mal bitte ls -l /var/spool/postfix/usr/lib/sasl

Triob
29.09.03, 10:08
vserver:~# ls -l /var/spool/postfix/usr/lib/sasl
total 68
lrwxrwxrwx 1 root root 22 Sep 28 22:22 libanonymous.so -> libanonymous.so.1.0.16
lrwxrwxrwx 1 root root 22 Sep 28 22:22 libanonymous.so.1 -> libanonymous.so.1.0.16
-rw-r--r-- 1 root root 5552 Apr 10 06:42 libanonymous.so.1.0.16
lrwxrwxrwx 1 root root 20 Sep 28 22:22 libcrammd5.so -> libcrammd5.so.1.0.17
lrwxrwxrwx 1 root root 20 Sep 28 22:22 libcrammd5.so.1 -> libcrammd5.so.1.0.17
-rw-r--r-- 1 root root 9896 Apr 10 06:42 libcrammd5.so.1.0.17
lrwxrwxrwx 1 root root 22 Sep 28 22:22 libdigestmd5.so -> libdigestmd5.so.0.0.19
lrwxrwxrwx 1 root root 22 Sep 28 22:22 libdigestmd5.so.0 -> libdigestmd5.so.0.0.19
-rw-r--r-- 1 root root 27428 Apr 10 06:42 libdigestmd5.so.0.0.19
lrwxrwxrwx 1 root root 17 Sep 28 22:22 liblogin.so -> liblogin.so.0.0.6
lrwxrwxrwx 1 root root 17 Sep 28 22:22 liblogin.so.0 -> liblogin.so.0.0.6
-rw-r--r-- 1 root root 7708 Apr 10 06:42 liblogin.so.0.0.6
lrwxrwxrwx 1 root root 18 Sep 28 22:22 libplain.so -> libplain.so.1.0.15
lrwxrwxrwx 1 root root 18 Sep 28 22:22 libplain.so.1 -> libplain.so.1.0.15
-rw-r--r-- 1 root root 7360 Apr 10 06:42 libplain.so.1.0.15
-rw-r--r-- 1 root root 24 Sep 27 17:51 smtpd.conf



smtpd.conf



vserver:/var/spool/postfix/usr/lib/sasl# less smtpd.conf
pwcheck_method: pwcheck

Triob
29.09.03, 10:30
Ok ok, ich war zu blöd. Das Postfix-tls packet braucht sasl2. Ich hatte aber nur sasl1 installiert. Das kann dann auch nicht gehen. Danke Doh! du hast mich letztendlich doch noch auf den richtigen "Weg" gebracht *g*

Doh!
29.09.03, 10:31
Trag mal in der smtpd.conf anstelle "pwcheck" den Wert "sasldb" ein. Ich nehme an, Du wickelst das ganze darüber ab. Wenn mich net alles täuscht ist "pwcheck" erst ab SASL2 implementiert, dafür fällt dort das "sasldb" weg, bin mir aber net sicher. Musst natürlich die user mit saslpasswd eintragen.


EDIT: Teilquatsch: pwcheck gibbet natürlich auch bei SASL1, dennoch ändere das mal in sasldb

zini2001
27.01.04, 12:02
benutze suse8.2 mit sasl2
in /etc hab ich aber eine sasldb2 und keine sasldb
trotzdem in smtpd.conf pwcheck_method: sasldb eintragen? oder sasldb2
wie ist das mit den mech list?? was genau soll denn da stehen.

hab die gleichen probleme wie eigentlich jeder hier im forum .... mit der sasl-auth für clients.
bei wem läuft das ganze eigentlich anstands los???

gruß

edit: wo ist den nun der unterschied ?
smtpd_client_restriction
smtpd_recipient_restriction

welche einträge sind in welchem am sinvollsten??

Doh!
27.01.04, 13:06
Wenn Du sasl2 benutzt, folgendes eintragen:

pwcheck_method: authprox

zini2001
27.01.04, 13:45
au man....jetzt raff ich nix mehr. bin voll alle!!

unter maileinstellungen im mozilla outgoing server kann ich den "use name and password" aktivieren. user ist zini. will ich ne mail verschicken fragt mozilla brav nach passwd. dann kommt diese meldung im /var/log/mail.

postfix/smtpd[6241]: warning: henderson.ewart.netz[192.168.2.11]: SASL PLAIN authentication failed
Jan 27 14:29:23 server postfix/smtpd[6241]: warning: SASL authentication problem: unknown password verifier
Jan 27 14:29:23 server postfix/smtpd[6241]: warning: henderson.ewart.netz[192.168.2.11]: SASL LOGIN authentication failed
Jan 27 14:29:34 server postfix/smtpd[6241]: warning: SASL authentication failure: no secret in database
Jan 27 14:29:34 server postfix/smtpd[6241]: warning: henderson.ewart.netz[192.168.2.11]: SASL CRAM-MD5 authentication failed
Jan 27 14:29:35 server postfix/smtpd[6241]: warning: SASL authentication problem: unknown password verifier

nehm ich nicht diese einstellung klappt alles......???was soll das dann
EDIT: aber so wie ich das seh ohne sasl-auth oder smtp-auth......grrrrr

das steht jetzt in der main.cf: postfix ist nicht im jail!!
#sasl-auth für clients
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_client_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unknown_client
smtpd_sasl_security_options = noanonymous


das in der smtpd.conf
pwcheck_method: authprox
mech_list: plain login digest-md5 cram-md5

das in der imap.conf (bin mir nicht sicher ob das hier wichtig ist)
sasl_pwcheck_method: saslauthd
sasl_mech_list: plain login

und noch
server:/usr/lib/sasl2 # telnet localhost 25
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server.ewart.netz ESMTP
EHLO server.ewart.netz
250-server.ewart.netz
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-XVERP
250 8BITMIME

Doh!
27.01.04, 14:36
hast Du benutzer in der database angelegt? Darf der postfix-user die Datenbank lesen?

zini2001
27.01.04, 14:37
hatt es geklappt wenn diese meldung auftaucht??

server postfix/smtpd[6857]: 0BDDF38C5E: client=henderson.ewart.netz[192.168.2.11], sasl_method=CRAM-MD5, sasl_username=zini@server

wenn dem so ist dann ist es (keine ahnung warum) egal was in der smtpd.conf steht sasldb oder authprox (jedenfalls bei mir!!)

mir ist aufgefallen das in der sasldblistusers2 in der form user@hostname
steht. also bei mir zini@server. man kann wohl auch den usernamen so mit saslpasswd2 eintragen das dort der ganze servername steht. z.B. zini@server.ewart.netz

UND genau den nutzernamen dann in dem mailclient (hier:mozilla) eintragen (unter "use name and password" in outgoing server)
UND das mit der kombination:
smtpd_client_restrictions = permit_sasl_authenticated, reject_unknown_client

hat dann den erfolg gebracht!!!!
diese einstellung:
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
klappt beim mir nicht.....

EDIT: die restriction reject_unknown_client funzt nur wenn der host in den dns zonen aufgelöst werden kann....laut postfixbuch

Doh!
27.01.04, 15:07
Original geschrieben von zini2001
hatt es geklappt wenn diese meldung auftaucht??

server postfix/smtpd[6857]: 0BDDF38C5E: client=henderson.ewart.netz[192.168.2.11], sasl_method=CRAM-MD5, sasl_username=zini@server


Hat offenbar geklappt



wenn dem so ist dann ist es (keine ahnung warum) egal was in der smtpd.conf steht sasldb oder authprox (jedenfalls bei mir!!)

Interessant, werde ich mal checken



mir ist aufgefallen das in der sasldblistusers2 in der form user@hostname
steht. also bei mir zini@server. man kann wohl auch den usernamen so mit saslpasswd2 eintragen das dort der ganze servername steht. z.B. zini@server.ewart.netz

Nein. Dieses @server ist für sasl eine sogenannte realm. Damit könnte man Benutzer verschiedener Virtueller Domains verwalten, was Postfix offenbar nicht unterstützt.



UND genau den nutzernamen dann in dem mailclient (hier:mozilla) eintragen (unter "use name and password" in outgoing server)
UND das mit der kombination:
smtpd_client_restrictions = permit_sasl_authenticated, reject_unknown_client

hat dann den erfolg gebracht!!!!

so isses gedacht



EDIT: die restriction reject_unknown_client funzt nur wenn der host in den dns zonen aufgelöst werden kann....laut postfixbuch

auch das ist so gedacht. Damit soll verhindert werden, dass man sich mit Fantasienamen am Server anmeldet und man nachvollziehen kann, welcher Client sich gemeldet hat.

zini2001
27.01.04, 15:48
quote:
mir ist aufgefallen das in der sasldblistusers2 in der form user@hostname
steht. also bei mir zini@server. man kann wohl auch den usernamen so mit saslpasswd2 eintragen das dort der ganze servername steht. z.B. zini@server.ewart.netz


Nein. Dieses @server ist für sasl eine sogenannte realm. Damit könnte man Benutzer verschiedener Virtueller Domains verwalten, was Postfix offenbar nicht unterstützt.

mag sein das postfix das nicht kann. jedenfalls meckert die auth wenn sich der client nicht richtig anmeldet, wenn er eine mail verschicken möchte. den benutzer für den client wird mit saslpasswd -c name angelegt. den nutzernamen im mailclient eingetragen, damit sich der client beim server auth kann. mit sasldblistusers2 bekommt man den nutzernamen + realm
also hier zini@server

hab da ein büschen mit den einstellungen rumprobiert:
mailclienteinstellung zini --> fehlermeldung

mailclienteinstellung zini@server --> klappt

mailclienteinstellung zini@server und
postfixeinstellung smtpd_sasl_local_domain = server --> fehlermeldung

mailclienteinstellung zini und
postfixeinstellung smtpd_sasl_local_domain = server --> klappt

nasowas dacht ich mir......
aber wo ist da jetzt die goldene mitte oder das kochrezept??

EDIT: und wie macht das SLOX mit den virtual domains???da geht das doch,oder?

zini2001
27.01.04, 20:29
grunz.....wer sein postfix aufmerksam lesen kann ist klar im vorteil!!!!!!

da steht genau das was ich mit einem fragezeichen beschmückt hab.
na egal....habs ja auch so rausbekomen.....gelle :cool: