saslauthd pam_authenticate failed

UCS Mailstack (Handbuch)

saslauthd pam_authenticate failed

Postby Valexus » Fri 3. Jul 2015, 13:42

Hallo Community,

ich habe einen aktuellen UCS Server mit Zarafa an unser Active Directory angebunden. (corp.domain.de)

Dabei musste ich den Netbios Name des Zarafa Servers ändern, da dieser auf "corp" und nicht "domain" stand. Mit dieser Anleitung:
http://sdb.univention.de/content/6/313/ ... anged.html

Der Login innerhalb webapp sowie webaccess funktioniert problemlos.
Nach kopieren der Mails mit imapsync vom alten auf den neuen Server kann der Benutzer sich problemlos mit Thunderbird per Imap mit "STARTTLS" Verschlüsselung zum Server verbinden.

Beim SMTP Server jedoch funktioniert dies nur mit Verbindungssicherheit "Keine".

Folgende Fehlermeldungen habe ich:

/var/log/auth.log:
Jul 3 13:35:49 hostname saslauthd[9917]: nss_ldap: reconnecting to LDAP server...
Jul 3 13:35:49 hostname saslauthd[9917]: nss_ldap: reconnected to LDAP server ldap://hostname.corp.domain.de:7389 after 1 attempt
Jul 3 13:35:49 hostname saslauthd[9917]: pam_unix(smtp:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost= user=username
Jul 3 13:35:49 hostname PAM-univentionmailcyrus[9917]: No or ambigous result, found 0 entries.
Jul 3 13:35:49 hostname PAM-univentionmailcyrus[9917]: failed to map username
Jul 3 13:35:51 hostname saslauthd[9917]: DEBUG: auth_pam: pam_authenticate failed: User not known to the underlying authentication module
Jul 3 13:35:51 hostname saslauthd[9917]: do_auth : auth failure: [user=username] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]

/var/log/mail.info
Jul 3 13:35:48 hostname postfix/smtpd[16244]: connect from hostname.corp.domain.de[192.168.10.111]
Jul 3 13:35:51 hostname postfix/smtpd[16244]: warning: SASL authentication failure: Password verification failed
Jul 3 13:35:51 hostname postfix/smtpd[16244]: warning: hostname.corp.domain.de[192.168.10.111]: SASL PLAIN authentication failed: authentication failure
Jul 3 13:35:53 hostname postfix/smtpd[16244]: warning: hostname.corp.domain.de[192.168.10.111]: SASL LOGIN authentication failed: authentication failure
Jul 3 13:37:33 hostname postfix/smtpd[16244]: lost connection after AUTH from hostname.corp.domain.de[192.168.10.111]
Jul 3 13:37:33 hostname postfix/smtpd[16244]: disconnect from hostname.corp.domain.de[192.168.10.111]

root@hostname:/etc/default# testsaslauthd -u username -p password
0: NO "authentication failed"
root@hostname:/etc/default# testsaslauthd -u username@domain -p password
0: NO "authentication failed"
root@hostname:/etc/default# testsaslauthd -u username@corp.domain.de -p password
0: NO "authentication failed"

Offenbar kann der saslauthd nicht auf den User zugreifen. Eine Testinstallation von UCS mit lokalen Benutzern funktioniert aktuell Problemlos.
Bin leider hier gerade am Ende mit meinen Lateien, kann mir hier jemand helfen?

Update1:
Es funktioniert komischerweise mit der E-Mail Adresse als Loginname aber nicht mit dem Benutzer...
Hat jemand eine Idee wo ich das umstellen kann?

root@hostname:/etc/default# testsaslauthd -u mailadress@domain.de -p 'password' -s smtp
0: OK "Success."

VG
Val
Valexus
 
Posts: 7
Joined: Mon 27. Apr 2015, 17:10

Re: saslauthd pam_authenticate failed

Postby Valexus » Fri 3. Jul 2015, 15:58

Kann leider nicht nochmal meinen Beitrag bearbeiten...

