上一篇 下一篇 分享链接 返回 返回顶部

服务器防火墙封禁IP批量处理方法

发布人: 发布时间:24小时前 阅读量:4

批量封禁IP的必要性

在IDC运维中,服务器频繁遭遇恶意扫描、DDoS攻击或爬虫滥用,单个IP封禁操作效率低下。批量处理可快速响应安全事件,减少人工干预,尤其适用于攻击IP列表来自安全设备或日志分析的场景。

常见批量封禁工具与脚本

1. iptables 规则批量添加

通过shell脚本读取IP列表文件,逐条添加DROP规则。示例:

  • 准备ip_list.txt,每行一个IP
  • 执行 while read ip; do iptables -A INPUT -s $ip -j DROP; done < ip_list.txt

注意:大量规则可能影响性能,建议配合ipset使用。

2. ipset + iptables 高效方案

创建ipset集合,批量加载IP后引用在iptables规则中,减少规则链长度。

  1. ipset create blacklist hash:ip
  2. while read ip; do ipset add blacklist $ip; done < ip_list.txt
  3. iptables -I INPUT -m set --match-set blacklist src -j DROP

3. firewalld 富规则批量操作

使用firewall-cmd结合脚本,适用于CentOS/RHEL 7+系统:

  • for ip in $(cat ip_list.txt); do firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="'$ip'" drop'; done
  • 重载配置:firewall-cmd --reload

自动化与API集成

大型IDC常采用API对接防火墙(如云防火墙、硬件防火墙),通过脚本或监控系统自动拉取威胁情报IP库,定时同步封禁。例如使用Python调用阿里云API批量添加黑名单,或通过Ansible下发规则到多台服务器。

注意事项

  • 避免误封:封禁前应核对IP来源(如CDN节点、合作方IP),建议加入白名单机制。
  • 性能影响:iptables规则过多会导致网络延迟增加,优先使用ipset或连接跟踪优化。
  • 日志与回溯:记录每次封禁操作的IP、时间、原因,便于审计与解封。
  • 规则持久化:使用iptables-save/restore或firewalld永久配置,防止重启丢失。

总结

批量封禁IP是服务器安全运维的基础能力,合理选择工具(iptables/ipset/firewalld)并配合自动化流程,可显著提升响应效率与系统稳定性。

目录结构
全文
企业微信 企业微信
微信公众号 微信公众号
服务热线: 400-790-1688
电子邮箱: 3310008520@qq.com