Ubuntu下TigerVNC安全設置操作指南
首先更新系統軟件包并安裝TigerVNC核心組件,確保服務正常運行:
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common -y
使用vncpasswd命令創建專用VNC密碼(與系統用戶密碼分離),密碼需滿足復雜度要求(至少8位,包含大小寫字母、數字和特殊字符):
vncpasswd
輸入密碼并確認,密碼將加密保存至~/.vnc/passwd文件。避免使用默認密碼(如“123456”“password”)。
通過SSH反向隧道將VNC流量加密,無需修改VNC配置:
username和your_server_ip):ssh -L 5901:localhost:5901 username@your_server_ip
localhost:5901,輸入VNC密碼即可。所有流量將通過SSH加密通道傳輸。編輯~/.vnc/xstartup文件,添加TLS加密參數(需提前生成證書,適用于高安全需求場景):
vncserver :1 -localhost no -rfbauth ~/.vnc/passwd -SecurityTypes TLSVnc,X509Vnc
注意:TLS加密需配置證書頒發機構(CA)和密鑰文件,步驟較復雜,需參考TigerVNC官方文檔。
使用ufw(Ubuntu默認防火墻)僅允許必要端口(VNC默認端口為5901,對應顯示號:1)的入站流量:
sudo ufw allow 5901/tcp
sudo ufw enable # 啟用防火墻
sudo ufw status # 驗證規則(應顯示“5901/tcp ALLOW”)
若需更嚴格的IP限制,可通過iptables僅允許可信IP訪問:
sudo iptables -A INPUT -p tcp --dport 5901 -s 可信IP -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 5901 -j DROP
VNC服務應使用普通用戶啟動,避免root直接遠程登錄。創建普通用戶并加入sudo組:
sudo adduser your_username
sudo usermod -aG sudo your_username
之后用該普通用戶啟動VNC服務器:
vncserver :1
通過/etc/hosts.allow和/etc/hosts.deny文件控制訪問權限:
echo "vncserver: 可信IP" >> /etc/hosts.allow
echo "vncserver: ALL" >> /etc/hosts.deny
說明:hosts.allow中填寫允許訪問的IP地址,hosts.deny拒絕所有其他IP。
編輯/etc/vnc/xstartup文件(或~/.vnc/xstartup),添加以下參數以降低顯卡依賴,減少潛在漏洞:
export XorgConfDir=/etc/X11
export XorgConfFile=xorg.conf
export DesktopName=SecureDesktop
export Geometry=1920x1080
export localhost=no
export alwaysshared=no
export nevershared=yes
export dontdisconnect=yes
export rfbport=5901
export SecurityTypes=TLSVnc
保存后賦予執行權限:
chmod +x ~/.vnc/xstartup
在VNC Viewer或Server配置中,關閉共享剪貼板(防止剪貼板內容泄露)和文件傳輸功能,減少攻擊面。
定期更新TigerVNC及系統組件,修復已知安全漏洞:
sudo apt update && sudo apt upgrade -y
查看VNC日志(位于~/.vnc/your_hostname:1.log),使用fail2ban工具監控暴力破解嘗試:
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
配置fail2ban過濾VNC登錄失敗日志,自動封禁惡意IP。
~/.vnc/config中設置alwaysshared=no,禁止多個用戶同時連接同一會話。~/.vnc目錄下的配置文件(如xstartup、passwd),防止配置丟失。