Ubuntu防火墙(UFW)策略优化指南
默认策略是防火墙的第一道防线,应遵循“拒绝所有未明确允许的流量”原则:
sudo ufw default deny incoming
(阻止所有未授权的外部连接);sudo ufw default deny outgoing
(限制内部主机发起的非必要外部连接,降低数据泄露风险)。仅开放系统运行必需的服务端口,避免“广撒网”式开放:
sudo ufw allow ssh
(或sudo ufw allow 22/tcp
)、sudo ufw allow http
(80/tcp)、sudo ufw allow https
(443/tcp);sudo ufw deny 25/tcp
(SMTP)、sudo ufw deny 21/tcp
(FTP)。sudo ufw status verbose
查看当前开放端口,定期清理无用规则。限制敏感服务的访问源,仅允许可信IP地址连接:
sudo ufw allow from 192.168.1.100 to any port 22
;192.168.1.0/24
)。通过限制单位时间内的连接次数,缓解DDoS攻击和暴力破解(如SSH密码猜测):
sudo ufw limit ssh/tcp
;sudo ufw limit http/tcp
)。日志是排查问题和发现攻击的关键,需合理配置日志级别:
sudo ufw logging on
(默认记录至/var/log/ufw.log
);/etc/ufw/ufw.conf
,将DEFAULT_LOG_LEVEL
设置为low
(常规记录)、medium
(详细记录,占用更多空间)或high
(调试级别,仅用于排查问题)。sudo tail -f /var/log/ufw.log
),识别异常连接(如频繁的失败登录尝试)。过多的规则会增加防火墙的处理负担,需优化规则结构:
sudo ufw delete [规则编号]
);any
关键字:尽量指定具体IP或端口(如sudo ufw allow from 192.168.1.100 to any port 80
比sudo ufw allow from any to any port 80
更高效);sudo ufw allow from {192.168.1.100,192.168.1.101} to any port 80
;结合其他工具提升防火墙的自动化和防御能力:
sudo apt install fail2ban
;复制配置文件sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
;编辑jail.local
启用SSH防护([sshd]
部分设置为enabled = true
)。/etc/docker/daemon.json
添加{"iptables": false}
,重启Docker:sudo systemctl restart docker
。防火墙策略需随业务变化调整,定期进行以下操作:
sudo apt update && sudo apt upgrade
,确保UFW及依赖的iptables版本为最新,修复安全漏洞;nmap
扫描开放端口(如nmap -sV your_server_ip
),验证规则有效性;sudo cp /etc/ufw/ufw.conf ~/ufw_backup.conf
),便于恢复。通过以上优化措施,可显著提升Ubuntu防火墙的安全性和性能,有效抵御常见网络攻击,同时确保系统资源的合理利用。需根据实际业务场景调整规则,避免过度限制或开放。