即使处于非活动状
我想知道是否有可能让UFW列出配置的防火墙规则,即使它没有启用。 我此时只有ssh访问服务器,如果没有配置允许ssh的规则,我不想启用UFW。 但是,由于UFW当前未启用,因此当我运行“ufw status”时,我只会收到“非活动”消息。
是否有一个特殊的标志我可以使用甚至一些配置文件,我可以看看,即使禁用防火墙,配置规则是什么?
在通过CLI命令启用防火墙之前,目前无法显示您输入的规则。 但是,您可以直接检查规则文件。 /lib/ufw/user*.rules包含通过’ufw’CLI命令控制的规则。 例如:
$ sudo grep '^### tuple' /lib/ufw/user*.rules
这将显示如下输出(对于添加了’sudo ufw allow OpenSSH)的规则:
/lib/ufw/user.rules:### tuple ### allow tcp 22 0.0.0.0/0 any 0.0.0.0/0 OpenSSH - in
‘tuple’是ufw内部用来跟踪规则的简写,可以解释为以下之一:
### tuple ### ### tuple ###
能够添加另一个状态命令来支持它可能是有用的。 请考虑提交错误。
现在有一个ufw show added
命令将列出为您配置的规则,即使防火墙处于非活动状态也是如此。 它被添加为此错误报告的修复程序
所以现在你可以这样做:
# ufw status Status: inactive # ufw allow ssh Rules updated Rules updated (v6) # ufw show added Added user rules (see 'ufw status' for running firewall): ufw allow 22 # ufw enable Firewall is active and enabled on system startup # ufw status Status: active To Action From -- ------ ---- 22 ALLOW Anywhere 22 (v6) ALLOW Anywhere (v6)
ufw show added
的输出格式使得为每个规则编写delete命令也变得更加容易。
一般规则在/etc/ufw
。 用户定义的规则位于/lib/ufw/user*
。
在Ubuntu 16.04中,用户定义的规则存储在/etc/ufw/user.rules
。 因此,您可以看到以下规则:
sudo cat /etc/ufw/user.rules
从命令行,似乎没有办法。 但是,如果您从Ubuntu框(到Ubuntu框)进行SSH连接,您可能想尝试这个有点复杂的方法:
基本上,在远程盒子上安装gufw,然后连接X转发并运行GUI。
在远程设备上,与-X
连接后作为选项:
sudo apt-get install gufw sudo gufw
这将显示规则集而无需激活它。
请注意,如果远程设备是真正的“无头”服务器,那么安装GUFW可能会导致令人不快的依赖性。 但除非有人知道一个技巧,让UFW首先显示你需要的输出而不是激活它,那么这可能是你唯一的选择。
我确实尝试过sudo ufw show raw
,但是显示了iptables的输出,这是我无法做出头也不是尾巴的。