从检测到防御的完整实战指南
目录导读
- 外网扫描的威胁本质与常见类型
- 实时扫描检测技术:流量分析与行为建模
- 自动封禁策略:防火墙、IDS/IPS与云WAF联动
- 实战问答:遭遇大规模扫描时的应对方案
- 长效防御体系构建:从IP黑名单到威胁情报订阅
外网扫描的威胁本质与常见类型
核心问题:攻击者为何要扫描你的外网?
外网扫描是黑客入侵的第一步,其本质是“踩点”:通过发送探测包,识别目标网络开放的服务端口、操作系统版本、中间件指纹等信息,常见扫描类型包括:

- 端口扫描(如SYN扫描、TCP Connect扫描)——寻找SSH、RDP、Web服务等开放端口。
- 漏洞扫描(如利用Nessus、OpenVAS探测已知CVE漏洞)——针对Web应用、数据库、路由器等。
- 爆破扫描(如SSH/Redis弱口令遍历)——结合字典尝试登录。
- 侦察扫描(如DNS枚举、子域名扫描)——收集网络拓扑资产。
关键认知:扫描本身通常不产生直接破坏,但它是后续攻击的“指南针”。及时封禁扫描源IP,可切断攻击链的前端。
问答环节
Q:我的服务器每天收到大量海外IP的扫描,是否立即封禁所有非本地IP?
A:不建议,误封可能导致合法用户(如海外客户、CDN节点)无法访问,更优方案是基于行为评分:区分“正常探测”(如搜索引擎爬虫)与“恶意扫描”(如高频端口遍历)。
实时扫描检测技术:流量分析与行为建模
关键方法:在毫秒级判断IP是否在进行扫描。
1 流量特征检测(经典方案)
- SYN包速率监控:使用
iptables或nftables统计源IP的每秒SYN包数量,阈值如>20/s则标记。 - 端口遍历检测:记录单个IP在短期(如10秒内)内访问的不同端口数,若>50个端口,极高概率是扫描。
- 异常响应检测:针对ICMP无响应、TCP RST异常等行为建模。
2 现代方案:基于eBPF与BloomFilter
- 通过eBPF在内核层捕获网络包,使用布隆过滤器记录访问过的IP+端口对,当新连接命中黑名单模式时,立即丢弃。
- 优点:零用户态切换,损耗<5% CPU,适合高并发场景。
3 威胁情报集成
- 订阅免费源(如AbuseIPDB、AlienVault OTX、国内微步在线、绿盟威胁情报),每5分钟同步黑名单IP列表。
- 注意:云环境(华为云、腾讯云)自带威胁情报插件,可在控制台开启“自动封禁”开关。
问答环节
Q:如何区分真实扫描与正常的CDN节点访问?
A:CDN节点的IP段通常是固定的(如Cloudflare的103.21.244.0/22),可创建白名单,异常扫描IP往往具有高频率、多端口、非结构化的时序间隔特征,而CDN请求的端口固定(如80/443)且间隔均匀。
自动封禁策略:防火墙、IDS/IPS与云WAF联动
核心思路:检测到扫描行为后,在毫秒级添加ACL规则或者触发应用层降级。
1 服务器端:使用fail2ban + iptables自动化
# fail2ban配置示例(防止SSH爆破) [ssh-iptables] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5 # 5次失败后封禁 bantime = 86400 # 封禁24小时
- 优点:轻量级,适合中小站。
- 局限:只能针对特定服务(SSH/HTTP),无法阻断通用端口扫描。
2 核心网络层:云WAF与NAT策略联动
- 华为云/腾讯云WAF:在“扫描防护”模块开启“高频扫描自动拦截”,支持自定义检测周期(如5秒内200次访问即封禁24小时)。
- NAT网关+DDOS高防:在高防IP上设置“端口扫描过滤”,如每秒SYN包>300则封禁源IP,同时同步到云防火墙策略。
3 针对0-day扫描的进阶方案:蜜罐诱捕
- 部署开源蜜罐(如T-Pot、Honeyd)监听诱饵端口,当扫描IP触碰蜜罐时,威胁情报自动标记并封锁所有外部出口。
- 适用场景:金融、政企等高价值目标。
问答环节
Q:封禁会导致大量误报,如何设置白名单?
A:优先级:白名单 > 自动封禁,必须将可信源(支付回调IP、云监控运维IP、CDN节点)以CIDR格式加入先决规则。iptables -A INPUT -s 1.2.3.0/24 -j ACCEPT 放在封禁规则之前。
实战问答:遭遇大规模扫描时的应对方案
场景:某电商平台突然收到大量来自东南亚IP的MongoDB端口(27017)扫描,流量暴增导致安全组报警。
应对步骤:
- 临时封禁:在云控制台(如华为云安全组)设置“拒绝所有27017端口入站”,拒绝源IP段103.21.0.0/16”。
- 溯源分析:查看WAF日志,确认扫描源IP特征(如统一用户代理为空、时序随机),提取恶意IP列表。
- 永久防御:修改MongoDB配置
bind_ip: 127.0.0.1(仅本地监听),非必要不从外网访问。 - 威胁情报联动:将IP列表推送到云防火墙的“黑名单组”,触发自动封锁。
效果:5分钟内阻断99%扫描流量,正常业务不受影响。
问答环节
Q:如果扫描IP是动态池(如Tor出口节点、公共代理),如何持久封禁?
A:这类IP池的长连接特征:平均生存期<30分钟,建议采用“动态评分+冷却期”机制:单次扫描暂封30分钟,若连续3次出现,永久封禁该网段/24,同时结合云WAF的IP-URL行为曲线,对访问频率突变的IP实施验证码挑战。
长效防御体系构建:从IP黑名单到威胁情报订阅
目标:从“被动封禁”转向“主动识别”。
1 自动化开关与告警
- 使用Prometheus + Alertmanager监控扫描指标(如每秒SYN包数、80端口请求数),超过基线(如均值+5σ)触发封禁API。
- 封禁后发送通知到企业微信/钉钉,附带原始日志摘要。
2 分布式屏蔽推荐方案(面向云原生环境)
- EDR+网络检测响应:在容器/虚拟机节点上安装agent,捕获内核态包流量,利用机器学习模型识别扫描行为。
- 第三方服务:如阿里云用户可开通“IP威胁检测”增值服务,自动同步Shodan、Censys等公开扫描器IP库。
3 月度审计与策略优化
- 导出封禁日志,分析误封比例(应<1%)。
- 对长期封禁的IP进行“解封评估”,避免错杀正常VPN出口。
- 更新黑名单库:合并CVE新增漏洞对应的扫描行为(如Log4j2扫描特征)。
问答环节
Q:小公司没有安全团队,如何低成本实现?
A:必选方案:华为云/腾讯云WAF(基础版免费)+fail2ban(开源)+第三方威胁情报API(如AbuseIPDB)。优先级顺序:1) 关闭非必要端口(最安全);2) 绑定白名单(仅允许指定IP);3) 开启WAF自动扫描拦截。
总结与行动清单
- 立刻执行:检查所有外网端口,关闭SSH的密码登录(改用密钥),除非有业务需要,否则不允许MongoDB/Redis/Elasticsearch直接暴露。
- 自动化工具链:部署fail2ban + 云WAF,并订阅“威胁情报源”每日同步。
- 监控与告警:设置安全组日志聚合到Logstash,对单源IP出现5个不同端口的请求发射告警。
封禁扫描不是终极方案,而是战术止血,真正安全是做好最小化暴露面、密钥管理和定期漏扫,如果你已经开始排查你的外网开放端口,你已经走在99%的中小企业前面。