• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Postfix und SMTP-Auth mit SASL über MySQL

Status
Für weitere Antworten geschlossen.

nils-l

Member
Hallo, ich mal wieder... glaube, ich bekomme meinen Mailserver nie zum Laufen :oops: :roll: :cry:
Diesmal hapert es an SMTP-Auth. Es läuft ein Postfix, der nimmt Mails an, die ich auch per Imap (Courier) abholen kann. Soweit prima!
Durch das viele rumprobieren (auch mit Cyrus als Imap-Server) gibts jetzt so viele Dateien, dass ich kaum noch durchblicke :roll:

Aber zum eigentlichen Problem:
Versuche ich, über den Server eine Mail zu verschicken, erscheint im LOG folgendes:
Code:
warning: SASL authentication failure: no secret in database
warning: i577A4819.versanet.de[87.122.72.25]: SASL CRAM-MD5 authentication failed
warning: SASL authentication failure: Password verification failed
warning: i577A4819.versanet.de[87.122.72.25]: SASL PLAIN authentication failed
warning: i577A4819.versanet.de[87.122.72.25]: SASL LOGIN authentication failed

In der main.cf ist folgendes eingetragen:
Code:
smtpd_recipient_restrictions = check_relay_domains, permit_sasl_authenticated
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes

Dann habe ich eine /etc/pam.d/smtp(d) (beide haben den gleichen Inhalt):
Code:
#%PAM-1.0

#auth     required       pam_unix2.so   nullok
#account  required       pam_unix2.so
#password required       pam_pwcheck.so  nullok
#password required       pam_unix2.so    nullok use_first_pass use_authtok
#session  required       pam_unix2.so   none # debug or trace

auth sufficient pam_mysql.so user=yyy passwd=xxx host=localhost db=virtual_server_database table=mail_virtboxes usercolumn=address passwdcolumn=password crypt=0 logtable=
log logmsgcolumn=message logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time
account required pam_mysql.so user=yyy passwd=xxx host=localhost db=virtual_server_database table=mail_virtboxes usercolumn=address passwdcolumn=password crypt=0 logtable
=log logmsgcolumn=message logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time

Und dann noch eine /usr/(local/)lib/sasl2/smtpd.conf:
Code:
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5
log_level: 3

sql_engine: mysql
sql_hostnames: localhost
sql_database: virtual_server_database
sql_user: yyy
sql_passwd: xxx
sql_select: SELECT %p FROM mail_virtboxes WHERE address = '%u'
sql_usessl: no

Ein testsaslauthd -u username -p passwort ist übrigens erfolgreich...

So langsam bin ich am verzweifeln :oops: :cry:
 
OP
N

nils-l

Member
crazyrolf schrieb:
Mach es doch so:

http://www.linux-club.de/viewtopic.php?t=39683
Äh, habe ich mehr oder weniger. Aber wo/wie findet da die authentifizierung zum Versenden von Mails über den Server statt?

pop3/imap-before-smtp wollte ich eigentlich nicht machen... SMTP-Auth muss ja schließlich auch gehen :oops:
 

crazyrolf

Advanced Hacker
Mit pop3/imap-before-smtp hast du aber keine Arbeit!

Einmal einrichten und ruhe ist, egal wie viele user dazu kommen.
 
OP
N

nils-l

Member
crazyrolf schrieb:
Einmal einrichten und ruhe ist, egal wie viele user dazu kommen.

Das gilt für SMTP-Auth doch auch. Die "IMAP-User" stehen ja in der Datenbank drin, und die gleichen Benutzernamen/Passwörter werden dann für SMTP-Auth benutzt...

Außerdem umgehe ich mit imap/pop-before-smtp mein Problem nur, anstatt es zu lösen :)
 
OP
N

nils-l

Member
Achso, habe noch zwei weitere Dateien gefunden:

/etc/sysconfig/saslauthd:
Code:
SASLAUTHD_AUTHMECH=pam
und /etc/sysconfig/postfix:
Code:
POSTFIX_RELAYHOST=""
POSTFIX_MASQUERADE_DOMAIN=""
POSTFIX_LOCALDOMAINS=""
POSTFIX_NULLCLIENT="no"
POSTFIX_DIALUP="no"
POSTFIX_NODNS="no"
POSTFIX_CHROOT="no"
POSTFIX_UPDATE_CHROOT_JAIL=no
POSTFIX_LAPTOP=no
POSTFIX_UPDATE_MAPS=yes
POSTFIX_MAP_LIST="virtual transport access canonical sender_canonical relocated sasl_passwd:600 relay_ccerts"
POSTFIX_RBL_HOSTS=""
POSTFIX_BASIC_SPAM_PREVENTION=off
POSTFIX_MDA=local
POSTFIX_SMTP_AUTH_SERVER=yes
POSTFIX_SMTP_AUTH=no
POSTFIX_SMTP_AUTH_OPTIONS=""
POSTFIX_SMTP_TLS_SERVER=no
POSTFIX_SMTP_TLS_CLIENT="no"
POSTFIX_SSL_PATH="/etc/postfix/ssl"
POSTFIX_TLS_CAFILE="cacert.pem"
POSTFIX_TLS_CERTFILE="certs/postfixcert.pem"
POSTFIX_TLS_KEYFILE="certs/postfixkey.pem"
POSTFIX_SSL_COUNTRY="XX"
POSTFIX_SSL_STATE="Some state"
POSTFIX_SSL_LOCALITY="Some locality"
POSTFIX_SSL_ORGANIZATION="Some Organization"
POSTFIX_SSL_ORGANIZATIONAL_UNIT="Some Organizational Unit"
POSTFIX_SSL_COMMON_NAME="A common name"
POSTFIX_SSL_EMAIL_ADDRESS="postmaster"
POSTFIX_ADD_MAILBOX_SIZE_LIMIT=0
POSTFIX_ADD_MESSAGE_SIZE_LIMIT=10240000
POSTFIX_REGISTER_SLP="yes"
In der /etc/sysconfig/postfix stand vorher POSTFIX_SMTP_AUTH_SERVER=no, das habe ich in POSTFIX_SMTP_AUTH_SERVER=yes geändert, tut sich aber auch nichts...

Welche Konfigurationsdateien sind denn jetzt überhaupt von Bedeutung bzw. wie hängen sie zusammen... Habe da den Überblick verloren :cry:
Achso, System ist Suse 9.2
 

crazyrolf

Advanced Hacker
/etc/sysconfig/saslauthd


## Path: System/Security/SASL
## Type: list(getpwent,kerberos5,pam,rimap,shadow,ldap)
## Default: pam
## ServiceRestart: saslauthd
#
# Authentication mechanism to use by saslauthd.
# See man 8 saslauthd for available mechanisms.
#
SASLAUTHD_AUTHMECH=rimap
 
OP
N

nils-l

Member
Hab ich getan und saslauthd mit
Code:
 saslauthd -a rimap -O 62.75.204.106
gestartet...
Die Fehlermeldungen in /var/log/mail sind die gleichen wie vorher :cry:
 
OP
N

nils-l

Member
Ich möchte mal behaupten ja...
postconf -m gibt folgendes aus:
Code:
btree
cidr
environ
hash
mysql
nis
proxy
regexp
static
unix
In der main.cf steht ja auch ein smtpd_sasl_auth_enable = yes, da würde er sonst ja sicher meckern, oder?
 
Status
Für weitere Antworten geschlossen.
Oben