Kein SMPT-Auth von Postfix über Dovecot möglich

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Kein SMPT-Auth von Postfix über Dovecot möglich

Florian Brucker
Hallo zusammen,
ich habe Probleme mit der SASL-Authentifizierung von Postfix über Dovecot. Mit Kmail kann ich die Mails über IMAP abrufen, die Authentifizierung an Dovecot klappt hier.
Wenn ich aber Mails versenden will, wird die Authentifizierung nicht durchgeführt, sondern die Mail durch postscreen abgelehnt:
Jan 10 17:46:34 mail postfix/postscreen[3025]: CONNECT from [93.231.147.114]:46336 to [192.168.1.3]:25
Jan 10 17:46:34 mail postfix/dnsblog[3032]: addr 93.231.147.114 listed by domain zen.spamhaus.org as 127.0.0.10
Jan 10 17:46:37 mail postfix/postscreen[3025]: DNSBL rank 8 for [93.231.147.114]:46336
Jan 10 17:46:37 mail postfix/tlsproxy[3033]: CONNECT from [93.231.147.114]:46336
Jan 10 17:46:37 mail postfix/tlsproxy[3033]: Anonymous TLS connection established from [93.231.147.114]:46336: TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)
Jan 10 17:46:37 mail postfix/postscreen[3025]: NOQUEUE: reject: RCPT from [93.231.147.114]:46336: 550 5.7.1 Service unavailable; client [93.231.147.114] blocked using zen.spamhaus.org; from=<[hidden email]>, to=<[hidden email]>, proto=ESMTP, helo=<ukunda.localnet>
 
Meine main.cf sieht so aus:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 1d
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
disable_vrfy_command = yes
html_directory = /usr/share/doc/postfix/html
inet_interfaces = all
inet_protocols = all
mailbox_size_limit = 0
maximal_backoff_time = 1800s
maximal_queue_lifetime = 1d
message_size_limit = 26214400
milter_default_action = accept
milter_protocol = 6
minimal_backoff_time = 300s
mydestination = mail.example.com, localhost.example.com, localhost
myhostname = mail.example.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
postscreen_bare_newline_enable = no
postscreen_blacklist_action = drop
postscreen_cache_cleanup_interval = 24h
postscreen_cache_map = proxy:btree:$data_directory/postscreen_cache
postscreen_dnsbl_action = enforce
postscreen_dnsbl_sites = b.barracudacentral.org=127.0.0.2*7 dnsbl.inps.de=127.0.0.2*7 bl.mailspike.net=127.0.0.2*5 bl.mailspike.net=127.0.0.[10;11;12]*4 dnsbl.sorbs.net=127.0.0.10*8 dnsbl.sorbs.net=127.0.0.5*6 dnsbl.sorbs.net=127.0.0.7*3 dnsbl.sorbs.net=127.0.0.8*2 dnsbl.sorbs.net=127.0.0.6*2 dnsbl.sorbs.net=127.0.0.9*2 zen.spamhaus.org=127.0.0.[10;11]*8 zen.spamhaus.org=127.0.0.[4..7]*6 zen.spamhaus.org=127.0.0.3*4 zen.spamhaus.org=127.0.0.2*3 hostkarma.junkemailfilter.com=127.0.0.2*3 hostkarma.junkemailfilter.com=127.0.0.4*1 hostkarma.junkemailfilter.com=127.0.1.2*1 wl.mailspike.net=127.0.0.[18;19;20]*-2 hostkarma.junkemailfilter.com=127.0.0.1*-2
postscreen_dnsbl_threshold = 8
postscreen_dnsbl_ttl = 5m
postscreen_greet_action = enforce
postscreen_greet_banner = $smtpd_banner
postscreen_greet_ttl = 2d
postscreen_greet_wait = 3s
postscreen_non_smtp_command_enable = no
postscreen_pipelining_enable = no
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps
queue_run_delay = 300s
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
relay_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_mxdomain_maps.cf
relay_recipient_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf
relayhost =
smtp_header_checks = pcre:/etc/postfix/mailcow_anonymize_headers.pcre
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_cert_file = /etc/ssl/mail/mail.crt
smtp_tls_key_file = /etc/ssl/mail/mail.key
smtp_tls_loglevel = 1
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname
smtpd_data_restrictions = reject_unauth_pipelining, permit
smtpd_delay_reject = yes
smtpd_error_sleep_time = 10s
smtpd_hard_error_limit = ${stress?1}${stress:5}
smtpd_helo_required = yes
smtpd_proxy_timeout = 600s
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, reject_unknown_reverse_client_hostname, reject_unauth_destination
smtpd_restriction_classes = z1_greylisting
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_sender_login_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_sender_acl.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf
smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch, permit_mynetworks, reject_sender_login_mismatch, permit_sasl_authenticated, reject_unlisted_sender, reject_unknown_sender_domain
smtpd_soft_error_limit = 3
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/ssl/mail/mail.crt
smtpd_tls_dh1024_param_file = /etc/ssl/mail/dhparams.pem
smtpd_tls_eecdh_grade = strong
smtpd_tls_exclude_ciphers = ECDHE-RSA-RC4-SHA
smtpd_tls_key_file = /etc/ssl/mail/mail.key
smtpd_tls_loglevel = 1
smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_exclude_ciphers = ECDHE-RSA-RC4-SHA
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
tls_high_cipherlist = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
virtual_alias_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_spamalias_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /var/vmail/
virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
virtual_minimum_uid = 104
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_uid_maps = static:5000
z1_greylisting = permit_dnswl_client list.dnswl.org, check_policy_service inet:127.0.0.1:10023
 
