Linux防火墙安全策略制定
一 策略设计总览
二 工具选择与适用场景
三 落地步骤与最小可用模板
通用流程
最小可用模板(可直接按需裁剪)
sudo systemctl start firewalld
sudo firewall-cmd --set-default-zone=public
# 基础:回环、已建立/相关
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="127.0.0.1" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" state ESTABLISHED,RELATED accept'
# 业务放行
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
# SSH 白名单(示例网段)
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="203.0.113.0/24" port port="22" protocol="tcp" accept'
# 可选:拒绝某 IP(注意顺序与默认策略)
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="198.51.100.99" reject'
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
sudo apt update && sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow from 203.0.113.0/24 to any port 22
sudo ufw enable
sudo ufw status verbose
# 允许回环与已建立/相关
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 业务放行
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# SSH 白名单
sudo iptables -A INPUT -p tcp -s 203.0.113.0/24 --dport 22 -j ACCEPT
# 可选:速率限制 SSH 暴力尝试
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
# 默认拒绝(谨慎:确保已放行 SSH,避免锁死)
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
# 如本机需主动外联,可保留 OUTPUT ACCEPT 或按需细化
提示:使用 iptables 时务必先放行回环与已建立连接,再设置默认拒绝,避免远程会话中断。四 常见场景与加固要点
五 运维与风险控制