ubuntuusers.de

Problem mit der Benutzerauthentifizierung bei Dovecot

Status: Gelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

fauxxami

Anmeldungsdatum:
7. Januar 2012

Beiträge: 493

Guten Morgen!

An folgendem Problem beiße ich mir die Zähne aus: meine Benutzerkonten stehen im LDAP, die zugehörigen Passwörter in einer Kerberos-Datenbank. Maileingang und -ausgang funktionieren seit Jahren problemlos. Nun möchte ich eine wesentliche Änderung durchführen: bisher hat Postfix Mails direkt in die Postfächer der Benutzer einsortiert. Zur Authentifizierung der Benutzer wird dabei dovecot-sasl verwendet; der saslauthd verwendet wiederum PAM-Bibliotheken. Nun soll Dovecot die Mailzustellung übernehmen, wozu Postfix und Dovecot via LMTP miteinander reden sollen. Der Grund für diese Umstellung ist, dass ich gerne Sieve-Filter aktivieren möchte, die bei der direkten Zustellung durch Postfix nicht greifen. Wenn ich die geänderte Konfiguration aktiviere und versuche, eine Mail zuzustellen, so reagiert Dovecot mit der Meldung, die Mailadresse bzw. der entsprechende Benutzer sei unbekannt. Was ich dabei nicht verstehe ist, warum Postfix Dovecot zur Benutzerauthentifizierung verwenden kann, Dovecot selbst das aber nicht schafft.

Kann mir jemand sagen, wo das Problem liegen könnte? Weitere Informationen stelle ich bei Bedarf gerne zur Verfügung.

Viele Grüße, fauxxami

pepre Team-Icon

Supporter
Avatar von pepre

Anmeldungsdatum:
31. Oktober 2005

Beiträge: 6474

Wohnort: Erlangen

fauxxami schrieb:

... so reagiert Dovecot mit der Meldung, die Mailadresse bzw. der entsprechende Benutzer sei unbekannt.

Kann mir jemand sagen, wo das Problem liegen könnte?

Da vllt: https://wiki.dovecot.org/Authentication/Kerberos.

fauxxami

(Themenstarter)

Anmeldungsdatum:
7. Januar 2012

Beiträge: 493

Da vllt: https://wiki.dovecot.org/Authentication/Kerberos.

Vielen Dank für den Hinweis. Ich konnte das bisher nur überfliegen, werde mich aber in den nächsten Tagen intensiver damit auseinandersetzen. Bei mir bleibt allerdings die Frage, wie Dovecot denn beim Abholen von Mails bisher die Nutzer authentifiziert, was ja funktioniert. Ich bin nach wie vor der Meinung, dass der saslauthd das erledigt; dann würde der verlinkte Artikel nicht helfen. Aber wir werden sehen.

Korrektur: in /etc/dovecot/conf.d/auth-system.conf.ext ist 'PAM authentication' aktiviert.

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

fauxxami schrieb:

Nun soll Dovecot die Mailzustellung übernehmen, wozu Postfix und Dovecot via LMTP miteinander reden sollen. Der Grund für diese Umstellung ist, dass ich gerne Sieve-Filter aktivieren möchte, die bei der direkten Zustellung durch Postfix nicht greifen.

Sieve-Filter funktionieren auch mit LDA, du bräuchtest also nicht zwingend LMTP.

Wenn ich die geänderte Konfiguration aktiviere und versuche, eine Mail zuzustellen, so reagiert Dovecot mit der Meldung, die Mailadresse bzw. der entsprechende Benutzer sei unbekannt. Was ich dabei nicht verstehe ist, warum Postfix Dovecot zur Benutzerauthentifizierung verwenden kann, Dovecot selbst das aber nicht schafft.

Wie sieht denn die userdb-Konfiguration im Dovecot aus? Zeige am besten mal

postconf -n
doveconf -n

fauxxami

(Themenstarter)

Anmeldungsdatum:
7. Januar 2012

Beiträge: 493

Sieve-Filter funktionieren auch mit LDA, du bräuchtest also nicht zwingend LMTP.

Das ist natürlich prinzipiell richtig. Hier kommen die Konfigurationen:

