检查现有的 ufw 防火墙规则而不启用它

检查现有的 ufw 防火墙规则而不启用它

我正在使用 Vagrant 运行 Ubuntu 12.04 LTS 盒子。

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?

显然,我不想中断我的 SSH 连接,因为这是我访问该框的方式。显然,检查现有规则的命令是,sudo ufw status verbose但这返回inactive

如果不启用规则,就没有办法检查规则吗?这很快就会变得不方便。

答案1

目前没有办法显示您在通过 CLI 命令启用防火墙之前输入的规则。但是,您可以直接检查规则文件。/lib/ufw/user*.rules 包含通过“ufw”CLI 命令控制的规则。例如

sudo grep '^### tuple' /lib/ufw/user*.rules

这将显示如下输出

sudo grep '^### tuple' /lib/ufw/user*.rules
/lib/ufw/user6.rules:### tuple ### allow any 22 ::/0 any ::/0 in
/lib/ufw/user.rules:### tuple ### allow any 22 0.0.0.0/0 any 0.0.0.0/0 in

“元组”是 ufw 内部用来跟踪规则的简写形式

或者更详细地

  sudo cat /lib/ufw/user.rules

*filter
:ufw-user-input - [0:0]
:ufw-user-output - [0:0]
:ufw-user-forward - [0:0]
:ufw-before-logging-input - [0:0]
:ufw-before-logging-output - [0:0]
:ufw-before-logging-forward - [0:0]
:ufw-user-logging-input - [0:0]
:ufw-user-logging-output - [0:0]
:ufw-user-logging-forward - [0:0]
:ufw-after-logging-input - [0:0]
:ufw-after-logging-output - [0:0]
:ufw-after-logging-forward - [0:0]
:ufw-logging-deny - [0:0]
:ufw-logging-allow - [0:0]
:ufw-user-limit - [0:0]
:ufw-user-limit-accept - [0:0]
### RULES ###

### tuple ### allow any 22 0.0.0.0/0 any 0.0.0.0/0 in
-A ufw-user-input -p tcp --dport 22 -j ACCEPT
-A ufw-user-input -p udp --dport 22 -j ACCEPT

### END RULES ###

### LOGGING ###
-A ufw-after-logging-input -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-A ufw-after-logging-forward -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-I ufw-logging-deny -m conntrack --ctstate INVALID -j RETURN -m limit --limit 3/min --limit-burst 10
-A ufw-logging-deny -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-A ufw-logging-allow -j LOG --log-prefix "[UFW ALLOW] " -m limit --limit 3/min --limit-burst 10
### END LOGGING ###

### RATE LIMITING ###
-A ufw-user-limit -m limit --limit 3/minute -j LOG --log-prefix "[UFW LIMIT BLOCK] "
-A ufw-user-limit -j REJECT
-A ufw-user-limit-accept -j ACCEPT
### END RATE LIMITING ###
COMMIT

就像我说的“元组”是通过 cli 设置的规则,其余的是默认规则,链...

答案2

2707974的 grep 对我有用,但在我的系统上文件在 中/etc/ufw/,而不是/lib/ufw/

万一它对将来的任何人有帮助,我会用

sudo find / -type f -iname 'user*rules' -ipath '*ufw*'

相关内容