In der Datei /etc/pam.d/smtp steht folgendes:

auth sufficient pam_unix.so
auth requisite pam_univentionmailcyrus.so ldap_host=hostname.corp.domain.de ldap_base=dc=corp,dc=domain,dc=de from_attr=mailPrimaryAddress to_attr=uid binddn=cn=hostname,cn=dc,cn=computers,dc=corp,dc=domain,dc=de pwfile=/etc/machine.secret ldap_port=7389


Kann es sein, dass dieser Punkt nicht funktioniert?
from_attr=mailPrimaryAddress to_attr=uid

VG
Val
Valexus
 
Posts: 7
Joined: Mon 27. Apr 2015, 17:10

Re: saslauthd pam_authenticate failed

Postby Gohmann » Thu 9. Jul 2015, 21:40

Das Problem ist etwas komplizierter. ;)

Der saslauthd verwendet PAM:
Code: Select all
auth    sufficient    pam_unix.so
auth requisite pam_univentionmailcyrus.so ldap_host=master401.deadlock40.intranet ldap_base=dc=deadlock40,dc=intranet from_attr=mailPrimaryAddress to_attr=uid binddn=cn=master401,cn=dc,cn=computers,dc=deadlock40,dc=intranet  pwfile=/etc/machine.secret ldap_port=7389

auth    sufficient    pam_ldap.so use_first_pass
auth    required      pam_krb5.so use_first_pass

account  sufficient   pam_unix.so
account  required     pam_ldap.so

Die Reihenfolge ist jetzt folgende, zuerst wird pam_unix verwendet, also Authentifizierung via libnss-Datenbanken. Danach wird der Benutzername von einer Mailadresse auf einen Benutzernamen gewandelt und anschließend wird LDAP oder Kerberos geprüft.

Auf einem Standard-UCS ist pam_unix erfolgreich, auch für LDAP Benutzer, da diese inkl. Passwort Hash via getent shadow aufgelöst werden können. Wird UCS Mitglied in einer AD Domäne oder ist ein Samba 4 installiert und das Passwort wurde im Samba 4 geändert, so ist der Passwort Hash nicht via getent shadow gelistet und die pam_unix Authentifizierung scheitert.

Durch requisite pam_univentionmailcyrus.so scheitert dann die Umwandlung der Mailadresse in den Benutzernamen. Ursprünglich wurde für die SMTP Authentifizierung immer nur die E-Mail Adresse verwendet.

Lösungsansätze:
- E-Mail-Adresse für die Authentifizierung verwenden
- In der Datei /etc/univention/templates/files/etc/pam.d/smtp requisite pam_univentionmailcyrus.so auf optional pam_univentionmailcyrus.so ändern, danach "ucr commit /etc/pam.d/smtp" und den saslauthd neu starten
- Bug anlegen

Hoffe das hilft weiter.
User avatar
Gohmann
Univention Entwicklung
 
Posts: 416
Joined: Sat 13. Aug 2005, 17:03
Location: Bremen

Re: saslauthd pam_authenticate failed

Postby nickvergessen » Wed 9. Nov 2016, 17:17

Hallo,

wir haben aktuell das selbe Problem.
Wir würden gerne den username bei der Postfix-Anmeldung nutzen wollen jedoch klappt das nicht wir haben bereits die /etc/pam.d/smtp wie beschrieben angepasst und ein
Code: Select all
testsaslauthd -u username -p $(cat /tmp/pw) -s smtp
0: OK "Success."

klappt auch.
Jedoch nicht wenn ich mich dann authentifizieren möchte..
Code: Select all
Nov  9 16:15:27 umail2 postfix/smtpd[10376]: connect from unknown[172.18.5.182]
Nov  9 16:15:29 umail2 postfix/smtpd[10376]: warning: unknown[172.18.5.182]: SASL PLAIN authentication failed:

kann es evtl daran liegen das in der /etc/postfix/main.cf
Code: Select all
smtpd_sasl_type = dovecot

