zoukankan      html  css  js  c++  java
  • 记录一次网站邮箱(STMP)被恶意伪造事件

    网站运行了一段时间了,最近用户增加的比较多,突然有用户反馈说遇到骗子了,给我看了他跟骗子的邮件记录,发现骗子竟然可以用我们域名的邮件发邮件,真是被惊吓到了,赶紧开始查找问题.

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

    到这里我就疑问了,因为邮件客户端我们一直登着,所以不会存在邮箱记录被删除的情况,于是我猜应该是我们的邮箱服务被攻击了,通过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://ihuan.me/mail)
    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,则不用理会。

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

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

    腾讯企业邮箱

    优点:
    1、 DNS解析生效很快(可能是我们用了DNSpod的原因)
    2、 可以绑定微信,管理安全方便。

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

    网易企业邮箱

    优点:

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

    缺点:
    MX验证花了两三个小时,后面在知乎上看到有人说需要增加CNAME记录,于是照做了,结果一下子就验证通过了(不确定是CNAME的影响还是确实时间到了)。

    参考文章

    SPF语法
    域名健康查询

  • 相关阅读:
    Struts框架之结果页面的跳转
    eclipse中运行tomcat提示端口被占的4种解决方案
    在Struts2框架中使用Servlet的API
    Struts2框架之Action类的访问
    判断有无网
    UITextField银行卡加空格
    关于UI_USER_INTERFACE_IDIOM() & UIDevice.model
    OC导航栏跳转指定界面
    oc UIAlertController封装
    升级到macSierra 10.12之后 在模拟器上面滑动视图很卡,
  • 原文地址:https://www.cnblogs.com/zhangyanpei/p/8963469.html
Copyright © 2011-2022 走看看