postconf -n

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-oegymForm.cf, ldap:/etc/postfix/ldap-aliases.cf
append_dot_mydomain = no
biff = no
bounce_template_file = /etc/postfix/bounce.de-DE.cf
broken_sasl_auth_clients = yes
debug_peer_list = 84.151.195.189
delay_warning_time = 4h
home_mailbox = Maildir/
mailbox_transport = lmtp:unix:private/dovecot-lmtp
inet_interfaces = all
inet_protocols = ipv4
mailbox_size_limit = 0
mailman_destination_recipient_limit = 10
message_size_limit = 20480000
milter_connect_macros = i j {daemon_name} v {if_name} _
mydestination = <irgendwas>
mydomain = <irgendwas>
myhostname = <irgendwas>
mynetworks = 127.0.0.0/8 192.168.100.0/24
myorigin = /etc/mailname
postscreen_blacklist_action = drop
postscreen_dnsbl_action = drop
postscreen_dnsbl_sites = ix.dnsbl.manitu.net*2 zen.spamhaus.org*2
postscreen_dnsbl_threshold = 2
postscreen_greet_action = drop
recipient_delimiter = +
relay_domains = <irgendwas>
relayhost =
smtp_bind_address = <irgendwas>
smtp_tls_ciphers = high
smtp_tls_mandatory_ciphers = high
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_restrictions = check_client_access hash:/etc/postfix/access
smtpd_milters = unix:/spamass/spamass.sock
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_ccert_access hash:/etc/postfix/client_cert_access, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_security_options = noanonymous
smtpd_sender_login_maps = ldap:/etc/postfix/ldap-sender-login.cf, hash:/etc/postfix/sender-login
smtpd_sender_restrictions = reject_sender_login_mismatch
smtpd_tls_CAfile = /usr/local/etc/ssl/<irgendwas>.pem
smtpd_tls_ask_ccert = yes
smtpd_tls_cert_file = /usr/local/etc/ssl/<irgendwas>.crt
smtpd_tls_ciphers = high
smtpd_tls_fingerprint_digest = sha1
smtpd_tls_key_file = /usr/local/etc/ssl/<irgendwas>.key
smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
tls_high_cipherlist = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA
tls_preempt_cipherlist = yes
transport_maps = hash:/etc/postfix/transport
virtual_alias_domains = <irgendwas>
virtual_alias_maps = hash:/etc/postfix/virtual

doveconf -n

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
auth_mechanisms = plain gssapi
listen = *
mail_location = maildir:~/Maildir
namespace inbox {
  inbox = yes
  location = 
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix = 
}
passdb {
  driver = pam
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_before = /var/mail/sieve/spam-global.sieve
  sieve_default = /var/lib/dovecot/sieve/default.sieve
  sieve_dir = ~/sieve
  sieve_global_dir = /var/lib/dovecot/sieve/
}
protocols = " imap lmtp"
service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
}
ssl_cert = </usr/local/etc/ssl/<irgendwas>.pem
ssl_key = </usr/local/etc/ssl/<irgendwas>.key
userdb {
  driver = passwd
}
protocol lmtp {
  mail_plugins = " sieve"
  postmaster_address = <irgendwas>
}
protocol lda {
  mail_plugins = " sieve"
}

Auf jeden Fall schon mal danke für's Mitdenken!

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Mich wundert bisschen, dass virtual_transport nicht gesetzt ist. Was steht denn in der /etc/postfix/transport drin?

Abgesehen davon, nutzt du mit Dovecot die Systemdatenbank als Nutzerbasis, aber Postfix übergibt im LMTP-Protokoll komplette Mailadressen. Dort müsstest du also noch anpassen.

Edit: Habs gesehen, du regelst den Transport über mailbox_transport. Das ist so ok. Bleibt noch die Anpassung der Nutzerdatenban (siehe auch).

fauxxami

(Themenstarter)

Anmeldungsdatum:
7. Januar 2012

Beiträge: 493

Edit: Habs gesehen, du regelst den Transport über mailbox_transport. Das ist so ok. Bleibt noch die Anpassung der Nutzerdatenban (siehe auch).

Danke sehr, das leuchtet ein - das passe ich noch an.

fauxxami

(Themenstarter)

Anmeldungsdatum:
7. Januar 2012

Beiträge: 493

So, der Fall ist erledigt: ich habe in /etc/dovecot/conf.d/10-auth.conf die Option

1
auth_username_format = %Ln

gesetzt, damit klappt es dann. Nochmals Dank für die Unterstützung!

Antworten |