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防火墙的安全性和性能,有效抵御常见网络攻击,同时确保系统资源的合理利用。需根据实际业务场景调整规则,避免过度限制或开放。