我正在使用iptables扫描一个应该有一个非常简单的防火墙的服务器:默认情况下,除了数据包之外RELATED
,所有东西都被删除ESTABLISHED
。唯一NEW
允许的数据包类型是端口 22 和 80 上的 TCP 数据包,仅此而已(该服务器上没有 HTTPS)。
如我所料,nmap在前 2048 个端口上的结果显示22 和 80 是开放的。然而,一些端口显示为“已过滤”。
我的问题是:为什么端口 21、25 和 1863 显示为“已过滤”而 2043 其他端口未显示为已过滤?
我预计只会看到 22 和 80 为“开放”。
如果将 21,25 和 1863 视为“已过滤”是正常的,那么为什么所有其他端口也不是“已过滤”!?
这是nmap输出:
# nmap -PN 94.xx.yy.zz -p1-2048
Starting Nmap 6.00 ( http://nmap.org ) at 2014-06-12 ...
Nmap scan report for ksXXXXXX.kimsufi.com (94.xx.yy.zz)
Host is up (0.0023s latency).
Not shown: 2043 closed ports
PORT STATE SERVICE
21/tcp filtered ftp …
Run Code Online (Sandbox Code Playgroud) 适用于 Linux 的 NordVPN 应用程序具有端口和子网白名单功能。使用以下命令启用它(对于我的端口和子网):
nordvpn whitelist add subnet 192.168.1.0/24
nordvpn whitelist add port 22
Run Code Online (Sandbox Code Playgroud)
但是,当该设备连接到 VPN 时,我无法从子网中的另一台设备通过 SSH 访问它。我写了 NordVPN 支持,他们回答说:
目前,我们在 Linux 的 NordVPN 应用程序中遇到了一些关于端口和子网白名单的问题。
他们没有提供任何有用的建议。我看了一下iptables规则。他们对我来说似乎没问题,但是当我刷新所有规则(连接到 VPN 时)时,我就能够从我的其他本地设备建立到这个设备的 SSH 连接。这表明规则工作不正常。
NordVPN 的规则是:
# Generated by iptables-save v1.8.4 on Sun Apr 12 16:11:29 2020
*filter
:INPUT DROP [86:19526]
:FORWARD ACCEPT [0:0]
:OUTPUT DROP [103:7935]
-A INPUT -i nordlynx -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 89.87.71.71/32 -i lo -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s …
Run Code Online (Sandbox Code Playgroud)