Die Dovecot-Installation:
# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.2
auth_mechanisms = plain login
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
dict {
  sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf
}
disable_plaintext_auth = yes
listen = *,[::]
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k
mail_fsync = always
mail_gid = vmail
mail_home = /var/vmail/%d/%n
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = quota acl
mail_privileged_group = vmail
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
mmap_disable = yes
namespace {
  list = yes
  location = maildir:%%h/:INDEXPVT=~/Shared/%%u
  prefix = Shared/%%u/
  separator = /
  subscriptions = yes
  type = shared
}
namespace inbox {
  inbox = yes
  location =
  mailbox Archiv {
    special_use = \Archive
  }
  mailbox Archive {
    auto = subscribe
    special_use = \Archive
  }
  mailbox Archives {
    special_use = \Archive
  }
  mailbox "Deleted Messages" {
    special_use = \Trash
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Entwürfe {
    special_use = \Drafts
  }
  mailbox "Gelöschte Objekte" {
    special_use = \Trash
  }
  mailbox Gesendet {
    special_use = \Sent
  }
  mailbox Junk {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Papierkorb {
    special_use = \Trash
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix =
  separator = /
}
passdb {
  args = /etc/dovecot/dovecot-mysql.conf
  driver = sql
  name =
}
plugin {
  acl = vfile
  acl_anyone = allow
  acl_shared_dict = file:/var/vmail/shared-mailboxes.db
  quota = dict:User quota::proxy::sqlquota
  quota_rule2 = Trash:storage=+100%%
  sieve = /var/vmail/sieve/%u.sieve
  sieve_after = /var/vmail/sieve/global.sieve
  sieve_max_script_size = 1M
  sieve_quota_max_scripts = 0
  sieve_quota_max_storage = 0
}
protocols = imap sieve lmtp pop3
recipient_delimiter = +
service auth {
  unix_listener /var/spool/postfix/private/auth_dovecot {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-master {
    mode = 0600
    user = vmail
  }
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }
  user = root
}
service dict {
  unix_listener dict {
    group = vmail
    mode = 0660
    user = vmail
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
  user = vmail
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  process_min_avail = 2
  service_count = 1
  vsz_limit = 128 M
}
service managesieve {
  process_limit = 256
}
ssl_cert = </etc/ssl/mail/mail.crt
ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
ssl_dh_parameters_length = 2048
ssl_key = </etc/ssl/mail/mail.key
ssl_protocols = !SSLv3 !SSLv2
userdb {
  args = /etc/dovecot/dovecot-mysql.conf
  driver = sql
  name =
}
verbose_proctitle = yes
protocol imap {
  mail_plugins = quota imap_quota imap_acl acl
}
protocol lmtp {
  auth_socket_path = /var/run/dovecot/auth-master
  mail_plugins = quota sieve acl
  postmaster_address = [hidden email]
}
protocol sieve {
  managesieve_logout_format = bytes=%i/%o
}
remote 127.0.0.1 {
  disable_plaintext_auth = no
}
 
Wobei ich in der 10-master.conf  folgenden Eintrag gemacht hatte
service auth {
  unix_listener auth-userdb {
    mode = 0666
    user = vamil
    group = vmail
  }
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
und den "service auth"-Eintrag in der dovecot.conf kommentiert hatte.
Jedesmal ein service dovecot reload und postfix reload.
Ich bekomme die SMPT-Auth nicht über Dovecot hin. Dafür ist regelrecht dauerhaft
srw-rw---- 1 postfix postfix 0 Jan 10 17:41 /var/spool/postfix/private/auth_dovecot
sichtbar. Dagegen fehlt
/var/spool/postfix/private/auth
komplett.
Gibt es etwas, das ich übersehen habe?
Viele Grüße
Flo
Reply | Threaded
Open this post in threaded view
|

Re: Kein SMPT-Auth von Postfix über Dovecot möglich

Gregor Hermens
Hallo Florian,

Am Sonntag, 10. Januar 2016 schrieb Florian Brucker:

> ich habe Probleme mit der SASL-Authentifizierung von Postfix über Dovecot.
> Mit Kmail kann ich die Mails über IMAP abrufen, die Authentifizierung an
> Dovecot klappt hier. Wenn ich aber Mails versenden will, wird die
> Authentifizierung nicht durchgeführt, sondern die Mail durch postscreen
> abgelehnt:
>
> Jan 10 17:46:34 mail postfix/postscreen[3025]: CONNECT from
> [93.231.147.114]:46336 to [192.168.1.3]:25 Jan 10 17:46:34 mail
> postfix/dnsblog[3032]: addr 93.231.147.114 listed by domain
> zen.spamhaus.org as 127.0.0.10

authentifizierte Mails sollten nicht über Postscreen laufen. Das kannst du
erreichen, indem du die Mails über verschiedene Ports (25/SMTP für MX,
587/Submission für authentifizierte User) oder IPs laufen lässt. Siehe auch

http://www.postfix.org/POSTSCREEN_README.html

hth
Gruß,
Gregor
--
     @mazing           fon +49 8142 6528665
  Gregor Hermens       fax +49 8142 6528669
Brucker Strasse 12  [hidden email]
D-82216 Gernlinden    http://www.a-mazing.de/
Reply | Threaded
Open this post in threaded view
|

Aw: Re: Kein SMPT-Auth von Postfix über Dovecot möglich

Florian Brucker

 
 
> authentifizierte Mails sollten nicht über Postscreen laufen. Das kannst du erreichen, indem du die Mails über verschiedene Ports (25/SMTP für MX, 587/Submission für
> authentifizierte User) oder IPs laufen lässt. Siehe auch http://www.postfix.org/POSTSCREEN_README.html hth Gruß, Gregor

Okay, das ist in dem Mailcow-Workflow allerdings auch so eingerichtet. Ausserdem steht im Dovecot-Buch explizit die Lösung mit
service auth {
  unix_listener auth-userdb {
    mode = 0666
    user = vamil
    group = vmail
  }

  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
in der 10-master.conf

Ich wundere mich, das sowohl der aktuelle Mailcow-Workflow als auch die Buchempfehlung nicht funktionieren.

Grüße

Flo
Reply | Threaded
Open this post in threaded view
|

Re: Kein SMPT-Auth von Postfix über Dovecot möglich

Mathias Jeschke
Hallo Florian,

Dein Problem ist (wahrscheinlich) nicht die SMTP-Authentifizierung,
sondern liegt schon vorher (nämlich bei Postscreen).

Was Gregor meinte ist, dass Deine (Test-)Clients nicht auf der selben
IP/Port wie externe Server einliefern sollen.
Also entweder eine andere IP benutzen oder den dafür vorgesehenen
Submission-Port 587 benutzen.

Viele Grüße,
Mathias.

Am 10.01.16 um 18:44 schrieb Florian Brucker:

>> authentifizierte Mails sollten nicht über Postscreen laufen. Das kannst du erreichen, indem du die Mails über verschiedene Ports (25/SMTP für MX, 587/Submission für
>> authentifizierte User) oder IPs laufen lässt. Siehe auch http://www.postfix.org/POSTSCREEN_README.html hth Gruß, Gregor
>
> Okay, das ist in dem Mailcow-Workflow allerdings auch so eingerichtet. Ausserdem steht im Dovecot-Buch explizit die Lösung mit
> service auth {
>    unix_listener auth-userdb {
>      mode = 0666
>      user = vamil
>      group = vmail
>    }
>
>    unix_listener /var/spool/postfix/private/auth {
>      mode = 0666
>      user = postfix
>      group = postfix
>    }
> in der 10-master.conf
>
> Ich wundere mich, das sowohl der aktuelle Mailcow-Workflow als auch die Buchempfehlung nicht funktionieren.
>
> Grüße
>
> Flo
>

Reply | Threaded
Open this post in threaded view
|

Aw: Re: Kein SMPT-Auth von Postfix über Dovecot möglich

Florian Brucker
In reply to this post by Florian Brucker
> Okay, das ist in dem Mailcow-Workflow allerdings auch so eingerichtet.
> Ausserdem steht im Dovecot-Buch explizit die Lösung mit service auth {
>   unix_listener auth-userdb {
>     mode = 0666
>     user = vamil
>     group = vmail
>   }
>
>   unix_listener /var/spool/postfix/private/auth {
>     mode = 0666
>     user = postfix
>     group = postfix
>   }
> in der 10-master.conf
>
> Ich wundere mich, das sowohl der aktuelle Mailcow-Workflow als auch die
> Buchempfehlung nicht funktionieren.
>

Ich wundere mich auch, warum nicht /var/spool/postfix/private/auth angelegt wird, obwohl ich den entsprechenden Eintarg von Mailcow in der dovecot.conf herausgenommen habe.

Grüße

Flo
Reply | Threaded
Open this post in threaded view
|

AW: Kein SMPT-Auth von Postfix über Dovecot möglich

Ralf Eichler
In reply to this post by Florian Brucker

Hallo Florian,

 

kann es sein, dass dein Dovecot die 10-master.conf gar nicht beachtet?

http://ubuntuforums.org/showthread.php?t=2226188

 

Grüße,

Ralf


smime.p7s (9K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Kein SMPT-Auth von Postfix über Dovecot möglich

Gregor Hermens
In reply to this post by Mathias Jeschke
Hallo nochmal,

Am Sonntag, 10. Januar 2016 schrieb Mathias Jeschke:
> Dein Problem ist (wahrscheinlich) nicht die SMTP-Authentifizierung,
> sondern liegt schon vorher (nämlich bei Postscreen).
>
> Was Gregor meinte ist, dass Deine (Test-)Clients nicht auf der selben
> IP/Port wie externe Server einliefern sollen.
> Also entweder eine andere IP benutzen oder den dafür vorgesehenen
> Submission-Port 587 benutzen.

... und dann dafür sorgen, daß Postscreen nur für die MX-IP/Port zu Einsatz
kommt, indem in der master.cf dafür getrennte Services angelegt werden.
Dein Problem ist, daß Postscreen die Mail blockt, bevor die Authentifizierung
überhaupt ins Spiel kommt.

Gruß,
Gregor
--
     @mazing           fon +49 8142 6528665
  Gregor Hermens       fax +49 8142 6528669
Brucker Strasse 12  [hidden email]
D-82216 Gernlinden    http://www.a-mazing.de/
Reply | Threaded
Open this post in threaded view
|

Re: Aw: Re: Kein SMPT-Auth von Postfix über Dovecot möglich

Wilhelm Boltz
In reply to this post by Florian Brucker
Hallo,

Am Sonntag, 10. Januar 2016, 18:44:05 schrieb Florian Brucker:
> > [...]
> Okay, das ist in dem Mailcow-Workflow allerdings auch so eingerichtet.
> Ausserdem steht im Dovecot-Buch explizit die Lösung mit service auth
> {
>   unix_listener auth-userdb {
>     mode = 0666
>     user = vamil

Ist das da ^^^^^ ein Druckfehler oder steht es so in Deiner config?

>     group = vmail
>   }
> [...]

Gruß
Willi
Reply | Threaded
Open this post in threaded view
|

Aw: AW: Kein SMPT-Auth von Postfix über Dovecot möglich

Florian Brucker
In reply to this post by Ralf Eichler
> Hallo Florian,
>
>
>
> kann es sein, dass dein Dovecot die 10-master.conf gar nicht beachtet?
>
> http://ubuntuforums.org/showthread.php?t=2226188
>
>
>
> Grüße,
>
> Ralf
Besten Dank,

das hat entscheidend weitergeholfen.  In der dovecot.conf fehlte !include conf.d/*.conf.

Ein
service dovecot status
liefert
● dovecot.service - Dovecot IMAP/POP3 email server
   Loaded: loaded (/lib/systemd/system/dovecot.service; enabled)
   Active: active (running) since Mo 2016-01-11 10:16:20 CET; 28min ago
 Main PID: 6909 (dovecot)
   CGroup: /system.slice/dovecot.service
           ├─6909 /usr/sbin/dovecot -F
           ├─6911 dovecot/managesieve-login
           ├─6912 dovecot/anvil [3 connections]
           ├─6913 dovecot/log
           ├─6915 dovecot/managesieve-login
           ├─6916 dovecot/config
           └─6918 dovecot/auth [0 wait, 0 passdb, 0 userdb]

Jan 11 10:16:20 mail dovecot[6909]: Error: systemd listens on port 993, but it's not configured in Dovecot. Closing.
Jan 11 10:16:20 mail dovecot[6909]: Error: systemd listens on port 993, but it's not configured in Dovecot. Closing.

Wo aktiviere in Dovecot den Port 993?

Grüße

Flo
 
Reply | Threaded
Open this post in threaded view
|

AW: AW: Kein SMPT-Auth von Postfix über Dovecot möglich

Ralf Eichler
Hallo Flo,

zu 100% kann ich dir das nicht sagen.
Allerdings wird TCP 993 nach meinem Stand für IMAPs verwendet, was bei dir mutmaßlich in der dovecot-config deaktivert ist.

Vielleicht hilft das schon in die richtige Richtung.

Grüße,
Ralf