插件窝 干货文章 如何使用IP黑名单来阻止恶意IP地址访问CentOS服务器

如何使用IP黑名单来阻止恶意IP地址访问CentOS服务器

sudo iptables bash 地址 413    来源:    2025-04-16

在CentOS服务器上使用IP黑名单阻止恶意IP访问

方法一:使用iptables防火墙

  1. 查看当前iptables规则

    sudo iptables -L -n -v
    
  2. 添加IP到黑名单

    sudo iptables -A INPUT -s 恶意IP地址 -j DROP
    
  3. 批量添加多个IP

    sudo iptables -A INPUT -s 192.168.1.100 -j DROP
    sudo iptables -A INPUT -s 10.0.0.5 -j DROP
    
  4. 添加IP段

    sudo iptables -A INPUT -s 192.168.1.0/24 -j DROP
    
  5. 保存iptables规则

    sudo service iptables save  # CentOS 6
    sudo iptables-save > /etc/sysconfig/iptables  # CentOS 7+
    

方法二:使用firewalld (CentOS 7+)

  1. 添加IP到黑名单

    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="恶意IP地址" reject'
    
  2. 重新加载firewalld

    sudo firewall-cmd --reload
    
  3. 查看当前黑名单

    sudo firewall-cmd --list-rich-rules
    

方法三:使用/etc/hosts.deny (TCP Wrappers)

  1. 编辑hosts.deny文件

    sudo vi /etc/hosts.deny
    
  2. 添加要阻止的IP

    sshd: 恶意IP地址
    ALL: 另一个恶意IP地址
    

方法四:使用Fail2Ban自动阻止恶意IP

  1. 安装Fail2Ban

    sudo yum install epel-release
    sudo yum install fail2ban
    
  2. 配置Fail2Ban

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    sudo vi /etc/fail2ban/jail.local
    
  3. 启动并启用Fail2Ban

    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    

方法五:使用IPSet管理大量IP

  1. 创建IPSet集合

    sudo ipset create blacklist hash:ip
    
  2. 添加IP到集合

    sudo ipset add blacklist 恶意IP地址
    
  3. 将IPSet与iptables关联

    sudo iptables -I INPUT -m set --match-set blacklist src -j DROP
    
  4. 保存IPSet规则

    sudo ipset save blacklist -f /etc/ipset.conf
    

最佳实践建议

  1. 定期更新黑名单 - 使用脚本或工具自动更新已知的恶意IP列表
  2. 监控日志 - 定期检查/var/log/secure和其他相关日志
  3. 组合使用 - 可以同时使用多种方法增加安全性
  4. 备份规则 - 定期备份防火墙规则
  5. 谨慎操作 - 避免误封自己的IP地址

解除IP封锁

如果需要解除某个IP的封锁:

# iptables
sudo iptables -D INPUT -s 被封IP地址 -j DROP

# firewalld
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="被封IP地址" reject'
sudo firewall-cmd --reload

# ipset
sudo ipset del blacklist 被封IP地址