[Postfixbuch-users] Dynamische Empfänger Verifizierung mit Dovecot

Michael Grosseck liox at elso.mine.nu
Mi Sep 15 09:46:46 CEST 2010


Hallo Liste,

erst mal vielen Dank Peer für Dein hervorragendes Buch, das für mich 
mittlerweile zu einem  geschätzten Nachschlagewerk geworden ist.
Nun stehe ich aber vor einem Problem, was die dynamische 
Empfänger-Verifizierung betrifft.
Ich habe ein Setup mit Postfix, Dovecot und MySQL DB für die Userdaten.
Das funktioniert soweit auch ganz wunderbar. Mein Problem ist, ich kann 
Postfix einfach nicht dazu bewegen kann, Mails abzulehnen für die es 
keinen Empfänger gibt.
Ich habe wie von Peer empfohlen, Postfix als Eingangsrelay konfiguriert, 
welches die Mails an deliver von Dovecot weiterleitet. Damit weiß 
Postfix ja erst mal nichts über die Empfangsaddressen. Daher wollte ich 
wie in Kapitel 12.2.2 die dynamische Empfänger-Verifizierung nutzen. Die 
verify.db wird auch geschrieben, also das scheint dann auch zu klappen. 
Nur der deliver von Dovecot meldet immer status=deliverable und damit 
wird die Mail nicht abgewiesen. Erst im zweiten Schritt, wenn Postfix 
die Mail angenommen, diese durch die ganzen Viren und Spamchecks durch 
ist, und sie an Dovecot (deliver) weitergereicht wird, lehnt Dovecot die 
Mail dann ab, da er den Empfänger nicht kennt. Unangenehm dabei ist, 
dass Dovecot dann auch noch eine Bounce-Mail generiert.
Hier nun die Config-Dateien:
Postfix master.cf (gekürzt auf die relevanten Teile)
smtp      inet  n       -       -       -       -       smtpd
     -o smtpd_proxy_filter=localhost:10024
     -o content_filter=
localhost:10025        inet    n    -    n    -    -    smtpd
     -o content_filter=
     -o smtpd_proxy_filter=
     -o smtpd_authorized_xforward_hosts=127.0.0.0/8
     -o smtpd_client_restrictions=
     -o smtpd_helo_restrictions=
     -o smtpd_sender_restrictions=
     -o smtpd_recipient_restrictions=permit_mynetworks,reject
     -o smtpd_data_restrictions=
     -o mynetworks=127.0.0.0/8
     -o reseive_override_options=no_unknown_recipient_checks
...
verify    unix  -       -       -       -       1       verify
dovecot    unix    -    n    n    -    -    pipe
   flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f 
${sender} -d ${recipient}

Postfix main.cf
address_verify_map = btree:/var/spool/postfix/data/verify
alias_maps = mysql:/etc/postfix/mysql-aliases.cf
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
home_mailbox = MailDir/
inet_interfaces = all
local_recipient_maps = $alias_maps unix:passwd.byname
mailbox_size_limit = 5368709120
message_size_limit = 52428800
mydestination = smtp.example.de, localhost.intern, localhost
myhostname = smtp.example.de
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.2.0/24
myorigin = /etc/mailname
readme_directory = no
relay_domains = mysql:/etc/postfix/mysql-virtual-domains.cf
relayhost =
relocated_maps = mysql:/etc/postfix/mysql-relocated.cf
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_client_restrictions = check_client_access 
mysql:/etc/postfix/mysql-client.cf
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_recipient_restrictions = reject_unknown_sender_domain, 
reject_non_fqdn_sender, permit_sasl_authenticated, permit_mynetworks, 
reject_unverified_recipient, check_client_access 
mysql:/etc/postfix/mysql-client.cf, check_helo_access 
mysql:/etc/postfix/mysql-helo.cf, check_sender_access 
mysql:/etc/postfix/mysql-sender.cf, check_recipient_access 
mysql:/etc/postfix/mysql-recipient.cf, reject_unauth_destination, 
reject_non_fqdn_recipient, reject_unknown_recipient_domain, 
reject_rbl_client bl.spamcop.net, reject_rbl_client zen.spamhaus.org, 
reject_rbl_client list.dsbl.org, check_policy_service 
inet:127.0.0.1:60000, permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_local_domain = smtp.example.de
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
transport_maps = mysql:/etc/postfix/mysql-virtual-domains.cf

dovecot.conf
# 1.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.26-2-xen-amd64 x86_64 Debian 5.0.6
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imap imaps pop3 pop3s
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(pop3): /usr/lib/dovecot/pop3-login
first_valid_uid: 10000
last_valid_uid: 10000
mail_privileged_group: mail
mail_uid: vmail
mail_gid: vmail
mail_location: maildir:%h/MailDir
mail_debug: yes
mbox_write_locks: fcntl dotlock
mail_executable(default): /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/imap
mail_executable(pop3): /usr/lib/dovecot/pop3
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3
imap_client_workarounds(default): outlook-idle delay-newmail
imap_client_workarounds(imap): outlook-idle delay-newmail
imap_client_workarounds(pop3):
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
lda:
   postmaster_address: liox at elso.mine.nu
   auth_socket_path: /var/run/dovecot/auth-master
auth default:
   mechanisms: plain login
   verbose: yes
   debug: yes
   debug_passwords: yes
   passdb:
     driver: pam
   passdb:
     driver: sql
     args: /etc/dovecot/dovecot-sql.conf
   userdb:
     driver: passwd
   userdb:
     driver: sql
     args: /etc/dovecot/dovecot-sql.conf
   socket:
     type: listen
     client:
       path: /var/spool/postfix/private/auth
       mode: 432
       user: postfix
       group: postfix
     master:
       path: /var/run/dovecot/auth-master
       mode: 384
       user: vmail
       group: vmail

Und nun der relevante Teil aus der mail.log
Sep 15 06:04:57 smtp postfix/smtpd[21432]: connect from 
smtp.irgendwoher.de[178.63.230.253]
Sep 15 06:05:45 smtp postfix/cleanup[21436]: F06FE4F40C4: 
message-id=<20100915060545.F06FE4F40C4 at smtp.webfixx.net>
Sep 15 06:05:45 smtp postfix/qmgr[20201]: F06FE4F40C4: 
from=<double-bounce at smtp.example.de>, size=268, nrcpt=1 (queue active)
Sep 15 06:05:45 smtp postfix/pipe[21437]: F06FE4F40C4: 
to=<test at example.de>, relay=dovecot, delay=0.01, delays=0/0.01/0/0, 
dsn=2.0.0, status=deliverable (delivers to command: 
/usr/lib/dovecot/deliver)
Sep 15 06:05:45 smtp postfix/qmgr[20201]: F06FE4F40C4: removed
...
Sep 15 06:06:27 smtp postfix/pipe[21437]: 00DB04F40C4: 
to=<test at example.de>, relay=dovecot, delay=0.03, delays=0.01/0/0/0.02, 
dsn=5.1.1, status=bounced (user unknown)

Was mach ich falsch?

MfG
Michael
-- 
Electric Solutions GbR
Rembrandtstr. 8
99099 Erfurt
Tel. Büro Erfurt: 0361 / 340 41 42
Tel. Büro Röttenbach bei Erlangen: 091 95 / 921 8019
Handy: 0170 / 968 57 44
Fax: 0361 / 340 41 49
info at electric-solutions.de
www.electric-solutions.de

weitere Projekte:
www.avanando.de
www.partytool.de
www.webfixx.net
www.preispokal.de
www.modesuche24.de



Mehr Informationen über die Mailingliste Postfixbuch-users