1. 网络接口与监听配置
配置Postfix的inet_interfaces参数,明确服务器监听的网络接口。生产环境中建议设置为all(监听所有接口),若为多网卡服务器可指定具体接口(如eth0),避免遗漏合法连接请求。
2. 主机名与域名设置
正确配置Postfix的核心主机名参数:myhostname(邮件服务器主机名,如mail.example.com)、mydomain(邮件域名,如example.com)、myorigin(邮件来源域名,默认取$mydomain)。这些参数直接影响邮件头信息的合法性,确保收件方正确识别邮件来源。
3. 接受邮件域名定义
通过mydestination参数指定服务器接受邮件的域名列表,通常包含$myhostname、localhost.$mydomain、$mydomain(如mail.example.com、localhost.example.com、example.com)。若需接收子域名邮件,可添加mail.$mydomain等条目,避免邮件被拒绝。
4. 中继网络控制
设置mynetworks参数,限定允许通过服务器中继邮件的IP范围。默认应包含本地回环(127.0.0.0/8)和本地网络(如192.168.1.0/24),禁止开放公网所有IP(如0.0.0.0/0),防止服务器被滥用为垃圾邮件中继节点。
5. DNS记录配置
为邮件服务器配置必要的DNS记录,确保邮件路由和反垃圾验证正常:
mail.example.com. IN A 192.0.2.100);example.com. IN MX 10 mail.example.com.,数字越小优先级越高);v=spf1 ip4:192.0.2.100 -all),防止域名伪造;v=DMARC1; p=none; rua=mailto:admin@example.com),减少钓鱼邮件风险。6. 防火墙端口放行
使用ufw或iptables配置防火墙,允许邮件服务必需的端口流量:
sudo ufw allow 25/tcp && sudo ufw allow 465/tcp && sudo ufw allow 587/tcp。7. SSL/TLS加密配置
为Postfix和Dovecot配置SSL/TLS证书,加密邮件传输数据(防止中间人攻击)。可使用Let’s Encrypt免费获取证书,通过Certbot工具自动配置:
sudo apt install certbot python3-certbot-postfix
sudo certbot --postfix -d mail.example.com
配置完成后,Postfix会自动使用证书加密SMTP流量(端口465/587),Dovecot会加密IMAP/SMTP端口(993/465)。
8. 反垃圾与安全策略
启用Postfix的反垃圾机制,通过smtpd_recipient_restrictions参数限制非法邮件:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
permit_mynetworks:允许本地网络或信任IP发送邮件;permit_sasl_authenticated:允许通过SASL认证的用户发送邮件;reject_unauth_destination:拒绝未授权的目标域名(防止开放中继)。smtpd_sasl_auth_enable = yes),确保只有合法用户能访问邮件服务。