SASL authentication failure: no secret in database (Postfix, SysCP, Ubuntu Dapper)

  • Thread starter Thread starter Deleted member 2641
  • Start date Start date
D

Deleted member 2641

Guest
Hallo,

ich habe auf meinem Rootserver Ubuntu Dapper laufen und SysCP installiert.
Nun habe ich Probleme mit dem Mailversand.
Ein Auszug aus der mail.log:
Code:
Sep 19 18:32:06 toronto232 postfix/smtpd[23254]: connect from p54BB67B6.dip.t-dialin.net[84.187.103.182]
Sep 19 18:32:09 toronto232 postfix/smtpd[23254]: warning: SASL authentication failure: no secret in database
Sep 19 18:32:09 toronto232 postfix/smtpd[23254]: warning: p54BB67B6.dip.t-dialin.net[84.187.103.182]: SASL CRAM-MD5 authentication failed
Sep 19 18:32:09 toronto232 postfix/smtpd[23254]: warning: SASL authentication failure: Password verification failed
Sep 19 18:32:09 toronto232 postfix/smtpd[23254]: warning: p54BB67B6.dip.t-dialin.net[84.187.103.182]: SASL PLAIN authentication failed
Sep 19 18:32:10 toronto232 postfix/smtpd[23254]: warning: p54BB67B6.dip.t-dialin.net[84.187.103.182]: SASL LOGIN authentication failed
Sep 19 18:32:11 toronto232 postfix/smtpd[23254]: lost connection after AUTH from p54BB67B6.dip.t-dialin.net[84.187.103.182]
Sep 19 18:32:11 toronto232 postfix/smtpd[23254]: disconnect from p54BB67B6.dip.t-dialin.net[84.187.103.182]

Meine Configs (fast original die von SysCP vorgegebenen)

/etc/postfix/main.cf:
Code:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
myhostname = toronto232.server4you.de
mydomain = toronto232.server4you.de
mydestination = $myhostname $mydomain localhost localhost.$mydomain
mynetworks = 127.0.0.0/8
alias_maps = $alias_database
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
virtual_mailbox_base = /var/kunden/mail/
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
virtual_uid_maps = static:2000
virtual_gid_maps = static:2000
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

/etc/postfix/mysql-virtual_alias_maps.cf:
Code:
user = syscp
password = 
dbname = syscp
table = mail_virtual
select_field = destination
where_field = email
additional_conditions = and destination <> '' and destination <> ' '
hosts = 127.0.0.1

/etc/postfix/mysql-virtual_mailbox_domains.cf:
Code:
user = syscp
password = 
dbname = syscp
table = panel_domains
select_field = domain
where_field = domain
additional_conditions = and isemaildomain = '1'
hosts = 127.0.0.1

/etc/postfix/mysql-virtual_mailbox_maps.cf:
Code:
user = syscp
password = 
dbname = syscp
table = mail_users
select_field = maildir
where_field = email
hosts = 127.0.0.1

/etc/postfix/sasl/smtpd.conf:
Code:
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: plain login cram-md5 digest-md5
sql_engine: mysql
sql_hostnames: localhost
sql_user: syscp
sql_passwd: 
sql_database: syscp
sql_select: select password from mail_users where username='%u@%r'

Diese beiden Threads (Postfix und sarge :) und Kein Mailversand möglich!?) konnten das Problem nicht lösen. Auch bei Google hab ich bisher nichts gefunden.
Kann mir jemand eine Lösung nennen?

Gruß Jan
 
Bin mittlerweile ein wenig weitergekommen, denke ich.
Hab herausgefunden, dass Saslauthd sein Pidfile nicht im Postfix Jail ablegt und Postfix so nicht mit Saslauthd zusammenarbeiten kann.
Hab die Variable PIDFILE in /etc/init.d/saslauthd auf /var/spool/postfix/var/run/saslauthd/saslauthd.pid verändert, so dass er eigentlich ins Jain schreiben sollte, aber das tut er nicht, er schreibt weiterhin nach /var/run/saslauthd. Einen Hardlink kann ich nicht setzen.

