我注意到 GUFW 能够按规则打开和关闭登录,但我看不到ufw -h
可以为规则打开登录的选项
在 Ubuntu 上:
To Action From
-- ------ ----
Anywhere DENY IN Anywhere (log-all)
但是在 Debian 上,我尝试使用以下命令:
sudo ufw allow proto tcp from x.x.x.x to any port 22 log all
而且它不起作用......所以有一些没有记录的秘密语法吗?或者 GUFW 是否将 iptables 规则与 UFW 的核心分开?
log-all
应该连字符和之后allow
。正确的命令是
sudo ufw allow log-all proto tcp from x.x.x.x to any port 22
替换x.x.x.x
为预期的 IP。
语法记录在手册页上。
ufw [--dry-run] [rule] [delete] [insert NUM] [prepend] allow|deny|reject|limit [in|out [on
INTERFACE]] [log|log-all] [proto PROTOCOL] [from ADDRESS [port PORT | app APPNAME ]] [to
ADDRESS [port PORT | app APPNAME ]] [comment COMMENT]
规则语法部分末尾的几段解释了这是如何工作的,并提供了一个更简单的例子:
ufw supports per rule logging. By default, no logging is performed when a packet matches a rule. Specifying log will log
all new connections matching the rule, and log-all will log all packets matching the rule. For example, to allow and log
all new ssh connections, use:
ufw allow log 22/tcp
See LOGGING for more information on logging.
大多数关键字是可选的,但秩序非常刚性:单词log
或log-all
接口(后一定要去on eth0
,on wlo0
等)。如果接口不存在,则必须在行动后去:allow
/ allow in
/ allow out
/ deny
...
将log
关键字放在其他任何地方都会返回错误Option log not allowed here
。
如果您想保留规则但禁用日志记录,只需再次编写不带log-all
关键字的命令:
sudo ufw allow proto tcp from x.x.x.x to any port 22
ufw will recognise this and respond with `Rule updated` instead of `Skipping adding existing rule`.
This also works to add or remove comments to your rules:
sudo ufw 允许将所有 proto tcp 从 xxxx 记录到任何端口 22 注释“传入 SSH”
您还可以检查 LOGGING 部分以记录所有规则(以及允许的数据包)的更多信息:
sudo ufw logging off
sudo ufw logging low
sudo ufw logging medium
sudo ufw logging high
sudo ufw logging full
但是手册页不鼓励将日志记录级别设置为默认值 ( low
)。
ufw 有一个单独的默认策略语法(即规则集中没有特别提及的任何连接)。如果您像这样替换明确的“拒绝从任何地方到任何地方”规则,您的规则集将更容易理解和维护:
sudo ufw default deny incoming
sudo ufw delete deny from any
只要日志记录级别高于低,ufw 就会记录任何被阻止的流量。您可以使用 来检查结果sudo ufw status verbose
。
Ubuntu wiki 有关于安全性的页面,您可以查看他们推荐的 ufw 配置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句