Postfix’ smtpd_*_restrictions
werden in folgender Reihenfolge abgearbeitet:
smtpd_client_restrictions
smtpd_helo_restrictions
smtpd_sender_restrictions
smtpd_recipient_restrictions
smtpd_data_restrictions
smtpd_client_restrictions
)Blocking in smtpd_client_restrictions
ist Hardcore, der REJECT
kommt bereits beim Connect. Im Logfile werden nicht einmal Absende- und Empfänger- Adresse stehen.
Möchte man solcherart Information haben, dann sicherstellen, dass auch smtpd_delay_reject
aktiv ist (default).
Wichtig ist die Reihefolge: Whitelist vor Blacklist, da das abschließende permit
ohnehin ein OK impliziert. Daher stehen in der Whitelist auch nur Ausnahmen von der Blacklist.
sudo postconf smtpd_delay_reject=yes
sudo postconf smtpd_client_restrictions="permit_mynetworks, check_client_access cidr:/etc/postfix/networks_whitelist.cidr, check_client_access cidr:/etc/postfix/networks_blacklist.cidr, permit"
cat <<EOF > /etc/postfix/networks_whitelist.cidr
# Hier nur 'OK'
# Ausnahmen für Netze die in networks_blacklist.cidr gelistet sind
192.168.1.1 OK
EOF
cat <<EOF > /etc/postfix/networks_blacklist.cidr
# Hier nur 'REJECT'
# Ausnahmen für IPs aus diesen Netzen gehören nach networks_whitelist.cidr
192.168.0.0/16 REJECT
EOF
smtpd_helo_restrictions
)sudo postconf smtpd_delay_reject=yes
sudo postconf smtpd_helo_required=yes
sudo postconf smtpd_helo_restrictions="permit_mynetworks, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, permit"
smtpd_sender_restrictions
)(MAIL FROM:
in check_sender_access
)
sudo postconf smtpd_delay_reject=yes
sudo postconf smtpd_sender_restrictions="permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain, check_sender_access hash:/etc/postfix/sender_whitelist, check_sender_access hash:/etc/postfix/sender_blacklist, permit"
cat <<EOF > /etc/postfix/sender_whitelist
# /etc/postfix/sender_whitelist
#
# Whitelist senders matching the 'MAIL FROM' field. Examples...
# Whitelist
partner@foo.bar OK
@partner.foo.bar OK
EOF
cat <<EOF > /etc/postfix/sender_blacklist
# /etc/postfix/sender_whitelist
#
# Whitelist senders matching the 'MAIL FROM' field. Examples...
# Blacklist
@porn.foo.bar REJECT
@spam.foo.bar REJECT
foo.bar REJECT
EOF
smtpd_recipient_restrictions
)sudo postconf smtpd_delay_reject=yes
sudo postconf smtpd_recipient_restrictions="reject_unauth_pipelining, reject_non_fqdn_recipient, reject_unknown_recipient_domain, permit_mynetworks, reject_unauth_destination, permit"
smtpd_client_restrictions
)sudo postconf smtpd_delay_reject=yes
sudo postconf smtpd_client_restrictions="permit_mynetworks, check_client_access cidr:/etc/postfix/networks_whitelist.cidr, check_client_access cidr:/etc/postfix/networks_blacklist.cidr, reject_rbl_client sbl.spamhaus.org, reject_rbl_client xbl.spamhaus.org, permit"