Code:
# ln /var/run/saslauthd/saslauthd.pid /var/spool/postfix/var/run/saslauthd/saslauthd.pid
ln: Erzeugen der harten Verknüpfung „/var/spool/postfix/var/run/saslauthd/saslauthd.pid“ zu „/var/run/saslauthd/saslauthd.pid“: Invalid cross-device link

Code:
# mount
/dev/md1 on / type ext3 (rw,noatime,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid)
/sys on /sys type sysfs (rw)
varrun on /var/run type tmpfs (rw)
varlock on /var/lock type tmpfs (rw)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
devshm on /dev/shm type tmpfs (rw)
/dev/md0 on /boot type ext2 (ro,nosuid,nodev,noatime)
/dev/md2 on /usr type ext3 (ro,nodev,noatime)
/dev/md3 on /tmp type ext3 (rw,noexec,nosuid,nodev)
/dev/md4 on /var type ext3 (rw,nosuid,nodev,noatime)

Ein Symlink funktioniert auch nicht. Anlegen ist möglich, aber ich denke das Postfix dann trotzdem nicht aus seinem Jail heraus auf das Pidfile zugreifen kann...

Kann mir jemand einen Tipp geben?

EDIT:
Kurz vorm Aufgeben hab ich noch den nächsten Link in Google angeklickt. Der brachte die Lösung. Ich poste sie falls jemand mal dasselbe Problem hat.
Code:
mount --bind /var/run/saslauthd/ /var/spool/postfix/var/run/saslauthd/
Nun funktioniert alles :-)
 
Last edited by a moderator:
ln /var/run/saslauthd/saslauthd.pid /var/spool/postfix/var/run/saslauthd/saslauthd.pid
Man verlinkt auch nicht das pid-File (weil ist nicht reboot-sicher) sondern das Verzeichnis:
Code:
/etc/init.d/saslauthd stop
rm -Rf /var/run/saslauthd
ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd
/etc/init.d/saslauthd start

huschi.
 
hi,

ich habe genau das gleiche Problem, beim authen am smtpd bekomme ich immer den log eintrag:
Dec 27 14:03:01 h1327156 postfix/smtpd[26332]: connect from dtmd-xxxxxxx.pool.einsundeins.de[77.178.xxx.xxx]
Dec 27 14:03:01 h1327156 postfix/smtpd[26332]: warning: SASL authentication failure: Password verification failed
Dec 27 14:03:01 h1327156 postfix/smtpd[26332]: warning: dtmd-xxxxxxx.pool.einsundeins.de[77.178.xxx.xxx]: SASL PLAIN authentication failed: authentication failure
Dec 27 14:03:01 h1327156 postfix/smtpd[26332]: lost connection after AUTH from dtmd-xxxxxxx.pool.einsundeins.de[77.178.xxx.xxx]
Dec 27 14:03:01 h1327156 postfix/smtpd[26332]: disconnect from dtmd-xxxxxxx.pool.einsundeins.de[77.178.xxx.xxx]

die x sind natürlich nicht im logfile drin, die habe ich nur erstzt um die ips unkenntlich zu machen.

Ich verwende auf meinem root Server Debian etch (4.0) und Syscp.
Empfangen geht super, nur schicken geht nicht, wegen des nicht funktionierenden saslauthd.

ich habe gerade mal bei mir den symlink eingerichtet, wie Huschi es geschrieben hat, aber nix ändert sich.

Musste man bei Syscp noch selber die sasldb anlegen? habe ich da vielleicht etwas übersehen?
Anbei meine config files( ps ich habe die passwörter aus den dateien gelöscht, die stehen da aber alle drin):

