SASL Authetification, nichts funktioniert.

KSS

New Member
Hallo zusammen
Ich versuche gerade einen Mailserver mit Postfix auzusetzen. Die Benutzer sollen sich bevor sie E-Mails über den SMTP versenden können zuerst Authetifizieren müssen. Alles funktioniert wunderbar beim Maillsystem bis auf eben genau die Authentifizierung am SMTP.

Ich habe echt keine Ahnung wo der Fehler liegen könnte, deshalb bitte ich euch mal um Hilfe. Vielen Dank.

Code:
v220101174384390:/etc/postfix# saslfinger -c
saslfinger - postfix Cyrus sasl configuration Thu Dec 16 10:02:27 UTC 2010
version: 1.0.4
mode: client-side SMTP AUTH

-- basics --
Postfix: 2.5.5
System: Debian GNU/Linux 5.0 \n \l

-- smtp is linked to --
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xf74c5000)

-- active SMTP AUTH and TLS parameters for smtp --
No active SMTP AUTH and TLS parameters for smtp in main.cf!
SMTP AUTH can't work!
v220101174384390:/etc/postfix# saslfinger -s
saslfinger - postfix Cyrus sasl configuration Thu Dec 16 10:02:44 UTC 2010
version: 1.0.4
mode: server-side SMTP AUTH

-- basics --
Postfix: 2.5.5
System: Debian GNU/Linux 5.0 \n \l

-- smtpd is linked to --
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xf7554000)

-- active SMTP AUTH and TLS parameters for smtpd --
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes


-- listing of /usr/lib/sasl2 --
total 788
drwxr-xr-x  2 root root  4096 Dec  8 12:28 .
drwxr-xr-x 49 root root 20480 Dec  8 12:49 ..
-rw-r--r--  1 root root 13476 May 24  2009 libanonymous.a
-rw-r--r--  1 root root   855 May 24  2009 libanonymous.la
-rw-r--r--  1 root root 13016 May 24  2009 libanonymous.so
-rw-r--r--  1 root root 13016 May 24  2009 libanonymous.so.2
-rw-r--r--  1 root root 13016 May 24  2009 libanonymous.so.2.0.22
-rw-r--r--  1 root root 15814 May 24  2009 libcrammd5.a
-rw-r--r--  1 root root   841 May 24  2009 libcrammd5.la
-rw-r--r--  1 root root 15352 May 24  2009 libcrammd5.so
-rw-r--r--  1 root root 15352 May 24  2009 libcrammd5.so.2
-rw-r--r--  1 root root 15352 May 24  2009 libcrammd5.so.2.0.22
-rw-r--r--  1 root root 46420 May 24  2009 libdigestmd5.a
-rw-r--r--  1 root root   864 May 24  2009 libdigestmd5.la
-rw-r--r--  1 root root 43500 May 24  2009 libdigestmd5.so
-rw-r--r--  1 root root 43500 May 24  2009 libdigestmd5.so.2
-rw-r--r--  1 root root 43500 May 24  2009 libdigestmd5.so.2.0.22
-rw-r--r--  1 root root 13650 May 24  2009 liblogin.a
-rw-r--r--  1 root root   835 May 24  2009 liblogin.la
-rw-r--r--  1 root root 13460 May 24  2009 liblogin.so
-rw-r--r--  1 root root 13460 May 24  2009 liblogin.so.2
-rw-r--r--  1 root root 13460 May 24  2009 liblogin.so.2.0.22
-rw-r--r--  1 root root 29076 May 24  2009 libntlm.a
-rw-r--r--  1 root root   829 May 24  2009 libntlm.la
-rw-r--r--  1 root root 28532 May 24  2009 libntlm.so
-rw-r--r--  1 root root 28532 May 24  2009 libntlm.so.2
-rw-r--r--  1 root root 28532 May 24  2009 libntlm.so.2.0.22
-rw-r--r--  1 root root 13970 May 24  2009 libplain.a
-rw-r--r--  1 root root   835 May 24  2009 libplain.la
-rw-r--r--  1 root root 14036 May 24  2009 libplain.so
-rw-r--r--  1 root root 14036 May 24  2009 libplain.so.2
-rw-r--r--  1 root root 14036 May 24  2009 libplain.so.2.0.22
-rw-r--r--  1 root root 21710 May 24  2009 libsasldb.a
-rw-r--r--  1 root root   866 May 24  2009 libsasldb.la
-rw-r--r--  1 root root 18080 May 24  2009 libsasldb.so
-rw-r--r--  1 root root 18080 May 24  2009 libsasldb.so.2
-rw-r--r--  1 root root 18080 May 24  2009 libsasldb.so.2.0.22
-rw-r--r--  1 root root 23804 May 24  2009 libsql.a
-rw-r--r--  1 root root   964 May 24  2009 libsql.la
-rw-r--r--  1 root root 23312 May 24  2009 libsql.so
-rw-r--r--  1 root root 23312 May 24  2009 libsql.so.2
-rw-r--r--  1 root root 23312 May 24  2009 libsql.so.2.0.22

