debian

Debian iptables怎样进行安全加固

小樊
50
2025-08-05 16:58:17
栏目: 智能运维

以下是使用iptables对Debian系统进行安全加固的关键步骤:

  1. 设置默认策略
    将默认策略设为DROP,仅允许明确放行的流量,阻断未授权访问。

    iptables -P INPUT DROP  
    iptables -P FORWARD DROP  
    iptables -P OUTPUT ACCEPT  
    
  2. 允许必要服务

    • 开放SSH(默认22端口)、HTTP(80)、HTTPS(443)等必需端口,限制仅允许可信IP访问SSH。
      iptables -A INPUT -p tcp --dport 22 -s <trusted_ip> -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT  
      iptables -A INPUT -p tcp --dport 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT  
      
    • 允许本地回环接口流量。
      iptables -A INPUT -i lo -j ACCEPT  
      
  3. 限制连接数与速率

    • 使用connlimit模块限制单个IP的并发连接数(如限制80端口每IP最多5个新连接)。
      iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j REJECT  
      
    • 通过limit模块限制连接速率(如每秒最多1个新连接,突发5个)。
      iptables -A INPUT -p tcp --syn --dport 80 -m limit --limit 1/second --limit-burst 5 -j ACCEPT  
      
  4. 防范常见攻击

    • SYN Flood攻击:启用SYN Cookies或限制SYN包速率。
      echo 1 > /proc/sys/net/ipv4/tcp_syncookies  
      iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT  
      
    • 无效数据包过滤:丢弃非法状态的数据包(如未建立连接的INVALID状态包)。
      iptables -A INPUT -m conntrack --ctstate INVALID -j DROP  
      
  5. 日志记录与监控
    记录被拒绝的连接尝试,便于分析异常流量。

    iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " --log-level 4  
    
  6. 规则持久化
    安装iptables-persistent工具,保存规则并设置开机自动加载。

    sudo apt install iptables-persistent  
    sudo netfilter-persistent save  
    
  7. 高级防护(可选)

    • 使用ufw(简化版防火墙工具)管理规则,适合新手。
      sudo ufw enable  
      sudo ufw allow 22/tcp  
      sudo ufw deny 23/tcp  
      
    • 结合fail2ban动态封禁恶意IP,增强防护能力。

注意事项

0
看了该问题的人还看了