PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix SASL Problem



nfaa
01.01.05, 17:01
Hallo zusammen,
ich weiß, dass dieses THema bereits in einigen Threads besprochen worden ist, jedoch kann ich keine Problemlösung finden, da keiner mein Fehlerbild beinhaltete.

Ich möchte beim Senden von Mails die User gegen eine MySQL-DB authentifizieren. Das restliche Mailsystem ist aufgesetzt laut dem HowTo auf workaround.org (ispmail-sarge).

Die Fehlermeildung im mail.log zwischen "connect" und "disconnect" lautet "SASL LOGIN authentication failed". nicht mehr und nicht weniger.

Hier Infos zum System:

postfix 2.1.4-5
libsasl2
libsasl2-modules
libsasl2-modules-sql -> cyrus-sasl2 (2.1.19-1.5)


server:/# cat /etc/postfix/sasl/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sql
sql_engine: mysql
mech_list: plain login cram-md5 digest-md5
sql_hostname: <IP>:3306
sql_user: mail
sql_passwd: password
sql_database: mail
sql_select: select password from mailbox where username='%u@%r'
sql_verbose: yes
log_level: 7


telnet server 25
220 server.domain.com ESMTP Postfix (Debian/GNU)
ehlo test
250-server.domain.com
250-PIPELINING
250-SIZE 10485760
250-ETRN
250-STARTTLS
250-AUTH CRAM-MD5 DIGEST-MD5 LOGIN PLAIN
250-AUTH=CRAM-MD5 DIGEST-MD5 LOGIN PLAIN
250 8BITMIME


postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
delay_warning_time = 4h
disable_vrfy_command = yes
mailbox_command = procmail -a "$EXTENSION"
message_size_limit = 10485760
mydestination = localhost.localdomain, localhost.localdomain, localhost
myhostname = server.domain.com
mynetworks = 127.0.0.0/8, 192.168.2.0/24
myorigin = /etc/mailname
recipient_delimiter = +
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_helo_required = no
smtpd_recipient_limit = 16
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, reject_rbl_client relays.ordb.org, reject_rbl_client cbl.abuseat.org, reject_rbl_client list.dsbl.org, reject_rbl_client opm.blitzed.org, reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.mail-abuse.org, reject_rbl_client dialups.mail-abuse.org, reject_rbl_client bl.spamcop.net, reject_rbl_client relays.mail-abuse.org, reject_rbl_client sbl-xbl.spamhaus.org, reject_rhsbl_client blackhole.securitysage.com, reject_rhsbl_sender blackhole.securitysage.com,permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions = permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_rhsbl_sender dsn.rfc-ignorant.org, permit
smtpd_soft_error_limit = 12
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:105
virtual_mailbox_base = /var/mail
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_transport = virtual
virtual_uid_maps = static:104

nach einem Anmeldeversuch finden sich übrigens keine einträge im mysql.log

bitte um hilfe, da ich jetzt schon seit wochen dokumentationen lese, foren durchsuche usw. aber nichts brauchbares finden kann.

danke im Voraus

mfg, nfaa

Tomek
01.01.05, 23:03
Ändere in der /etc/postfix/sasl/smtpd.conf folgende Zeile:

sql_hostname: <IP>:3306
in:

sql_hostnames: localhost

Danach postfix neustarten und nochmal versuchen.

Dewitt
01.01.05, 23:05
Läuft dein Postfix vielleicht im chroot und kann deshalb nicht auf den MySQL socket zugreifen?

nfaa
02.01.05, 00:15
@tomek

danke, jetzt hab ich zumindest gut aussehende einträge im mysql.log...auch wenn die authentication immer noch nicht hinhaut, da anscheinend das verschlüsselte passwort probleme macht. wenn ich mich recht erinnere gibts für die smtpd.conf einen eintrag für verschlüsselte passwörter -> password_format: crypt

im mysql.log heißt die anfrage:
14125 Query select password from mailbox where username='user@domain.com'

eine manuelle abfrage liefert das verschlüsselte passwort. sasl kann aber anscheinend nix damit anfangen, da immernoch "SASL LOGIN authentication failed" im mail.info steht.

@dewitt

chroot hab ich davor schon deaktivert.

mccologne
02.01.05, 11:55
Hallo,

SASL kann keine CRYPT Passwörter aus einer MySQL-DB lesen.
Du mußt dich für eine Lösung endscheiden, a) Passwörter offen in die DB ablegen oder b) SASL-Patchen!
Hier eine Url mit Anleitung:
http://www.sol-linux.com/Private/Documentation/virtmail/?lang=English

Grüße
McCologne

nfaa
02.01.05, 13:01
...dann muss ich da wohl was unternehmen...

danke allen für die unterstützung