Knowledge Base

VNC открыт публично (порты 5900–5909)

VNC открыт публично — порты 5900–5909

Категория: Server Hardening · Риск: critical

VNC открыт публично — порты 5900–5909

Угрозы

VNC (Virtual Network Computing) предоставляет графический удалённый рабочий стол. Публичный VNC означает:

Shodan и массовые сканеры находят открытые VNC-серверы в течение минут.

Проверка

# Проверить открытые порты VNC
nc -zv <IP> 5900
nc -zv <IP> 5901
nc -zv <IP> 5902

Немедленное исправление

Закрыть публичный доступ

# ufw
ufw deny 5900:5909/tcp

Привязать только к localhost

# x11vnc
x11vnc -localhost -rfbport 5900 ...

# tigervnc
# /etc/tigervnc/vncserver.users
# В системном конфиге: :1=username
# Запуск: vncserver -localhost yes :1

Безопасный удалённый доступ через SSH туннель

# Локальная машина: создать туннель
ssh -L 5901:localhost:5901 user@remote-server

# Подключиться через VNC-клиент к localhost:5901
# Соединение идёт через зашифрованный SSH-туннель

Или использовать NX / NoMachine / Guacamole

Более современные решения с TLS и многофакторной аутентификацией.

Если VNC вынужденно публичен

# Обязательные меры:
# 1. Установить надёжный пароль (≥16 символов)
# 2. Включить X.509 TLS в VNC (vncserver -X509Cert / -X509Key)
# 3. Использовать fail2ban для VNC:

# /etc/fail2ban/jail.d/vnc.conf
[vnc]
enabled = true
port = 5900:5909
filter = vnc
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600

Связанные проверки