控制防火牆上的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