最近常常会收到这样的通知:
经华为云核查,您的域名:xxx.cn并未进行备案,二级域名xh.xxx.cn实际解析华为云大陆服务器IP:139.159.xxx.xxx据工信部《互联网信息服务管理办法》(国务院292号令)和工信部令第33号《非经营性互联网信息服务备案管理办法》规定,国家对经营性互联网信息服务实行许可制度...
让我想起来这个几年前看过的 DNS 悬挂记录(dangling DNS record)的问题,让小组同学在云资产合规平台扫描处理了下悬挂记录。
什么是 DNS 悬挂记录,可以看这 2 个链接:
- 知乎:Understanding the Security Threats of Dangling DNS Records - Week 8
- Prevent dangling DNS entries and avoid subdomain takeover
DNS 悬挂记录的危害除了上面微软文档中提到的,对子域名记录失去控制权(被置入广告)、钓鱼、Cookie泄露、CSRF 等等。在大陆环境中,还有一个让系统管理员无比惊恐的可能性,被电诈利用。
大陆有反电诈的国情存在,导致授信或者备案过的域名 ,能被利用已经是一种资源。用我们已经备案过的域名作为桥梁,绕过一些地方的检测,或增加诈骗成功的可能性。如果被利用,相关机构可以直接发指令给域名服务商 clienthold 或者省级运营商进行屏蔽域名,威胁到整个二级域名空间的安全。 从各类消息来看,各个地方的相关机构权利非常大。
曾经发生过的有腾讯云 COS 域名被多个省封禁、LeanCloud 域名被禁事件等。所以目前国内云Pass 厂商,基本只让客户自带域名, CNAME接入。
然而 DNS 悬挂记录是一条非常容易漏网的鱼。
我们的做法是定期扫描所有域名记录,A /AAAA 等记录,指向检查是否在 资产系统(CMDB )中。CNAME 记录,先检查指向的二级域名是否在维护的白名单(包含各类 CDN大厂 加速域名)中,如果不是,再检查是否在 资产系统中(存在 AWS ELB 等域名的情况)。
攻击者在云平台批量申请IP,如何知道是否有域名指向该地址?
- 开个 nginx,收集一段时间访问日志,看请求host头;
- 查询 IP 的解析记录:http://viewdns.info ,以及各类 TI 平台历史解析,再做验证。