恶意域名防护的核心路径, 是需要把拦截、监测和溯源这三层联动的机制给结合起来, 这三者是缺一不可的。如果仅仅只做终端拦截的话, 那是没有办法彻底根除威胁的。如果仅仅是做监测的话, 那么响应就会比较滞后。下面介绍的方法, 是针对企业IT安全团队以及网站运营方适用的。
实时拦截层
把拦截规则在DNS解析节点同步部署, 并且要把拦截规则在Web应用防火墙节点也就是WAF那里同步部署, 还要把拦截规则在终端代理节点那里同步部署。
1. DNS层是将已经确认的恶意域名加入到本地的DNS黑名单里面去的, 并且配置为拒绝响应的解析方式, 而对于员工所使用的终端设备来说, 则是统一采用了企业方面所管控的DNS服务来进行操作的, 比如说内部使用的GDS系统, 这么做的目的是为了避免出现绕过的情况。
2. WAF/网关层: 在入口那个位置配置关于URL与Referer匹配的规则, 一旦命中就返回403或者重定向至安全提示页, 规则库建议每日更新, 覆盖已知钓鱼域、C2通信域、恶意跳转域。
3. 终端代理层指的是企业内网里的代理软件, 比方说你提到的Squid或者Zscaler, 这些工具会打开SSL中间人检查的功能, 然后去审查那些不在白名单名单里面的域名证书的签发情况, 还有对这些域名发出的请求进行查看, 最后把这些藏在加密通道里面的隐蔽通信给阻断掉。
主动监测层
拦截其实算上是一种被动性质的防御方式, 可是只有做好了监测工作, 咱们才能够在最开始的时候就发现威胁。
我们要去部署那个用来采集DNS流量日志的东西, 这里面包含了每天的全量数据和基于告警的增量数据, 然后我们还得针对那些新冒出来的域名去做熵值的分析还有注册信息的核查, 如果发现某个域名的生命周期短于七十二小时而且名称的随机度特别高, 那么这个东西十有八九就是恶意的。
拿 m.dcqzss.cn 这个域名来举例, 它的注册时间才刚刚过了短短 48 个小时而已。而且, 上面根本就没有任何符合要求的备案主体信息。另外, 它的 SSL 证书是通过 Let's Encrypt 这种渠道进行批量签发的。
同时, 该网站上并不存在任何正常的业务页面。一旦这三种情况全都凑在一起了, 那就完全没有悬念, 可以确定它就是用来的仿冒钓鱼域名。对于这种情况, 必须马上把它加入到那些被禁止访问的名单里面去。还得立刻把这件事通报出去。
接入威胁情报源, 这些威胁情报源例如包括OTX、URLhaus以及内部情报平台这样的一些来源。将那些在情报里面的IOC域名进行自动同步操作, 把这些域名同步到WAF里面去, 同时也会同步到DNS黑名单里去。
就这样形成了所谓的自动化闭环, 这个闭环的名字就叫做“情报→规则→生效”。对于同步的延迟时间要做控制, 要让这个控制在5分钟以内。
溯源与处置层
确认了存在恶意性质的域名之后, 相关的处理操作流程接着就展开。
1. 我们要对证据固化这一步进行操作, 具体来说就是要把DNS解析记录给保存好, 同时也需要把HTTP响应头存下来, 另外证书信息也不要遗漏地记录下来, 此外, 注册WHOIS的快照信息也得保存起来, 通过以上这些操作, 我们可以形成一个完整的证据链。
2. 内部隔离是这么一个做法, 就是在邮件网关那里把那个域名给封掉, 也在终端EDR那里把那个域名连同关联的IP地址一起给封禁掉, 这样做就是把内部之间的横向传播给阻断掉了。
3. 上游阻断就是说要分别找域名注册商、CDN服务商, 还有证书颁发机构去提交滥用投诉, 也就是 abuse report, 让他们去把那些东西下架, 或者吊销那个证书。
4. 通报与复盘: 需要在48小时之内把事件的报告给做完。然后把域名的那些特征, 包括命名的模式还有注册的邮箱以及IP段这些内容, 全部都录入到内部的威胁库里面去。最后还要针对WAF规则模板来进行更新操作。
高频疑难与应对
注意事项: 所有拦截规则的变更, 都必须走变更审批流程。这样做, 是为了避免把正常的业务域名误封掉。建议为业务的核心域名配置白名单, 用作兜底措施。拦截策略的原则是, “宁可让人工复核”, 也不要“静默放行”。


