李承武

一次假墙攻击引出配置DNSSEC的坑

原由

最近网站被所谓的烈马团队攻击(伪墙?),指向境外的域名被DNS污染,指向国内的域名被劫持,尝试了什么cloudflare ip轮询(一开始每分钟切换ip时不时还能访问,但很快又被污染,很不稳定),用了什么无视假墙攻击的CDN(没用收费的,价格贼贵而且没试用,估计域名被污染也没什么鸟用,免做冤大头)最后还是没能解决。。。

好吧,近段时间搞到各路站长满城风雨的假墙攻击居然还能弄到我这小站长头上,既然污染无解索性更换域名(俺有权重的域名早已备案回国做301),当然首要解决的就是国内权重域名被劫持问题。

免费版的DNSPOD安全性也太差了吧,随随便便就能给人劫持!?还是被GFW影响的问题?

因为一直在用DNSPOD免费的DNS服务,而它的DNSSEC功能是付费才能使用,二话不说搞了款个人专业版,把DNSSEC安排上,先将劫持的问题处理掉,再把被污染的老域名接回cloudflare的NS,还可以用上cloudflare的免费DNSSEC功能。

DNSSEC不能解污染,仅是cloudflare的NS境外用户能正确解析到才顺便用上,因为当时测试接入 DNSPOD的NS指向CF节点发现境外很多都已经解析不到(现在细想可能是当时启用了DNSSEC功能没配置好)

新域名刚开始也配置了DNSSEC功能,因为我通过cloudflare partner的CNAME接入自定义CF节点,而cloudflare的DNSSEC功能必须接入它的NS才能使用,所以其实并没有生效。当时国内测试正常我也懒得去把配置好的DNSSEC功能关掉,直到后来发现境外多台主机ping不通新域名和国内被劫持域名。。。

境外某些测试DNS的网站大部分可以解析到没正确配置DNSSEC的NS记录。。。估计他们不是使用google的DNS

在境外主机上dig新域名没有NS记录,发现主机使用的DNS是google的8.8.8.8
在本地使用nslookup www.xxx.com 8.8.8.8发现也没有NS记录,但国内常用的DNS例如114.114.114.114 119.29.29.29 223.5.5.5 都能正确识别出NS记录;

Google搜索无果后国外主机尝试ping接入了cloudflare NS的被污染老域名居然能通(之前测试打开了DNSSEC功能但使用DNSPOD指向CF节点也是ping不通的),于是开始怀疑是否DNSSEC的问题?立马把新域名没用上的DNSSEC功能关闭,不到一会就ping通了,dig也能解析到NS记录。到dnsviz.net网站检查发现原本配置好DNSSEC的国内域名出现问题(刚开始检测没问题的,不知道咋弄的),到DNSPOD关闭DNSSEC功能并到域名商DNSSEC设置里删除原来的配置,重新开启并配置就好了。。。

总结

  • 域名DNSSEC功能打开后没有用或没配置一定要关闭掉,域名配置过也请把DNSSEC记录删除掉,否则部分国外DNS解析不到;
  • 域名开启了DNSSEC功能一定要到dnsviz.net检测是否配置成功;

一句话

域名的DNSSEC功能不需要就别打开或配置!!!

评论