记录一次网站邮箱(STMP)被恶意伪造事件

网站运行了一段时间了,最近用户增长的比较多,忽然有用户反馈说遇到骗子了,给我看了他跟骗子的邮件记录,发现骗子居然能够用咱们域名的邮件发邮件,真是被惊吓到了,赶忙开始查找问题.html

  • 首先怀疑是企业邮箱密码泄露了,因而赶忙把密码给改了。
  • 而后进入服务器的邮箱发送日志列表,过滤搜索用户提供给咱们的关键字,未找到对应的邮件记录。
  • 进入到企业邮箱帐户,搜索邮件关键字,也未找到任何记录。

到这里我就疑问了,由于邮件客户端咱们一直登着,因此不会存在邮箱记录被删除的状况,因而我猜应该是咱们的邮箱服务被攻击了,经过Google了解到STMP的邮件能够很容易被伪造,只要域名解析中没有配置SPF记录(SPF是 Sender Policy Framework 的缩写,一种以IP地址认证电子邮件发件人身份的技术,是很是高效的垃圾邮件解决方案),若是没有这条TXT记录,那么任何人均可以你域名的邮箱发邮件,因而赶忙将腾讯的 SPF 加入。安全

SPF是一条 TXT 记录,主机记录为@就好了,值设置为服务器

v=spf1 include:spf.mail.qq.com ~all

加入以后发现仍是能够伪造邮件,通过反复尝试查阅资料,最后将SPF的值改为以下解决此问题:微信

v=spf1 include:spf.mail.qq.com -all

-all 表示前面的策略没有命中,则直接拒绝邮件,因此安全级别更高。测试

如何测试本身的域名是否能够被伪造,我提供两种方法:网站

  1. 经过在线网站测试(https://emkei.cz/)
  2. 若是有Linux主机,能够直接安装 mail,经过命令行测试
sudo apt install mailutils
internet site >> example.com  # 安装的时候会让你配置, example.com 能够随便设置
echo "成功伪造啦!" | mail -s "我是XXX" -r no-reply@example.com youremail

而后查看 mail 日志 (/var/log/mail.log),若是发送结果是 250,表示这封邮件发送成功了,此时就要去配置SPF,若是提示 SPF 未经过,代表已经加了SPF,则不用理会。命令行

此次的查错过程很曲折,甚至都把企业邮箱服务商都改了(固然我用的免费版的,无所谓)日志

说说对腾讯企业邮箱和网易企业邮箱的感觉

腾讯企业邮箱code

优势:
一、 DNS解析生效很快(多是咱们用了DNSpod的缘由)
二、 能够绑定微信,管理安全方便。htm

缺点:
客服人员的专业性比较差,问什么都不知道,还骗我说免费版不支持SPF,总想着怎么让你办理收费套餐。

网易企业邮箱

优势:

  1. 客服人员服务态度好,即便用的是免费版。
  2. 相比腾讯客服的比较专业。

缺点:
MX验证花了两三个小时,后面在知乎上看到有人说须要增长CNAME记录,因而照作了,结果一会儿就验证经过了(不肯定是CNAME的影响仍是确实时间到了)。

参考文章

SPF语法
域名健康查询

相关文章
相关标签/搜索