ubuntu

ubuntu iptables如何进行安全加固

小樊
41
2025-08-23 10:26:11
栏目: 智能运维

在Ubuntu系统中,使用iptables进行安全加固是一种常见的做法。以下是一些基本步骤和建议,帮助你提高系统的安全性:

1. 清空现有规则

首先,清空现有的iptables规则,以确保从一个干净的状态开始。

sudo iptables -F
sudo iptables -X

2. 设置默认策略

设置默认策略为DROP,这意味着所有未经明确允许的流量都将被丢弃。

sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

3. 允许必要的流量

根据你的需求,允许必要的流量通过。

允许SSH连接

sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo 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 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

允许本地回环接口的流量

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

4. 限制ICMP流量

为了防止某些类型的拒绝服务攻击,可以限制ICMP流量。

sudo iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
sudo iptables -A INPUT -p icmp -j DROP

5. 允许DNS查询

sudo iptables -A INPUT -p udp --dport 53 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p udp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT

sudo iptables -A INPUT -p tcp --dport 53 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT

6. 保存规则

保存iptables规则,以便在系统重启后仍然有效。

sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload

7. 定期审查和更新规则

定期审查和更新iptables规则,以确保它们仍然符合你的安全需求。

注意事项

通过以上步骤,你可以显著提高Ubuntu系统的安全性。

0
看了该问题的人还看了