[postfix-users] POSTFIX: Mail-Versand einschränken

Marcus Stein bigblue2010 at gmx.de
So Nov 4 11:06:36 CET 2012


Hallo Zusammen,

auf einem Linux-Server (Ubuntu 10.04) habe ich ein postfix (v. 2.7.0) installiert, der über ein Relayhost Mails senden darf. Eine Anwendung die auf dem Linux-System installiert ist, nutzt den postfix und sendet über diesen die Mails.

Der Postfix ist nicht von außen erreichbar und es dürfen nur Mails von dem Linux-System gesendet werden, sonst nicht.

Ich möchte nun den Postfix so einstellen, dass nur bestimme Mail-Adressen bzw. Domains Mails empfangen dürfen, z.B.:


Dürfen Mails empfangen:
test1 at example.com
test2 at example.com
test3 at example.com
@allowed-domain.com

Alle anderen Mail-Adressen dürfen KEINE Mails empfangen. Bei den Mail-Adressen handelt es sich nicht um Linux-User.

Nach dem ich jetzt schon eine Weile im Netz gesucht habe, bin ich immer wieder auf den Parameter smtpd_recipient_restrictions gestoßen. Anhand der beispiele habe ich folgende Konfiguration zusammen gestellt: 


smtpd_reject_unlisted_sender = yes
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix,/valid_recipients, 
    reject_unauth_destination,
    reject_unlisted_sender,
    reject_unknown_recipient_domain,
    reject

smtpd_relay_restrictions =
        check_sender_access hash:/etc/postfix/valid_recipients,
        reject_unauth_destination

In der /etc/postfix/valid_recipients Datei befindet sich folgender inhalt:

test1 at example.com OK
test2 at example.com OK
test3 at example.com OK
@allowed-domain.com OK

Natürlich habe ich ein postmap auf die Datei /etc/postfix/valid_recipients ausgeführt, damit die DB erstellt wird und den Postfix restartet.

Doch leider kann man torzt der Einstellungen weiterhin Mails an beliebige Mail-Adressen versenden. Die regel scheint gar nicht zu greifen wie man den Logs entnehmen kann: 

Nov  4 10:46:32 testserver postfix/pickup[20209]: D3AF316105B: uid=0 from=<root>
Nov  4 10:46:32 testserver postfix/cleanup[20590]: D3AF316105B: message-id=<20121104094632.D3AF316105B at example.com>
Nov  4 10:46:32 testserver postfix/qmgr[20210]: D3AF316105B: from=<kommunikation at example.com>, size=394, nrcpt=1 (queue active)
Nov  4 10:46:33 testserver postfix/smtp[20593]: D3AF316105B: to=<not-allowed-user.com>, relay=smtp.example.com[123.456.789.101]:25, delay=0.87, delays=0.07/0.02/0.41/0.37, dsn=2.0.0, status=sent (250 ok 1352022393 qp 1497)
Nov  4 10:46:33 testserver postfix/qmgr[20210]: D3AF316105B: removed

Hat jemand eine Ahnung wo das problem liegen könnte? Ich weiß echt nicht mehr weiter.

Die gesamte postfixconfiguration (postconf -n) sieht wie folgt aus: 

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = 127.0.0.1
mailbox_size_limit = 0
mydestination = example.com, localhost.localdomain, localhost
mydomain = example.com
myhostname = example.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
readme_directory = no
recipient_delimiter = +
relayhost = smtp.example.com
sender_canonical_maps = hash:/etc/postfix/sender_canonical
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_password
smtp_sasl_security_options = noanonymous
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/valid_recipients, reject_unauth_destination, reject_unlisted_sender, reject_unknown_recipient_domain, reject
smtpd_reject_unlisted_sender = yes
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


Mehr Informationen über die Mailingliste postfix-users