drin steht und wir deswegen die /etc/pam.d/dovecot anpassen müssen?

Vielen Dank vorab!
nickvergessen
 
Posts: 7
Joined: Tue 30. Aug 2016, 13:50

Re: saslauthd pam_authenticate failed

Postby ahrnke » Wed 9. Nov 2016, 18:05

Hallo,

ich glaube, dass es auch hier besser wäre ein neues Thema zu öffnen.
Ursprünglich ging es hier mal um Zarafa und smtpd_sasl_type sollte auch seit Erratum 296 für 4.0 vom September 2015 nicht mehr auf "dovecot" stehen (Bug #39151).

Viele Grüße,
Dirk Ahrnke
User avatar
ahrnke
it25 GmbH
 
Posts: 1367
Joined: Sat 29. Oct 2005, 10:50

Re: saslauthd pam_authenticate failed

Postby nickvergessen » Thu 10. Nov 2016, 11:00

obwohl wir 4.0-2 errata342 haben war das dennoch auf dovecot und meine Vermutung hat sich bestätigt, es wird dort dovecot-auth genutzt, was gut ist - jetzt können sich die User mit dem benutzernamen, vorname.nachname und primary-mailaddress anmelden, sowohl bei postfix als auch bei dovecot.

für alle die hier auf den Thread stossen und das auch haben wollen:
die Dateien müssen wie folgt aussehen:
/etc/dovecot/conf.d/auth-ldap.conf.ext
Code: Select all
passdb {
  driver = ldap
  args = /etc/dovecot/dovecot-ldap.conf.ext
}

userdb {
  driver = prefetch
}
###
userdb {
  driver = ldap
  args = /etc/dovecot/dovecot-ldap.conf.ext

  # Default fields can be used to specify defaults that LDAP may override
  #default_fields = home=/home/virtual/%u
}


hier nur die wichtigen Änderungen:
/etc/dovecot/dovecot-ldap.conf.ext
Code: Select all
auth_bind = yes

user_attrs = mailPrimaryAddress=user,=uid=dovemail,=gid=dovemail,uid=system_groups_user,univentionMailUserQuota=quota_rule=*:bytes=%$M,cyrus-userquota=quota_rule=*:bytes=%$M

user_filter = (&(|(objectClass=univentionMail)(objectClass=univentionMailSharedFolder)(objectClass=oxSharedFolder))(|(!(univentionMailHomeServer=*))(univentionMailHomeServer=<MAILSERVER>))(|(mailPrimaryAddress=%u)(uid=%n)))

pass_attrs = uid=user,userPassword=password,univentionMailUserQuota=userdb_quota_rule=*:bytes=%$M,cyrus-userquota=userdb_quota_rule=*:bytes=%$M

pass_filter = (&(|(objectClass=univentionMail)(objectClass=univentionMailSharedFolder)(objectClass=oxSharedFolder))(|(!(univentionMailHomeServer=*))(univentionMailHomeServer=u<MAILSERVER>))(|(mailPrimaryAddress=%u)(uid=%n)))

und darauf achten das postfix auch dovecot fragt:
/etc/postfix/main.cf
Code: Select all
smtpd_sasl_type = dovecot
nickvergessen
 
Posts: 7
Joined: Tue 30. Aug 2016, 13:50

Re: saslauthd pam_authenticate failed

Postby nickvergessen » Thu 10. Nov 2016, 15:19

ACHTUNG FEHLER..

es muss korrekt heissen:
/etc/dovecot/dovecot-ldap.conf.ext
Code: Select all
pass_attrs = uid=user,=user=%{ldap:mailPrimaryAddress},userPassword=password,univentionMailUserQuota=userdb_quota_rule=*:bytes=%$M,cyrus-userquota=userdb_quota_rule=*:bytes=%$M
nickvergessen
 
Posts: 7
Joined: Tue 30. Aug 2016, 13:50


Return to Mail

Who is online

Users browsing this forum: No registered users and 1 guest

cron