设置iptables的默认策略是一个重要的安全步骤,可以确保在未明确允许的情况下,所有未经授权的流量都会被拒绝。以下是设置iptables默认策略的步骤:
首先,清除现有的iptables规则,以确保没有冲突或遗留规则影响新的默认策略。
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
根据你的需求设置默认策略:
# 设置INPUT链的默认策略为DROP
sudo iptables -P INPUT DROP
# 设置FORWARD链的默认策略为DROP
sudo iptables -P FORWARD DROP
# 设置OUTPUT链的默认策略为ACCEPT
sudo iptables -P OUTPUT ACCEPT
根据你的网络需求,允许必要的流量通过。例如,允许SSH连接、DNS查询等。
# 允许SSH连接(默认端口22)
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
# 允许DNS查询(默认端口53)
sudo iptables -A INPUT -p udp --dport 53 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 53 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
# 允许已建立的连接和相关的数据包
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 允许本地回环接口的流量
sudo iptables -A INPUT -i lo -j ACCEPT
为了确保重启后规则仍然有效,需要保存iptables规则。不同的Linux发行版可能有不同的方法来保存规则。
sudo iptables-save > /etc/iptables/rules.v4
sudo service iptables save
或者
sudo yum install iptables-services
sudo systemctl enable iptables
sudo systemctl start iptables
最后,验证iptables规则是否正确设置。
sudo iptables -L -v -n
通过以上步骤,你可以设置iptables的默认策略,并确保只有必要的流量被允许通过,从而提高系统的安全性。