ubuntu

ubuntu iptables如何提升系统安全性

小樊
33
2025-05-29 19:20:35
栏目: 智能运维

在Ubuntu系统中,使用iptables可以有效地提升系统的安全性。以下是一些常用的iptables规则和策略,可以帮助你增强系统的安全防护:

  1. 默认拒绝所有流量

    • 清除现有规则:
      sudo iptables -F
      sudo iptables -X
      
    • 设置默认策略为DROP:
      sudo iptables -P INPUT DROP
      sudo iptables -P FORWARD DROP
      sudo iptables -P OUTPUT ACCEPT
      
  2. 允许SSH连接

    • 允许来自特定IP的SSH连接(替换<your_ip>为你的IP地址):
      sudo iptables -A INPUT -p tcp --dport 22 -s <your_ip> -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
      sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
      
  3. 允许HTTP和HTTPS流量

    • 如果你需要运行Web服务器:
      sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
      sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
      
      sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
      sudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
      
  4. 限制SSH登录尝试

    • 使用iptables限制SSH登录尝试次数:
      sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
      sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
      
  5. 允许本地回环接口流量

    • 确保本地回环接口的通信:
      sudo iptables -A INPUT -i lo -j ACCEPT
      sudo iptables -A OUTPUT -o lo -j ACCEPT
      
  6. 允许已建立的连接和相关流量

    • 允许已建立的连接和相关流量:
      sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
      sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
      
  7. 日志记录

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

    • 保存iptables规则以确保重启后仍然有效(使用iptables-persistent工具):
      sudo apt-get install iptables-persistent
      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      

请根据你的具体需求调整这些规则,并在生产环境中应用之前在测试环境中进行充分测试。

0
看了该问题的人还看了