直接封禁整个 IP 段,往往是应对恶意扫描和网络攻击时最先见效的一项防御手段。不过不要急于“一刀切”,更稳妥的做法是先结合服务器日志分析攻击特征,例如异常高频请求、恶意 User-Agent、持续探测敏感路径,以及明显的暴力破解行为。确认这些风险信号后,再通过 firewalld/ufw(Linux)、Windows 高级防火墙或云平台安全组实施精准 IP 封禁策略,这样既能有效阻断攻击,也能尽量减少对正常用户访问的误伤。

直接封禁 IP 段是最快产生效果的安全防护动作之一,但必须结合精准识别、日志分析和分层拦截策略,否则不仅容易误封正常流量,也可能被攻击者轻易绕过。
先确认攻击特征再封禁
不要因为看到几个高频访问 IP 就立刻全部拉黑,建议先查看服务器日志再做判断。重点排查 Nginx 的 access.log、Apache 的 error_log,以及系统中的 auth.log,然后把具备以下典型攻击特征的 IP 地址筛选出来:
- 10秒内请求首页、登录页或接口路径 ≥20次
- User-Agent 为空,或包含“sqlmap”“dirbuster”“masscan”等常见扫描工具名称
- 出现大量404/403响应后,仍持续探测敏感路径(如/wp-admin/、/phpmyadmin/、/.git/)
- 同一IP持续尝试不同用户名,对 SSH 或后台登录入口进行爆破
确认后再执行封禁,避免误封搜索引擎爬虫、CDN 节点 IP 或其他正常访问来源。
用系统防火墙批量封IP段(Linux)
Linux 服务器推荐优先使用 firewalld(CentOS/Rocky)或 ufw(Ubuntu/Debian)来配置 IP 封禁规则,相比传统 iptables 更直观,也更便于后期维护:
- 封单个IP:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.5.100" reject' - 封CIDR网段:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.0/24" drop' - 封IP范围:
ufw deny from 203.0.113.10 to 203.0.113.50 - 执行
firewall-cmd --reload或ufw reload使防火墙规则立即生效
Windows服务器封禁实操要点
Windows 服务器需要通过“高级安全 Windows Defender 防火墙”创建自定义入站规则,才能更灵活地实现 IP 封禁与网段拦截:
- 规则类型选择“自定义”,不要选“端口”或“程序”
- 在“作用域”页 → “下列IP地址” → 点击“添加…”输入 CIDR(如192.168.1.0/24)或范围(如203.0.113.10–203.0.113.50)
- “操作”选择“阻止连接”,“配置文件”建议全部勾选(域/专用/公用)
- 命令行快速封禁多个IP:
netsh advfirewall firewall add rule name="Block-Scan-2026" dir=in action=block protocol=any remoteip=203.0.113.10,203.0.113.11,203.0.113.12 profile=any
云平台与路由器协同加固
系统防火墙虽然重要,但作为最后一道防线,更高效的方式是把拦截前置到云安全组和网络边界设备:
- 阿里云/腾讯云安全组:在入方向添加拒绝规则,目标设置为恶意IP段,协议选择“全部”,优先级设为最高(数值最小)
- 家用或企业路由器:开启 SPI(状态包检测)+ DOS 防护,设置每秒新建连接阈值≤50,并关闭 UPnP
- 宝塔面板用户:启用“系统防火墙”插件,导入 IP 黑名单列表(支持 txt 批量上传),同时开启“自动屏蔽高频请求IP”功能
这些设置并不复杂,但在服务器安全防护中却非常容易被忽略。