Noch eine Frage ist es wichtig, dass die ganzen mysql_...files keine leeren zeilen enthalten? Manche haben am ende nämlich noch eine leere zeile!?
#main.cf
root@h1327156:/etc/postfix# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
allow_untrusted_routing = no
bounce_size_limit = 65536
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
debug_peer_level = 2
default_destination_concurrency_limit = 16
default_privs = nobody
disable_vrfy_command = yes
header_size_limit = 32768
html_directory = /etc/postfix/html
in_flow_delay = 1s
inet_interfaces = localhost, 85.214.116.152
local_destination_concurrency_limit = 8
mail_owner = postfix
mail_spool_directory = /var/mail
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
message_size_limit = 32768000
mydestination = $myhostname $mydomain localhost localhost.$mydomain
mydomain = h1327156.stratoserver.net
myhostname = mail.h1327156.stratoserver.net
mynetworks = /etc/postfix/mynetworks
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /etc/postfix/readme
recipient_delimiter = +
sample_directory = /etc/postfix/sample
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtp_send_xforward_command = yes
smtpd_banner = $myhostname
smtpd_client_connection_count_limit = 10
smtpd_client_restrictions =
smtpd_error_sleep_time = 1s
smtpd_hard_error_limit = 20
smtpd_helo_required = yes
smtpd_helo_restrictions =
smtpd_proxy_ehlo = antispam.h1327156.stratoserver.net
smtpd_proxy_filter = 127.0.0.1:10024
smtpd_proxy_timeout = 180s
smtpd_recipient_limit = 128
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_invalid_hostname, reject_unauth_pipelining, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_multi_recipient_bounce, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unverified_recipient
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions =
smtpd_soft_error_limit = 10
smtpd_timeout = 180
soft_bounce = no
strict_rfc821_envelopes = yes
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
virtual_gid_maps = static:2000
virtual_mailbox_base = /var/kunden/mail/
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
virtual_uid_maps = static:2000

#mysql-virtual_alias_maps.cf
user = syscp
password =
dbname = syscp
table = mail_virtual
select_field = destination
where_field = email
additional_conditions = and destination <> '' and destination <> ' '
hosts = 127.0.0.1

#mysql-virtual_mailbox_domains.cf
user = syscp
password =
dbname = syscp
table = panel_domains
select_field = domain
where_field = domain
additional_conditions = and isemaildomain = '1'
hosts = 127.0.0.1

#mysql-virtual_mailbox_maps.cf
user = syscp
password =
dbname = syscp
table = mail_users
select_field = maildir
where_field = email
hosts = localhost

#/etc/postfix/sasl/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: plain login cram-md5 digest-md5
sql_engine: mysql
sql_hostnames: localhost
sql_user: syscp
sql_passwd:
sql_database: syscp
sql_select: select password from mail_users where email='%u@%r'
 
Gelöst: SASL authentication failure: no secret in database

Bin mittlerweile ein wenig weitergekommen, denke ich.
Hab herausgefunden, dass Saslauthd sein Pidfile nicht im Postfix Jail ablegt und Postfix so nicht mit Saslauthd zusammenarbeiten kann.
.....

Kurz vorm Aufgeben hab ich noch den nächsten Link in Google angeklickt. Der brachte die Lösung. Ich poste sie falls jemand mal dasselbe Problem hat.
Code:
mount --bind /var/run/saslauthd/ /var/spool/postfix/var/run/saslauthd
Nun funktioniert alles :-)

Wenn in den mysql*-files von postfix fürs mapping und sasl (also z.B. /etc/postfix/sasl/smtpd.conf)

Code:
sql_hostnames: localhost

steht, wird ein UNIX-socket zu mysqld gebaut, der dann mit allerlei tricks (siehe oben) wie mount oder mit "ln -s" aus dem chroot wieder befreit werden muss.

Wählt man aber
Code:
sql_hostnames: 127.0.0.1

dann wird ein TCP-Socket gebaut, und man hat keinen Ärger mit dem chroot.
Solche Geheimwissenschaften gibt es wohl nur mit postfix....
 
Back
Top