Knowledge Base

RDP открыт публично (порт 3389) — Remote Desktop Protocol

RDP открыт публично — порт 3389

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

RDP открыт публично — порт 3389

Угрозы

Remote Desktop Protocol (Windows) на публичном IP — одна из главных причин взломов Windows-серверов:

Открытый порт 3389 находится злоумышленниками **в течение минут** после публикации в интернет (массовое сканирование ведут Shodan, Censys, и ботнеты).

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

Закрыть RDP для публичного интернета

# Windows Firewall — заблокировать входящий RDP извне
netsh advfirewall firewall add rule `
    name="Block Public RDP" `
    dir=in `
    action=block `
    protocol=TCP `
    localport=3389

# Разрешить только с конкретного IP (офис/VPN)
netsh advfirewall firewall add rule `
    name="Allow RDP from Office" `
    dir=in `
    action=allow `
    protocol=TCP `
    localport=3389 `
    remoteip=<ВАШ_IP>

Переместить RDP за VPN

1. Установить WireGuard или Tailscale
2. Разрешить RDP ТОЛЬКО из VPN-подсети
3. Полностью закрыть порт 3389 для интернета

Изменить порт (минимальная защита)

# Изменить порт RDP (regedit)
# HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
# PortNumber → нестандартный порт (например, 49152–65535)
# Это не защита, а только снижение шума в логах

Обязательные меры при вынужденном публичном RDP

Если временно нельзя закрыть порт:

# 1. Network Level Authentication (NLA) — обязательно
# System Properties → Remote → "Allow connections only from computers running
# Remote Desktop with Network Level Authentication"

# 2. Аккаунт lockout
net accounts /lockoutthreshold:5 /lockoutduration:30 /lockoutwindow:30

# 3. Отключить неиспользуемые аккаунты администраторов
net user Administrator /active:no

# 4. Включить Windows Defender Firewall logging
# 5. Установить все критичные обновления (BlueKeep patch: KB4499175)

Мониторинг атак

# Просмотр неудачных попыток входа
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} |
    Select-Object TimeCreated, @{N='IP';E={$_.Properties[19].Value}} |
    Group-Object IP | Sort-Object Count -Descending | Select -First 20

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