Аудит RDP-подключений в корпоративной сети: от журналов до SIEM
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. RDP остаётся одним из главных векторов атак на корпоративные сети — и одновременно одним из самых плохо контролируемых сервисов. За 15+ лет в инфраструктурном IT я неоднократно разбирал инциденты, где шифровальщик пришёл именно через забытый проброс 3389 порта. Расскажу, как построить нормальный аудит RDP в сети до 50 машин.
Зачем вообще аудит RDP
Три причины: безопасность (ловить brute-force и несанкционированный доступ), комплаенс (ФЗ-152, 187-ФЗ требуют журналирования доступа), расследование инцидентов (кто, когда, с какого IP заходил на сервер). Без аудита при шифровании данных вы даже не узнаете, как вошли.
Ключевые события Windows для RDP
| Event ID | Журнал | Что значит |
|---|---|---|
| 4624 | Security | Успешный логин, Logon Type 10 = RDP |
| 4625 | Security | Неудачный логин |
| 4778 | Security | Переподключение к сессии |
| 4779 | Security | Отключение от сессии |
| 4634 | Security | Завершение сессии (logoff) |
| 1149 | TS/Operational | Аутентификация RDP прошла |
| 21 | TS/LocalSession | Логон в сессию |
| 24 | TS/LocalSession | Disconnect |
Включение детального аудита
# PowerShell на сервере
auditpol /set /subcategory:"Logon" /success:enable /failure:enable
auditpol /set /subcategory:"Logoff" /success:enable /failure:enable
auditpol /set /subcategory:"Account Logon" /success:enable /failure:enable
# Увеличиваем журнал Security
wevtutil sl Security /ms:1073741824
Сбор логов через Windows Event Forwarding
# На коллекторе
wecutil cs rdp-audit.xml
# На источниках — GPO
Computer Configuration → Policies → Administrative Templates →
Windows Components → Event Forwarding → Configure target subscription manager
Server=http://collector.corp.local:5985/wsman/SubscriptionManager/WEC,Refresh=60
Sysmon для глубокой видимости
Стандартный аудит не показывает, какие процессы стартовали в RDP-сессии. Sysmon с конфигом SwiftOnSecurity закрывает эту дыру.
# Установка на всех RDP-серверах
Sysmon64.exe -accepteula -i sysmonconfig.xml
# События в Microsoft-Windows-Sysmon/Operational
# ID 1 — Process Create, ID 3 — Network Connection, ID 11 — FileCreate
PowerShell-анализ логов на лету
# Все успешные RDP-логины за сутки
Get-WinEvent -FilterHashtable @{
LogName='Security'; Id=4624; StartTime=(Get-Date).AddDays(-1)
} | Where-Object { $_.Properties[8].Value -eq 10 } |
Select-Object TimeCreated,
@{N='User';E={$_.Properties[5].Value}},
@{N='IP';E={$_.Properties[18].Value}}
# Попытки brute-force
Get-WinEvent -FilterHashtable @{
LogName='Security'; Id=4625; StartTime=(Get-Date).AddHours(-1)
} | Group-Object { $_.Properties[19].Value } |
Where-Object Count -gt 5 |
Sort-Object Count -Descending
Интеграция с Wazuh/Splunk
Локальные логи — хорошо, но расследовать инцидент на 30 серверах по EventViewer невозможно. Я всегда советую Wazuh — бесплатный, с готовыми правилами под RDP-атаки, работает на Linux-коллекторе.
Мини-кейс: разбор инцидента
Февраль 2026, клиент — логистическая компания. Пожаловались: «что-то странное с сервером 1С, тормозит». В дата-центре МТС у них стоял терминальник на Dell Xeon Platinum 8280 с публичным IP и проброшенным 3389. Через Wazuh за 20 минут нашли: за 4 дня с IP Вьетнама было 340 000 неудачных попыток и 3 успешных. Злоумышленник зашёл под учёткой «admin1c» с простым паролем. Внутри — mimikatz и cobaltstrike. Отключили публичный доступ, поставили RDP Gateway с 2FA, провели forensics, восстановили из бэкапа PBS. Инцидент закрыт за 36 часов. Стоимость расследования и зачистки — 185 000 руб.
Чек-лист безопасного RDP
- Никогда не выставляйте 3389 в интернет напрямую.
- RDP Gateway + 2FA как единственная точка входа извне.
- Network Level Authentication обязательно.
- Ограничьте круг пользователей через «Allow log on through Remote Desktop».
- Включите детальный аудит логинов.
- Сбор логов на центральный коллектор.
- Алерты на >5 4625 с одного IP за минуту.
- Sysmon на всех RDP-серверах.
Проведём аудит RDP и закроем дыры
Проверка всех RDP-сервисов на публичные порты, настройка RDP Gateway, 2FA, централизованного сбора логов и алертов. Работаем с офисами 15-200 рабочих мест.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — частые вопросы
- Какие события ID важны для аудита RDP?
- 4624 (успешный логин), 4625 (провал), 4778/4779 (переподключение/отключение), 1149 (TerminalServices).
- Где хранится лог RDP?
- Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational и LocalSessionManager/Operational. Плюс Security для логина.
- Как поймать brute-force атаку?
- Алерт на пороговое число 4625 с одного IP за минуту. В продакшене — fail2ban или IPBan, интегрированный с файрволом.
- Нужен ли SIEM для малого офиса?
- На 50+ машин — да. Wazuh бесплатный и покрывает 80% задач, Splunk или QRadar — для крупных.
- Как отличить легитимный вход от подозрительного?
- По паттерну: рабочие часы, знакомая подсеть, обычные учётки. Аномалии — вход ночью с внешнего IP под служебной учёткой.