-- listing of /etc/postfix/sasl --
total 16
drwxr-xr-x 2 root root 4096 Dec 15 20:18 .
drwxr-xr-x 3 root root 4096 Dec 16 10:01 ..
-rw-r--r-- 1 root root  246 Dec 15 20:18 smtpd.conf
-rw-r--r-- 1 root root  262 Dec 15 20:18 smtpd.conf~




-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method: saslauthd
mech_list: plain login
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: --- replaced ---
sql_passwd: --- replaced ---
sql_database: xxxx
sql_select: select password from users where email = '%u'

-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method: saslauthd
mech_list: plain login
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: --- replaced ---
sql_passwd: --- replaced ---
sql_database: xxxxx
sql_select: select password from users where email = '%u'


-- active services in /etc/postfix/master.cf --
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
smtp      inet  n       -       n       -       -       smtpd
pickup    fifo  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
        -o smtp_fallback_relay=
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix  -       n       n       -       2       pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

-- mechanisms on localhost --
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN


-- end of saslfinger output --

Datenbankstruktur:

Code:
-- phpMyAdmin SQL Dump
-- version 3.3.8
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 16. Dezember 2010 um 10:11
-- Server Version: 5.0.51
-- PHP-Version: 5.2.6-1+lenny9

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Datenbank: `xxxxx`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `users`
--

CREATE TABLE IF NOT EXISTS `users` (
  `email` varchar(80) NOT NULL,
  `password` varchar(20) NOT NULL,
  `quota` int(10) default '10485760',
  PRIMARY KEY  (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `users`
--

INSERT INTO `users` (`email`, `password`, `quota`) VALUES
('info@domain.ch', 'ENCRYPTED_PASSWORD', 10485760);

Falls ihr noch mehr Informationen benötigt, sagt bitte bescheid.

Bin über jede Hilfe dankbar.

Freundliche Grüsse
KSS
 
saslauthd, sollte es sein.

Habe jetzt das auxprop_plugin: mysql aus der smtpd.conf rausgenommen.
jedoch funktioniert immer noch nichts, bin am verzweifeln :(

Hier noch ein ausschnit aus der mai.log vlt. hilfts.

Dec 20 12:07:29 v220101174384390 postfix/master[21112]: daemon started -- version 2.5.5, configuration /etc/postfix
Dec 20 12:09:35 v220101174384390 postfix/smtpd[21982]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Dec 20 12:09:35 v220101174384390 postfix/smtpd[21982]: connect from localhost.localdomain[127.0.0.1]
Dec 20 12:12:27 v220101174384390 postfix/smtpd[21982]: disconnect from localhost.localdomain[127.0.0.1]
Dec 20 12:13:51 v220101174384390 postfix/smtpd[21982]: connect from localhost.localdomain[127.0.0.1]
Dec 20 12:14:06 v220101174384390 postfix/smtpd[21982]: warning: SASL authentication failure: Password verification failed
Dec 20 12:14:06 v220101174384390 postfix/smtpd[21982]: warning: localhost.localdomain[127.0.0.1]: SASL PLAIN authentication failed: authentication failure
Dec 20 12:14:09 v220101174384390 postfix/smtpd[21982]: disconnect from localhost.localdomain[127.0.0.1]

Was ich auch nicht ganz begreiffe ist die mysql abfrage die von Postfix getätigt wird:

101220 12:25:37 338 Connect xxxx@localhost on xxxxx
338 Quit
339 Connect xxxxxx@localhost on xxxxxx
339 Quit
340 Connect xxxxx@localhost on xxxxxx
340 Init DB xxxxxxxxx
340 Query SELECT password FROM users WHERE email = 'info'

Müsste das in meinem Falle nicht 340 Query SELECT password FROM users WHERE email = 'info@domain.ch' sein?
 
Last edited by a moderator:
saslauthd, sollte es sein.
Dann musst du Cyrus SASL bzw. den saslauthd auch korrekt konfigurieren. Die sql_* Konfigurationsoptionen werden nur mit auxprop ausgewertet.

Müsste das in meinem Falle nicht 340 Query SELECT password FROM users WHERE email = 'info@domain.ch' sein?
Nein. %u enthält nur den localpart der E-Mail-Adresse. Du suchst vermutlich "%u@%r", wobei %r der Realm ist.

Das steht übrigens auch alles schön in der offiziellen Postfix-Doku: http://www.postfix.org/SASL_README.html#auxprop_sql
 
Back
Top