我如何检查 ufw 规则是否可以安全重启?

我如何检查 ufw 规则是否可以安全重启?

所以我刚刚使用 ufw 添加了防火墙规则。我如何知道是否必须执行其他步骤才能使此规则在重启后自动出现?

(第二个问题,但对我来说不太重要:如果需要,应该采取哪些步骤?)

例如:我是否必须检查已安装/启用/配置的 iptables-save?我是否必须将规则放入 /etc/ufw/?(在哪里?)是否有这样的规则:如果我使用 Ubuntu,那么 ufw 在重启后会始终记住状态?

我不习惯使用 ufw 或 iptables-save。我只是在论坛和 ufw 的手册页上读到过一些传闻。

如果您必须为您的答案假设一个操作系统,那么请假设 Ubuntu 16.04。

答案1

ufw 不区分防火墙的运行状态和永久保存状态,所有规则的更改都会立即生效,并且是持久的。

答案2

在启动后对 Ubuntu 20.04 中的防火墙问题进行故障排除时,我返回了此页面 - 我很幸运能够获得入站 ssh,但无法进行传出连接。重新加载之前一切正常,因此我的设置显然不安全重启。

Iptables 显示规则集不完整,花了一些时间才弄清楚情况。在日志中发现了以下提示:

Feb 16 20:22:39 hostname ufw-init[512]: iptables-restore v1.8.4 (legacy): no command specified
Feb 16 20:22:39 hostname ufw-init[512]: Error occurred at line: 18
Feb 16 20:22:39 hostname ufw-init[512]: Try `iptables-restore -h' or 'iptables-restore --help' for more information.
Feb 16 20:22:39 hostname ufw-init[586]: Problem running '/etc/ufw/before.rules'

实际情况是:过去我向 /etc/ufw/before.rules 添加了一些特殊条目,以使用recent模块限制每个时间段来自源的新连接数量。

规则本身已经用 iptables 进行了测试,但第 18 行包含一个空格,这足以导致 iptables-restore 失败和 ufw 中断 - 从而导致规则集不完整。

这可以看作是 iptables-restore 的一个错误,文件中已经有空行,空格很难发现。另一方面,使用 iptable-save 创建的文件不需要手动编辑。这里它们是由 ufw 创建的,建议在某些情况下更新它们。

问题:我的 ufw 设置显然不是重启安全的,但没有明确的方法用远程系统来验证/确认它。我最终将启动和根分区 rsync 到本地虚拟机。在本地检查结果让我确信重启后所有服务都将正常工作,我将能够连接。

相关内容