直接封禁非法asn号段关键在“准”和“稳”:一要叠加威胁情报、归属类型、段级攻击特征精准识别高风险asn;二要通过ripestat等查其真实活跃cidr段;三要用iptables规范封禁并保存规则;四需监控命中率、设白名单兜底、定期更新段列表。

一、先确认哪些ASN属于高风险目标
不能凭主观判断封某个ASN。优先关注三类信号叠加的ASN:
• 被多个威胁情报平台标记为“恶意IP集中地”(如 AbuseIPDB、VirusTotal)
• 归属类型为数据中心(Data Center)、云服务商(Cloud Provider)或匿名代理(Anonymizer)
• 在你自身日志中呈现“段级密集攻击特征”:例如1小时内来自同一ASN的IP发起超200次失败登录,且IP分散在5个以上/24子网
实测中,超过50%的DDoS与撞库流量集中在不到0.3%的ASN内,重点筛查这些段效率最高。
二、获取该ASN的真实IP地址范围
ASN本身不直接对应IP,必须查其宣告的CIDR段:
• 推荐使用 RIPEstat(https://stat.ripe.net)或 IPinfo.io(支持API批量查询)
• 输入 ASN 编号(如 AS16276),返回全部 IPv4/IPv6 地址块及生效时间
• 注意剔除已过期或未激活的段(查看“last updated”和“status”字段)
• 示例:AS16276(OVH SAS)包含 185.10.10.0/24、145.239.0.0/16 等数十个活跃段,需逐条验证再导入规则
三、用iptables按段封禁并防止规则失效
单条命令只能封一个CIDR段,多段需循环添加;同时要规避常见陷阱:
• 封禁命令格式统一为:
iptables -A INPUT -s 185.10.10.0/24 -j DROP
• 必须加在 filter 表的 INPUT 链(处理入站请求),不要误用 FORWARD 或 OUTPUT
• 添加前检查默认策略:iptables -L INPUT -n | head -3,确保 policy 不是 DROP,否则可能锁死SSH
• 封完立即保存(CentOS 7+):service iptables save 或 iptables-save > /etc/sysconfig/iptables
• 建议搭配日志记录做审计:iptables -A INPUT -s 145.239.0.0/16 -j LOG --log-prefix "ASN-BLOCK:",再接 DROP
四、上线后必须做的三件事
封禁不是终点,而是风控闭环的起点:
• 监控丢包率突增:用 iptables -L -vn | grep DROP 查看各规则命中数,若某段每秒触发超1000次,说明攻击仍在持续或存在误判
• 设置白名单兜底:对内部运维出口、CDN回源IP、合作方专线等关键段,用 -I INPUT 1 -s X.X.X.X/Y -j ACCEPT 插入最前,避免被后续DROP规则拦截
• 定期更新段列表:ASN分配动态变化,建议每月用脚本自动拉取最新数据比对,淘汰长期零命中的旧规则










