Ubuntu 防火墙通常指的是 ufw
(Uncomplicated Firewall),它是 Ubuntu 系统上默认的防火墙管理工具。ufw
基于 iptables
,但提供了更简单的图形界面和命令行操作,使得配置防火墙规则变得更加容易。
安装和启用 UFW
在 Ubuntu 系统中,默认情况下可能未安装 UFW。如果需要安装,可以使用以下命令:
sudo apt update sudo apt install ufw
安装完成后,可以使用以下命令启用 UFW:
sudo ufw enable
基本操作
-
启用/禁用防火墙:
sudo ufw enable # 启用防火墙 sudo ufw disable # 禁用防火墙
-
查看防火墙状态:
sudo ufw status # 查看防火墙状态 sudo ufw status verbose # 查看详细规则
-
允许/拒绝端口:
sudo ufw allow 22/tcp # 允许 SSH 连接 sudo ufw allow 80/tcp # 允许 HTTP 连接 sudo ufw deny 22/tcp # 拒绝 SSH 连接
-
允许特定 IP 访问:
sudo ufw allow from 192.168.1.100 to any port 22 # 允许特定 IP 访问 SSH
-
删除规则:
sudo ufw delete allow 22/tcp # 删除特定规则
-
重置防火墙规则:
sudo ufw reset # 重置所有规则并恢复默认策略
高级功能
-
端口转发:
-
启用 IP 转发:
sudo nano /etc/ufw/sysctl.conf # 取消注释: net/ipv4/ip_forward sudo sysctl -p
-
添加转发规则:
sudo nano /etc/ufw/before.rules # 在 *filter 部分后添加: *nat :PREROUTING ACCEPT [0:0] -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 COMMIT
-
允许目标端口:
sudo ufw allow 8080/tcp
-
重启 UFW:
sudo systemctl restart ufw
-
-
限制连接速率:
sudo ufw limit ssh/tcp # 限制 SSH 连接速率 sudo ufw limit from 192.168.1.100 to any port 22 # 限制特定 IP 的 SSH 连接
-
启用日志记录:
sudo ufw logging on # 启用日志记录 sudo tail -f /var/log/ufw.log # 实时查看日志
兼容性问题
Ubuntu 的 UFW 防火墙与 SELinux 是两种不同的安全机制,分别用于防火墙和访问控制。在 Ubuntu 系统上,可以同时使用 UFW 和 SELinux 来增强系统的安全性。但是需要注意的是,防火墙和 SELinux 可能会产生冲突,因为它们都会对网络流量和系统访问进行控制。
配置建议
- 定期审查和更新规则:定期审查防火墙规则,确保没有不必要的流量被允许,以保持系统安全。
- 启用日志记录功能:帮助监控和分析入站流量,对于安全审计和故障排查非常有用。
- 结合其他安全措施:防火墙只是安全措施的一部分,还应结合其他安全策略,如定期更新系统、使用强密码等,共同维护系统安全。
通过合理配置和管理 UFW 规则,可以显著提高 Ubuntu 系统的安全性,防止未经授权访问。