温馨提示×

Linux防火墙如何防护

小樊
40
2025-11-20 20:19:42
栏目: 智能运维

Linux防火墙主要通过iptables和firewalld两种工具进行配置和管理,以下是具体的防护方法:

iptables防护

  1. 默认策略设置

    • 设置INPUT、FORWARD和OUTPUT链的默认策略为DROP,只允许必要的流量通过。
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT
    
  2. 允许SSH连接

    • 允许来自特定IP地址的SSH连接(例如,允许来自192.168.1.0/24网络的SSH连接)。
    iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 22 -d 192.168.1.0/24 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    
  3. 允许HTTP/HTTPS连接

    • 允许来自任何IP地址的HTTP(80)和HTTPS(443)连接。
    iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    
  4. 限制ICMP请求

    • 限制ICMP请求以防止ping洪水攻击。
    iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
    
  5. 日志记录

    • 记录所有被拒绝的连接尝试。
    iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
    
  6. 保存规则

    • 保存iptables规则以确保重启后规则仍然有效。
    iptables-save > /etc/iptables/rules.v4
    

firewalld防护

  1. 安装firewalld

    • 如果尚未安装,可以使用以下命令安装:
    sudo yum install firewalld
    
  2. 启动并启用firewalld

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

    • 设置默认区域为public,并配置相应的规则。
    sudo firewall-cmd --set-default-zone=public
    
  4. 允许SSH连接

    • 允许来自特定IP地址的SSH连接。
    sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
    sudo firewall-cmd --reload
    
  5. 允许HTTP/HTTPS连接

    • 允许来自任何IP地址的HTTP和HTTPS连接。
    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
    
  6. 限制ICMP请求

    • 限制ICMP请求以防止ping洪水攻击。
    sudo firewall-cmd --permanent --zone=public --add-icmp-block=echo-request
    sudo firewall-cmd --reload
    
  7. 查看防火墙状态

    • 查看firewalld的状态和当前配置。
    sudo firewall-cmd --state
    sudo firewall-cmd --list-all
    

通过以上步骤,可以有效地配置Linux防火墙来保护系统免受未经授权的访问和其他网络威胁。记得定期更新和审查防火墙规则,以确保系统的安全性。

0