比屏蔽网段更好的屏蔽方法——屏蔽 ASN

 

最近服务器仍然被很多不知名的 IP 地址发起大量的访问,这些访问应该是使用各种脚本以及僵尸爬虫等方式进行的攻击。虽然这些爬虫来自不同的 IP,甚至网段也不尽相同,但研究发现它们通常来自同一个地域或者 ISP。这让我开始关注一个之前没怎么注意过的概念:ASN。

什么是 ASN?

ASN(Autonomous System Number)是自治系统编号,它是用于互联网路由的一个重要标识符。每个 ASN 代表着一个自治系统(AS),通常属于同一个网络运营商、数据中心或大型组织。

举个例子:

  • AS45102 属于阿里云
  • AS13335 属于 Cloudflare
  • AS16509 属于亚马逊 AWS

这就像是互联网世界的”门牌号”,每个大型网络服务提供商都有自己独特的 ASN,方便网络通信和路由管理。

如何查询 IP 对应的 ASN

有多种方式可以查询 IP 对应的 ASN:

  1. 在线工具:
    • bgp.he.net
    • ipinfo.io
    • whois.ipip.net
  2. 命令行工具:
    whois IP地址
    
  3. API 服务:
    • IPinfo.io API
    • Team Cymru IP to ASN service

Cloudflare 中的 ASN 屏蔽设置

在 Cloudflare 的 WAF 规则中设置 ASN 屏蔽非常直观:

  1. 登录 Cloudflare 控制台
  2. 进入 Security > WAF
  3. 创建新规则
  4. 在匹配条件中选择 ASN
  5. 输入要屏蔽的 ASN 号码
  6. 选择操作(如 Block)
  7. 保存规则

ASN 屏蔽的优缺点

优点:

  1. 批量管理:一次性屏蔽整个数据中心或 ISP 的流量
  2. 更高效:比维护 IP 黑名单更容易管理
  3. 准确性:可以精确定位恶意流量的来源
  4. 持久有效:即使攻击者更换 IP,只要在同一 ASN 范围内仍然会被屏蔽

缺点:

  1. 可能存在误伤:如果屏蔽了大型公共云服务商的 ASN,可能会影响正常用户
  2. 需要专业知识:正确识别和管理 ASN 需要一定的网络知识
  3. 实现限制:并非所有防火墙都支持 ASN 级别的屏蔽
  4. 动态性:ASN 信息可能会变化,需要定期更新

最佳实践建议

  1. 优先屏蔽已知恶意 ASN
  2. 避免屏蔽大型公共云服务商的 ASN
  3. 结合其他安全措施使用
  4. 定期review屏蔽列表
  5. 保持监控和日志记录

虽然目前国内的云服务商的安全组大多还没有直接支持 ASN 屏蔽,但随着安全需求的增长,这个功能可能会在未来加入。在此之前,对于使用 Cloudflare 等支持 ASN 屏蔽的服务的用户来说,这是一个值得尝试的安全防护方案。