# SASL Auth / SMTP schlägt fehl (Ubuntu 8.04)



## kaY (20. Feb. 2009)

Guten Tag,

nach gefühlten 48h am basteln der Konfiguration von Postfix-SASL
sehe ich mich gezwungen (  ) hier einen Beitrag zu eröffnen.

Was habe ich bereits gemacht:
1. Der Server ist nach dem Pefect Server Setup 8.04 aufgebaut
2. ISPConfig ist installiert und läuft prächtig
3. Postfix, SASL, Courier ist alles installiert und läuft - augenscheinlich - korrekt
4. Das Forum habe ich schon hoch un runter durchsucht, leider ohne Erfolg

Problembeschreibung:
Das Versenden von E-Mails auf dem Server per Webmail funktioniert tadellos.
Es werden auch E-Mails von ausserhalb ordentlich empfangen.
Das Versenden von E-Mails von ausserhalb über den MTA geht nicht.

*Fehlermeldung* (mail.log) *beim Senden* (Thunderbird):


```
Feb 20 17:41:14 XXX-XXX-XXX-XXX postfix/smtpd[8917]: connect from p4FC0EF8E.dip.t-dialin.net[79.192.239.142]
Feb 20 17:41:14 XXX-XXX-XXX-XXX postfix/smtpd[8917]: setting up TLS connection from p4FC0EF8E.dip.t-dialin.net[79.192.239.142]
Feb 20 17:41:14 XXX-XXX-XXX-XXX postfix/smtpd[8917]: Anonymous TLS connection established from p4FC0EF8E.dip.t-dialin.net[79.192.239.142]: SSLv3 with cipher DHE-RSA-AES256-SHA (256/256 bits)
Feb 20 17:41:17 XXX-XXX-XXX-XXX postfix/smtpd[8917]: warning: SASL authentication failure: cannot connect to saslauthd server: Connection refused
Feb 20 17:41:17 XXX-XXX-XXX-XXX postfix/smtpd[8917]: warning: SASL authentication failure: Password verification failed
Feb 20 17:41:17 XXX-XXX-XXX-XXX postfix/smtpd[8917]: warning: p4FC0EF8E.dip.t-dialin.net[79.192.239.142]: SASL PLAIN authentication failed: generic failure
Feb 20 17:41:18 XXX-XXX-XXX-XXX postfix/smtpd[8917]: warning: SASL authentication failure: cannot connect to saslauthd server: Connection refused
Feb 20 17:41:18 XXX-XXX-XXX-XXX postfix/smtpd[8917]: warning: p4FC0EF8E.dip.t-dialin.net[79.192.239.142]: SASL LOGIN authentication failed: generic failure
Feb 20 17:41:19 XXX-XXX-XXX-XXX postfix/smtpd[8917]: disconnect from p4FC0EF8E.dip.t-dialin.net[79.192.239.142]
```
Ein *telnet localhost 25 *zeigt folgendes:


```
root@XXX-XXX-XXX-XXX:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.meinhost.de ESMTP Postfix (Ubuntu)
ehlo localhost
250-mail.meinhost.de
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
```
Inhalt der *main.cf*:


```
# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_use_tls = yes
smtpd_tls_auth_only = no
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

# Postfix Mains
myhostname = mail.meinhost.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = /etc/postfix/local-host-names
relayhost =
mynetworks = 127.0.0.0/8
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all

# SASL parameters
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_helo_required = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
broken_sasl_auth_clients = yes

# ISPConfig
virtual_maps = hash:/etc/postfix/virtusertable
home_mailbox = Maildir/
```
Inhalt der *smtpd.conf*:


```
saslauthd_path: /var/run/saslauthd/mux/
pwcheck_method: saslauthd
mech_list: plain login
autotransition: true
```
Inhalt der *saslauthd*:


```
#
# Settings for saslauthd daemon
# Please read /usr/share/doc/sasl2-bin/README.Debian for details.
#

# Should saslauthd run automatically on startup? (default: no)
START=yes

# Description of this saslauthd instance. Recommended.
# (suggestion: SASL Authentication Daemon)
DESC="SASL Authentication Daemon"

# Short name of this saslauthd instance. Strongly recommended.
# (suggestion: saslauthd)
NAME="saslauthd"

# Which authentication mechanisms should saslauthd use? (default: pam)
#
# Available options in this Debian package:
# getpwent  -- use the getpwent() library function
# kerberos5 -- use Kerberos 5
# pam       -- use PAM
# rimap     -- use a remote IMAP server
# shadow    -- use the local shadow password file
# sasldb    -- use the local sasldb database file
# ldap      -- use LDAP (configuration is in /etc/saslauthd.conf)
#
# Only one option may be used at a time. See the saslauthd man page
# for more information.
#
# Example: MECHANISMS="pam"
MECHANISMS="pam"

# Additional options for this mechanism. (default: none)
# See the saslauthd man page for information about mech-specific options.
MECH_OPTIONS=""

# How many saslauthd processes should we run? (default: 5)
# A value of 0 will fork a new process for each connection.
THREADS=5

# Other options (default: -c -m /var/run/saslauthd)
# Note: You MUST specify the -m option or saslauthd won't run!
#
# See /usr/share/doc/sasl2-bin/README.Debian for Debian-specific information.
# See the saslauthd man page for general information about these options.
#
# Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
#OPTIONS="-c -m /var/run/saslauthd"

OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

#PARAMS="-m /var/spool/postfix/var/run/saslauthd"
#PWDIR="/var/spool/postfix/var/run/saslauthd"
#PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid"
```
*ps aux | grep sasl* zeigt folgendes:


