我在远程服务器上设置了一些规则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 连接,因为端口是开放的,而且每当您尝试访问任何其他端口时,它们都会被关闭/拒绝。