加固 Debian 上的 VNC 安全性非常重要,因为 VNC 默认配置往往不安全(明文、无加密、弱认证)。下面按推荐程度给你一套完整加固方案,从“必须做”到“进阶加固”。
这是最安全、最简单、最常用的方式。
编辑 VNC 启动配置(以 TigerVNC 为例):
# /etc/tigervnc/vncserver-config-defaults
localhost = true
或者启动参数加:
vncserver :1 -localhost
这样 VNC 只监听 127.0.0.1,外部无法直接连接。
ssh -L 5901:localhost:5901 user@your_server_ip
然后 VNC 客户端连接:
localhost:1
✅ 优点:
vncpasswd
⚠️ 注意:
❌ 错误:
sudo vncserver :1
✅ 正确:
vncserver :1
sudo ufw allow from 你的IP to any port 5901
sudo ufw enable
或完全不开放 VNC 端口(推荐)。
sudo apt install tigervnc-standalone-server tigervnc-common
TigerVNC 支持 TLS:
# ~/.vnc/config
securitytypes=vncauth,tlsvnc
⚠️ 客户端必须支持 TLS(RealVNC / TigerVNC 客户端)
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes
sudo systemctl restart ssh
sudo apt install fail2ban
❌ 直接把 5900/5901 暴露在公网
❌ 用 root 运行 VNC
❌ 使用默认密码
❌ 使用老旧 VNC(如 x11vnc 无加密)
| 方案 | 安全性 |
|---|---|
| VNC + SSH 隧道 | ⭐⭐⭐⭐⭐ |
| VNC + TLS | ⭐⭐⭐⭐ |
| 裸 VNC 公网 | ❌ 极不安全 |
| x11vnc 无加密 | ❌ |
✅ Debian + TigerVNC
✅ -localhost
✅ SSH 密钥认证
✅ SSH 隧道连接
✅ 防火墙限制
如果你愿意,我可以:
只要告诉我你的 Debian 版本和 VNC 软件即可。