```
postfix   9608  0.0  0.1   6456  3524 ?        S    18:11   0:00 smtpd -n smtps -t inet -u -c -o stress  -s 2 -o smtpd_tls_wrappermode yes -o smtpd_sasl_auth_enable yes
root      9658  0.0  0.0   3004   768 pts/0    S+   18:13   0:00 grep sasl
```
Hab ich was übersehen? Sollte mehr Input gewünscht sein, einfach fragen.
Für Eure Hilfe - vielen Dank im Voraus.


----------



## Till (20. Feb. 2009)

Der sasl auth daemon läuft nicht. starte ihn bitte mal über das start script in /etc/init.d/


----------



## kaY (20. Feb. 2009)

```
root@:~#/etc/init.d/saslauthd start
 * Starting SASL Authentication Daemon saslauthd                         [ OK ]
```
*ps aux | grep sasl* zeigt das gleich wie oben beschrieben!

Errorlogs (syslog, mail.log) keine Einträge zum SASL Authd


----------



## Till (21. Feb. 2009)

Die Config Dateien sehen ok aus. Ruf bitte nochmal auf:

mkdir -p /var/spool/postfix/var/run/saslauthd
adduser postfix sasl

und starte sasl nochmal.


----------



## kaY (21. Feb. 2009)

Keine Besserung in Sicht. SaslAuthD sagt OK aber ps aux ... bleibt leer.

Sollte ich das gesamte SASL Zeugs sauber deinstallieren und nochmal
installieren? Ich glaube da hakt es etwas ...

btw.
Ich hatte vorher Dovecot als POP/IMAP Deliverer drauf. Da hat alles
prima funktioniert. Hatte dann aber im Zuge von der ISPConfig Installation
Courier installiert ... gibt es dort vielleicht ein Problem?


----------



## Till (21. Feb. 2009)

ISPConfig funktioniert mit Dovecot und Courier gleichgut.

Das heißt aber dass Du vorher bereits ein mailsystem auf dem server hattest, das ist vermutlich das Problem. ISPConfig sollte immer nur auf ein 'leeres' System installeirt werden. War das ein virtual user setup das gegen mysql authentifiziert?


----------



## kaY (21. Feb. 2009)

Nein, ich hatte gegen *shadow* authentifiziert.
Langsam bin ich echt ratlos ... ich werde die SASL Konfig nochmal
neu machen. Vielleicht hilft es ja. Ansonsten bau ich den Server neu auf ...


----------



## Till (22. Feb. 2009)

Ja, würde ich auch so versuchen.


----------



## kaY (22. Feb. 2009)

Mensch Till, es *läuft*. Vielen Dank für Deine Unterstützung 
Es war wohl wirklich irgendwas in der SASL Konfig verbogen.

Nach Deinstallieren der SASL Module und Neuinstallation
funktioniert alles sauber und ohne Fehler.


----------



## speedy8 (26. Nov. 2010)

Hi,

ich kämpfe genau mit demselben Problem, Mailempfang klappt wunderbar, Mailabruf sowohl von Webmailer als auch von Thunderbird klappt auch problemlos, aber beim Email-Versand gibt es Probleme.

Emailversand vom Webmailer klappt problemlos, Emailversand via Thunderbird klappt nicht, dort erhalte ich die Fehlermeldung in der /var/log/mail.log


```
Nov 26 22:39:31 galaxy5 postfix/smtpd[5523]: warning: SASL 
authentication failure: Password verification failed
Nov 26 22:39:31 galaxy5 postfix/smtpd[5523]: warning: 
port-92-195-66-215.dynamic.qsc.de[92.195.66.215]: SASL PLAIN 
authentication failed: authentication failure
Nov 26 22:39:31 galaxy5 postfix/smtpd[5523]: warning: 
port-92-195-66-215.dynamic.qsc.de[92.195.66.215]: SASL LOGIN 
authentication failed: authentication failure
```



Zitat von kaY:


> ...
> Es war wohl wirklich irgendwas in der SASL Konfig verbogen.
> 
> Nach Deinstallieren der SASL Module und Neuinstallation
> funktioniert alles sauber und ohne Fehler.


Könnte ich erfahren, was ich hier genau machen muss? Welche Pakete muss ich deinstallieren und wieder installieren? Vielleicht muss ich noch dazusagen, dass ich mit Debian noch nicht so recht firm bin, nutze zu Hause nämlich nur Opensuse.

Wäre Super, wenn mir hier jemand weiterhelfen könnte, denn der Server ist ansonsten fertig konfiguriert.

Mfg

PS: Vielleicht sollte ich noch dazu sagen, dass ich auf meinem VServer eine "Debian 5"-Grundinstallationsimage eingespielt habe, welches ich dann über Update vollständig nach dieser Anleitung installiert und eingerichtet habe.


----------

