概览
- 指南类型
- 运营与安全
- 示例
- 示例,因环境而异
- 集成范围
- 未连接远程机器
01
在开放端口之前列出服务
记录管理端口、Web 监听器、数据库位置以及任何产品特定的 UDP/TCP 要求。仅在相同机器上使用的数据库不应需要公共规则。同时考虑来宾规则和实时运营商的上游防火墙。
02
先允许当前管理路由
保持一个可用的会话和一个经过验证的恢复控制台。在启用限制性防火墙之前,允许实际的 SSH 端口和所需的源范围。下面的示例假设 SSH 当前位于端口 22;请更改它以匹配正在运行的服务。
UFW 默认值和当前 SSH 规则针对你的环境查看
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp03
仅在需要时开放应用程序路径
对于公共 Web 服务器,允许 TCP 80 和 443。这不会启用 Web 服务本身,UDP/游戏/邮件端口需要各自明确选择。避免使用宽端口范围作为诊断单个应用的捷径。
公共网页示例针对你的环境查看
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose04
测试全新连接并检查 IPv6
打开另一个管理连接,并从外部测试应用程序。阅读有效的 UFW 规则和发行版的 IPv6 设置。不应假设仅 IPv4 规则或上游过滤器能保护 IPv6 监听器。
05
编辑已识别的规则,然后再次测试
编号输出有助于定位过时规则。删除后编号会变化,因此在下一次更改前请再次列出它们。在使用 firewalld 或 nftables 的系统上,请遵循该工具的原生配置,而不是混合使用相互竞争的管理器。
更改规则前先检查针对你的环境查看
sudo ufw status numbered
# Remove only a rule you have identified, then list again:
# sudo ufw delete <rule-number>下一步之前
带着可验证的结果离开。
- 在开放端口之前列出服务。
- 编辑已识别的规则,然后再次测试。
- 将恢复信息和机密保存在公共文件之外。