如何用Linux防火墙抵御恶意攻击

作者:袖梨 2026-07-16

使用Linux防火墙(如iptables或firewalld)阻止恶意攻击是一种有效的安全措施。以下是一些基本步骤和策略,帮助你配置防火墙以增强系统安全性:

使用iptables

  1. 更新iptables规则:

    • 首先,确保你的iptables是最新的。你可以使用包管理器来更新它,例如在Debian/Ubuntu上使用sudo apt update && sudo apt upgrade iptables
  2. 默认策略:

    • 设置默认策略为DROP,这意味着所有未经明确允许的流量都将被丢弃。
      sudo iptables -P INPUT DROPsudo iptables -P FORWARD DROPsudo iptables -P OUTPUT ACCEPT
  3. 允许必要的流量:

    • 允许SSH连接(假设使用默认端口22):
      sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTsudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    • 允许HTTP/HTTPS流量:
      sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTsudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPTsudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTsudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
  4. 限制连接数:

    • 为了防止DDoS攻击,可以限制每个IP地址的连接数:
      sudo iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 5 -j DROP
  5. 保存规则:

    • 保存iptables规则以确保它们在重启后仍然有效。不同的发行版有不同的方法来保存规则,例如在Debian/Ubuntu上可以使用iptables-persistent
      sudo apt install iptables-persistentsudo netfilter-persistent savesudo netfilter-persistent reload

使用firewalld

  1. 安装firewalld:

    • 如果尚未安装,可以使用包管理器进行安装,例如在Debian/Ubuntu上:
      sudo apt update && sudo apt install firewalld
  2. 启动并启用firewalld:

    • 启动firewalld服务并设置为开机自启:
      sudo systemctl start firewalldsudo systemctl enable firewalld
  3. 配置默认区域:

    • 设置默认区域为drop,并允许必要的流量:
      sudo firewall-cmd --set-default-zone=dropsudo firewall-cmd --permanent --zone=trusted --add-interface=losudo firewall-cmd --permanent --zone=trusted --add-source=127.0.0.1sudo firewall-cmd --reload
  4. 允许SSH连接:

    sudo firewall-cmd --permanent --zone=trusted --add-service=sshsudo firewall-cmd --reload
  5. 允许HTTP/HTTPS流量:

    sudo firewall-cmd --permanent --zone=trusted --add-service=httpsudo firewall-cmd --permanent --zone=trusted --add-service=httpssudo firewall-cmd --reload
  6. 限制连接数:

    • firewalld本身不直接支持连接数限制,但可以通过其他工具(如fail2ban)来实现。

其他安全措施

  • 使用fail2ban:fail2ban可以监控日志文件并自动封禁恶意IP地址。
  • 定期更新系统:确保操作系统和所有软件都是最新的,以修补已知的安全漏洞。
  • 使用强密码和多因素认证:增强账户安全性。
  • 监控和日志记录:定期检查系统日志和安全日志,以便及时发现异常活动。

通过这些步骤,你可以显著提高Linux系统的安全性,有效阻止恶意攻击。

相关文章

精彩推荐