Debian 上 Postfix 邮件接收限制实用配置
说明与总体思路
Postfix 内置接收限制参数
postfix reload 生效。示例为常用安全阈值,可按业务酌情放宽或收紧:# 示例:在现有规则末尾追加下列限制
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
check_policy_service inet:127.0.0.1:10023, # Postgrey 灰名单
check_client_access hash:/etc/postfix/access, # 客户端黑白名单
check_sender_access hash:/etc/postfix/sender, # 发件人黑白名单
check_recipient_access hash:/etc/postfix/recipient, # 收件人黑白名单
reject_rbl_client zen.spamhaus.org, # 可选:RBL 反垃圾
reject_rhsbl_sender dbl.spamhaus.org # 可选:发件人域名黑名单
smtpd_client_connection_rate_limit = 5 # 每客户端每秒新连接数
smtpd_client_message_rate_limit = 5 # 每客户端每秒邮件数
smtpd_client_recipient_rate_limit = 10 # 每客户端每秒 RCPT TO 数
smtpd_client_event_limit_exceptions = ${smtpd_client_connection_limit_exceptions:$mynetworks}
postmap 生成数据库后生效(见下一节)。黑白名单与访问控制文件
# 允许
203.0.113.10 OK
# 拒绝
198.51.100.66 REJECT
# 仅允许本机回环
127.0.0.1 OK
baduser@example.com REJECT
trusted@partner.com OK
admin@mydomain.com REJECT
postmaster@mydomain.com OK
sudo postmap /etc/postfix/access
sudo postmap /etc/postfix/sender
sudo postmap /etc/postfix/recipient
sudo systemctl reload postfix
系统层面防护与进阶
sudo apt update && sudo apt install ufw
sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw enable
# 按需仅允许可信网段
sudo ufw allow from 203.0.113.0/24 to any port 25,587 proto tcp
[DEFAULT]
bantime = 600
maxretry = 3
[postfix]
enabled = true
port = smtp,submission
filter = postfix
logpath = /var/log/mail.log
banaction = iptables-multiport
验证与运维建议
postfix check && postfix reload。