网络安全 --- 子域名抢注通解
核心概念:利用“废弃地址”的漏洞
想象一下,你拥有一个大型社区(你的主域名,比如 example.com)。这个社区里有很多房子(子域名,比如 shop.example.com, blog.example.com)。
-
“废弃地址”的产生:
-
你原来在社区里开了家分店(比如
oldstore.example.com),为了方便顾客找到它,你在社区的公共告示牌(DNS记录)上贴了个纸条:“oldstore.example.com的地址就是第三方仓库.com的地址”(这就是CNAME记录)。 -
后来,你关掉了这家分店,也停止租用
第三方仓库.com了(资源不存在)。 -
关键错误: 你忘了把告示牌上那张指向
第三方仓库.com的纸条撕掉!这张纸条现在指向了一个“废弃地址”。
-
-
“骗子”如何“抢注”:
-
一个骗子(攻击者)发现了告示牌上这张指向废弃地址的纸条(悬空的
CNAME记录)。 -
他跑去租下了(或声称拥有)那个废弃的
第三方仓库.com。 -
现在,当有人根据告示牌的指示,想去
oldstore.example.com(你的旧分店)时,纸条(CNAME)会把他们带到骗子租下的第三方仓库.com。 -
结果: 骗子成功地在你的社区 (
example.com) 名下,用oldstore.example.com这个地址开了一家“冒牌店”!外人看起来,这店还属于你的社区。
-
为什么这很危险?(风险通俗版)
骗子在你的“社区”里开了冒牌店,能做什么坏事?
-
偷“会员卡”(窃取Cookie):
-
如果你的社区(主域名)给居民发了通用会员卡(Cookie 设置了
domain=example.com),那么骗子在oldstore.example.com这个冒牌店里也能读取到这张卡的信息!他就能冒充居民干坏事。
-
-
在店里放“有毒传单”(恶意脚本/XSS):
-
骗子可以在他的冒牌店里放一些带病毒的宣传单(恶意 JavaScript)。来店的顾客(用户)不小心“拿了传单”(加载了脚本),骗子就能偷看他们在其他店(甚至社区总部)的操作,比如偷密码。
-
-
骗过“社区安检”(绕过CSP):
-
社区本来有安检规则(内容安全策略CSP),规定哪些地方的东西是安全的。但骗子开的店在社区内部 (
*.example.com),安检可能误以为他的“有毒传单”也是安全的,就放行了。
-
-
开“高仿官方店”骗钱(钓鱼攻击):
-
这是最常用的!骗子把冒牌店 (
oldstore.example.com) 装修得和你的官方店 (shop.example.com) 一模一样,甚至叫“清仓特卖”、“账户安全中心”。因为地址在你的社区名下 (example.com),邮箱系统(邮件扫描器)和居民(用户)更容易相信这是真的官方店,从而被骗输入账号密码、付款。
-
怎么保护你的“社区”?(保护措施通俗版)
-
关店时,先撕告示!(管理流程):
-
最重要! 当你决定关掉一家分店(停用子域名)时:
-
第一步: 马上去社区的公共告示牌(DNS记录)上,把指向外部仓库 (
CNAME) 的那张纸条撕掉!(先删DNS记录) -
第二步: 再去处理关店的其他手续(关服务器、停服务)。
-
-
开店(启用子域名)时反过来:
-
第一步: 先把店内部布置好(配置好服务器/服务)。
-
第二步: 最后才去告示牌贴纸条(最后创建DNS记录)。
-
-
核心: 确保任何时候,告示牌上的纸条都指向一个真实存在的、你自己控制的店铺或仓库!
-
-
定期“社区巡逻”(扫描悬空子域名):
-
安排保安(自动化工具如
Amass,Sublist3r)定期检查社区里所有挂着牌子 (DNS记录) 的店铺地址 (子域名),看看有没有指向废弃仓库 (悬空CNAME) 的情况。这些工具坏人也在用,我们更要抢先一步用!
-
-
管好“会员卡”权限(限制Cookie作用域):
-
发会员卡(设置Cookie)时要小心:
-
能不通用就不通用: 如果一家分店 (
blog.example.com) 的会员卡不需要在其他分店 (shop.example.com) 使用,那就只给这家店发专门的卡(不设置domain=example.com,默认只对当前子域有效)。 -
谨慎使用“社区通用卡”: 只有那些确实需要在社区所有分店 (
*.example.com) 通用的服务(比如统一登录),才发带domain=example.com的卡。这能限制骗子在冒牌店偷到通用卡。
-
-
-
谨慎发“万能店铺许可证”(避免不必要的通配符证书):
-
给店铺办经营许可证(SSL/TLS证书)时:
-
如果不需要所有分店 (
*.example.com) 都用一个许可证(通配符证书),那就不要申请这种“万能”的。 -
最好给每家店 (
shop.example.com,blog.example.com) 单独办许可证(单域名证书)。这样即使骗子抢注了一个废弃地址 (oldstore.example.com),他也很难轻易拿到盖着社区大印 (example.com) 的、适用于这个地址的许可证,他的冒牌店看起来就更可疑(浏览器可能显示不安全)。
-
-
总结成一句话:
子域名抢注就是骗子利用你忘记清理的“旧门牌号”(悬空DNS记录,尤其是CNAME),在你的地盘上开冒牌店搞破坏。防御的关键在于:及时清理旧门牌、管好内部权限、定期检查漏洞。 管理好你的“社区公告栏”(DNS记录)是最重要的第一步!
浙公网安备 33010602011771号