Postfix小结,补充点其他点滴记录
最近说了不少关于Postfix发件系统如何规避邮件被标记为SPAM的一些做法。
今天做个小结,其实对于规避SPAM,只要你做到前面帖子的几点:书写正确,邮件带有SPF及DKIM协议,DNS带有MX记录、SPF的txt记录以及DKIM的txt记录等。基本上很多邮箱服务商不会轻易去将你纳入垃圾箱或者直接拒收。
此方面涉及的帖子有:
《[Postfix进阶]使用新版DKIM签名(OpenDKIM)》
《[Postfix进阶]Dovecot 2 配置小谈,简单聊下邮件系统的配置》
《[Postfix进阶]SMTP TLS 加密》
《[Postfix进阶]对于邮件被标记为Spam的一些可能原因分析》
《[Postfix进阶]Postfix配置SPF并禁止伪造发件人》
《[Postfix进阶]CentOS邮件系统添加DKIM签名》
《Postfix添加DKIM协议,完善DNS中的SPF解析》
《今天星期六,周末没下雨,舒服,搞了postfix》
对于之前帖子《今天星期六,周末没下雨,舒服,搞了postfix》的安装postfix记录,我觉得需要补充一些东西:
比如配置IMAP及POP3的支持:
yum install -y dovecot
编辑dovecot配置文件/etc/dovecot/dovecot.conf:
protocols = imap pop3 #监听协议
login_trusted_networks = 127.0.0.1 #允许登录接收邮件的IP段
为了防止出错,把/etc/dovecot/conf.d/10-mail.conf也给编辑下:
mail_location = mbox:~/mail:INBOX=/var/mail/%u
最后重启下dovecot。
设置SMTP密码验证,以防止MTA被滥用在postfix配置的信任网段,如在外网使用smtp密码验证方式更安全。
首先确保saslauthd服务是开启的,它会协助postfix进行系统密码验证。
yum install -y cyrus-sasl-plain cyrus-sasl-md5 cyrus-sasl
确定SMTPD配置文件有以下内容:
cat /usr/lib/sasl2/smtpd.conf
pwcheck_method: saslauthd #saslauthd协助smtp进行密码验证
配置Postfix使用SASL验证,编辑main.cf配置文件添加:
smtpd_sasl_auth_enable = yes #开启SMTP验证[/task]
smtpd_sasl_security_options = noanonymous #不允许匿名用户
smtpd_recipient_restrictions = #接收者限制规则,按顺序执行
permit_mynetworks, #mynetworks用户通过,匹配结束
permit_sasl_authenticated, #sasl验证用户通过,匹配结束
reject_unknown_sender_domain, #拒绝无效的发送邮件域名
reject_unauth_destination #拒绝收件人非mydestination、relay_domains或virtual_alias_maps定义域邮件
根据SMTP协议流程Postfix还可在以下规则内对客户端信息进行限制:
smtpd_client_restrictions =
#客户端连接后匹配登录IP、反向查询在此匹配
smtpd_helo_restrictions =
#客户端连接后以HELO显示送信方主机名称在此限制。
smtpd_sender_restrictions =
#寄件人名称限制
smtpd_recipient_restrictions =
#收件人名称限制
smtpd_data_restrictions =
#内容限制,分header_check和check_body
这些过滤限制规则,其详细内容为:
1.客户端SMTP连接时过滤:
smtpd_client_restrictions =
check_client_access = type:map #检查匹配表操作
reject_rbl_client = #针对IP黑名单
reject_rhsbl_client = #针对IP黑名单
reject_unknown_client #拒绝客户地址没有反解及对应A记录
2.HELO阶段过滤:
smtpd_helo_restrictions =
check_helo_access = type:map #检查匹配表操作
permit_naked_ip_address #允许直接使用ip地址的连接
reject_invalid_hostname #拒绝无效格式的主机名
reject_unknown_hostname #拒绝未知的主机名连接,即无有效A或MX记录
reject_non_fqdn_hostname #拒绝主机名非FQDN格式
3.发件人过滤,可在此限制Postfix发件人欺骗:
smtpd_sender_restrictions =
check_sender_access = type:map #检查匹配表操作
reject_non_fqdn_sender #拒绝发件人非FQDN格式
reject_rhsbl_sender = #发件人黑名单
reject_unknown_sender_domain #拒绝未知的发件人域,即无有效A或MX记录
reject_sender_login_mismatch #拒绝登录用户与发件人不匹配
4.收件人过滤:
smtpd_recipient_restrictions =
check_recipient_access = type:map #检查匹配表操作
permit_mynetworks #mynetworks用户通过,匹配结束
permit_sasl_authenticated #sasl验证用户通过,匹配结束
reject_unauth_destination #拒绝收件人非mydestination、relay_domains或virtual_alias_maps定义域邮件
reject_non_fqdn_recipient #拒绝收件人非FQDN格式
reject_rhsbl_recipient = #收件人黑名单
reject_unknown_recipient_domain #拒绝未知的收件人域,即无有效A或MX记录
5.邮件内容过滤:
header_checks = pcre:/etc/postfix/header_checks #检查标题
mime_header_checks = pcre:/etc/postfix/mime_header_checks #检查标题的MIME相关字段
nested_header_checks = pcre:/etc/postfix/nested_header_checks #检查夹带附件的标题
body_checks = pcre:/etc/postfix/body_checks #检查邮件的正文
ok,该说的,都说完了,基本上,先这样。
一些测试网站推荐:
简单测试:http://mailtester.com/testmail.php
简单测试:http://network-tools.webwiz.co.uk/email-test.htm
完整检测,结果邮件答复:http://www.appmaildev.com/cn/spf/
完整检测,即显结果:http://dkimvalidator.com/
完整检测,即显结果:http://www.mail-tester.com/
专业测试,含DNS、加密方式:http://mxtoolbox.com/SuperTool.aspx
邮件正文测试:http://www.emailspamtest.com/
SSL TLS 测试:https://ssl-tools.net/mailservers
SSL TLS 测试:https://starttls.info/
SSL TLS 测试,结果邮件答复:http://checktls.com/
Mail relay 测试:http://www.mailradar.com/openrelay/
Mail relay 测试:http://www.antispam-ufrj.pads.ufrj.br/test-relay.html
SPF 测试:http://www.openspf.org/Why?show-form=1
SPF 测试:http://tools.bevhost.com/spf/
DKIM Key 简单测试:http://dkimcore.org/c/keycheck
rDNS 测试:http://remote.12dt.com/rns/
Leave Postfix小结,补充点其他点滴记录 to:
Read more #postfix posts
Best Posts From kn007
We have not curated any of kn007's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From kn007
- Windows下批量转换Silk v3音频文件为MP3格式
- [进阶]批量解码转换SILK V3编码音频为其他格式
- How to reduce/shrink ibdata1 in MySQL 5.6 // MySQL 5.6 如何给ibdata1瘦身
- 生成Certificate Signing Request(CSR)
- 记一次Kernel Panic修复
- Postfix小结,补充点其他点滴记录
- [Postfix进阶]对于邮件被标记为Spam的一些可能原因分析
- [Postfix进阶]使用新版DKIM签名(OpenDKIM)
- [Postfix进阶]Dovecot 2 配置小谈,简单聊下邮件系统的配置
- [Postfix进阶]SMTP TLS 加密
- [Postfix进阶]Postfix配置SPF并禁止伪造发件人
- [Postfix进阶]CentOS邮件系统添加DKIM签名
- SSH登录时自动邮件提醒