如何测试我的防火墙规则?

如何测试我的防火墙规则?

我在远程服务器上设置了一些规则ufw,并打开了防火墙。现在我想确保我的规则确实阻止了流量。但是,nmap -PN -p <my_port> <ip>从本地工作站运行时,我阻止的端口似乎仍处于打开状态。至少nmap报告“打开”(这似乎不对)。如果我在服务器上运行ufw status verbose它,它会报告:

...
Status: Active
Default: deny (incoming), allow (outgoing)
To          Action   From
--          ------   ----
22          ALLOW IN Anywhere
<my_port>   DENY IN  Anywhere

这不应该nmap报告为已关闭吗?我该如何正确测试这些规则?

答案1

我测试规则是否有效的方法:telnet host port

如果超时(或响应但防火墙应该拒绝),则不会建立连接,这意味着防火墙正在按预期阻止流量。如果规则不起作用,您将看到某种响应。可能不是在 100% 的情况下都有效,但对于人们在家中通常做的事情来说,这已经足够了。

答案2

从你的输出来看:它表示默认情况下ufw拒绝所有传入流量,而你刚刚打开了端口 22 以允许传入,因此对于你的测试,你应该能够通过端口 22 进行 ssh 连接,因为端口是开放的,而且每当您尝试访问任何其他端口时,它们都会被关闭/拒绝。

相关内容