控制防火墙上的NoMachine端口

在此博客文章中,您将学习如何控制 无机器 防火墙上的端口。如果您一直在使用NoMachine,则可能已经意识到其默认的NX服务器端口4000 / tcp正在所有系统接口上侦听,并且即使系统上运行了防火墙,任何人都可以访问它。这带来了任何人都可以远程连接到服务的风险,因此要求仅允许特定的受信任IP访问端口。

让我们学习如何控制这种情况,以仅允许从特定系统IP访问该端口。

控制防火墙上的NoMachine端口

如上所述,即使防火墙正在运行,也可以访问NoMachine服务器端口4000 / tcp。

在我的测试系统中,UFW正在运行,并且防火墙上没有打开任何端口。

ufw status
Status: active

为了确认UFW正在运行并被阻止,我们可以尝试测试来自其他服务器的SSH端口连接;

确认ssh服务正在运行NoMachine服务器的远程桌面系统上运行;

netstat -altnp | grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      571/sshd: /usr/sbin 
tcp6       0      0 :::22                   :::*                    LISTEN      571/sshd: /usr/sbin

现在,从一个外部系统中,让我们尝试连接到SSH端口,以验证UFW是否正在运行并阻止了连接;

nc -vn 192.168.57.26 22

显示端口连接的示例输出已被防火墙阻止。

(UNKNOWN) [192.168.57.26] 22 (ssh) : Connection timed out

现在,尝试测试与NoMachine服务器端口的连接。

nc -vnz 192.168.57.26 4000
(UNKNOWN) [192.168.57.26] 4000 (?) open

尝试远程登录;

telnet 192.168.57.26 4000
Trying 192.168.57.26...
Connected to 192.168.57.26.
Escape character is '^]'.

控制防火墙上的NoMachine端口

那么,如何控制防火墙上的NoMachine端口?

通常,根据NoMachine配置文件, BaseDirectory/etc/server.cfg,NoMachine服务器会为其所有配置的服务自动配置防火墙。

用于控制其已配置服务器的防火墙的NoMachine配置选项为 EnableFirewallConfiguration

此选项可以采用两个值;

  • 1:启用NoMachine可以自动控制其服务的防火墙。这是默认设置。
  • 0:禁止NoMachine自动控制其服务的防火墙,并且必须手动配置防火墙。

因此,现在,为了手动控制防火墙上的NoMachine端口,请打开NoMachine服务器配置文件,并更新 EnableFirewallConfiguration 配置选项。

vim /usr/NX/etc/server.cfg
...
# EnableFirewallConfiguration 1
EnableFirewallConfiguration 0

保存并退出配置文件。

重新启动NoMachine服务器

重新启动NoMachine服务器以使更改生效。

您可以通过运行以下命令从UI重新启动或从命令行重新启动;

/usr/NX/bin/nxserver --restart

验证与NoMachine端口的连接

更新配置后,请尝试连接到端口。这次,不应该进行任何连接。

telnet 192.168.57.26 4000
Trying 192.168.57.26...
telnet: Unable to connect to remote host: Connection timed out
nc -vnz 192.168.57.26 4000
(UNKNOWN) [192.168.57.26] 4000 (?) : Connection timed out

现在,您可以允许特定的IP连接到NoMachine服务器。

例如,在UFW上,您只需使用以下命令即可;

ufw allow from 192.168.57.33 to any port 4000 proto tcp

检查状态

ufw status
Status: active

To                         Action      From
--                         ------      ----
4000/tcp                   ALLOW       192.168.57.33

测试列入白名单的IP的连接;

telnet 192.168.57.26 4000
Trying 192.168.57.26...
Connected to 192.168.57.26.
Escape character is '^]'.

测试来自未列入白名单的另一台主机的端口连接;

telnet 192.168.57.26 4000
Trying 192.168.57.26...
telnet: Unable to connect to remote host: Connection timed out

然后你去。这就是控制防火墙上的NoMachine端口并允许特定IP连接的简单程度。

Sidebar