伤心的笔 发表于 2015-7-14 11:30:45

SPF记录,不要使用“~all”

本帖最后由 伤心的笔 于 2015-8-6 15:32 编辑




我们知道,可以以任何人的身份发送电子邮件。好的邮箱可以将其甄别出来,并送入垃圾箱。
昨天用香港服务器往自己的QQ邮箱里发了两封假邮件,今天是用自己的电脑往126邮箱发了封假邮件,邮件都没有进入垃圾箱
最后那张红字还是因为点拨论坛用了腾讯企业邮,而恰好是QQ邮箱收信,自己能识别。否则(第一张图)连个红字也没有。

用自己的电脑,126爽快地接收了,outlook和QQ不收。而且,就算是有SPF记录,126一声不吭!为什么呢?因为SPF记录末尾写的是“~all”。请移步4楼

时间有限,没有测试除了126、QQ之外的其他邮箱。感觉一点都不放心了!


IsaacZ 发表于 2015-7-14 17:20:33

我需要做些什么吗?

伤心的笔 发表于 2015-7-14 18:06:57

本帖最后由 伤心的笔 于 2015-8-6 16:06 编辑

IsaacZ 发表于 2015-7-14 17:20
我需要做些什么吗?
似乎做不了什么。我查到了dianbo.org的SPF记录,如果收邮件的一方是负责任的邮箱,邮箱会通过SPF记录检查真伪。SPF记录似乎已经是域名邮箱能做的所有努力了。

伤心的笔 发表于 2015-8-6 15:26:54

本帖最后由 伤心的笔 于 2015-8-12 16:43 编辑

IsaacZ 发表于 2015-7-14 17:20
我需要做些什么吗?
今天突然发现了,应该把末尾的~all改成-all,以便阻止仿冒邮件!

举个例子:
点拨论坛以前的TXT记录是这么写的
v=spf1 include:spf.mail.qq.com ~all
~的意思是:

Soft Fail发件 IP 非法,但是不采取强硬措施接受来信,但是做标记
而-的意思是:

Fail发件 IP 是非法的退信
现在把~all改成-all,意思是除了上面的IP,其余发送者以我域名的名义发送的邮件,直接退信。
当然,光这么做还不行,因为网站服务器也可以发信。还需要加上自己的服务器:
假设www.dianbo.org设置了一条A记录,值为118.193.209.152
那么,SPF记录可以这么些写:
v=spf1 a:www.dianbo.org include:spf.mail.qq.com -all

其中a:www.dianbo.org的意思是将www.dianbo.org的A记录指向的IP地址加入白名单。
当然也可以这么写:
v=spf1 ip4:118.193.209.152include:spf.mail.qq.com -all

(这篇帖子移到“菜鸟学建站”板块比较好)

IsaacZ 发表于 2015-8-6 22:50:06

已经完全替换成你提供的spf记录,期待有所改善。

伤心的笔 发表于 2015-8-7 08:31:01

IsaacZ 发表于 2015-8-6 22:50
已经完全替换成你提供的spf记录,期待有所改善。
测试如下:

用自己家电脑直接往126邮箱发送虚假邮件:
还是可以收到。
(我的域名也是)

用PHP中的Mail()通过服务器往QQ邮箱发送虚假邮件:
1.我自己的域名,因为SPF记录的白名单上有该服务器,所以不是虚假邮件,成功发送
2.尝试使用webmaster@dianbo.org身份发信,发送失败,于是服务器自动把发件人改成自己的,不过加了一句“由webmaster@dianbo.org代发”,QQ邮箱成功接收至收件箱
3.尝试使用noreply@dianbo.org身份发信,发送失败,于是服务器自动把发件人改成自己的,不过加了一句“由noreply@dianbo.org代发”,QQ邮箱将其归至垃圾箱


总结:这样设置还是有一点作用的,不过安全性仍然不高。
126邮箱“非常安全”。

IsaacZ 发表于 2015-8-7 21:51:21

可以跟126反映一下这个情况,呵呵。
页: [1]
查看完整版本: SPF记录,不要使用“~all”