Просмотр и анализ логов rdp подключений в windows

В этой статье мы рассмотрим, как получить и проанализировать логи RDP подключений в Windows. Логи RDP подключений позволяют администраторам терминальных RDS серверов/ферм получить информацию о том, какие пользователи подключались к серверу, когда был выполнен вход и когда сеанс завершен, с какого устройства (имя или IP адрес) подключался пользователь.

Описанные методики получения и исследования RDP логов применима как к Windows Server 2022/2019/2016/2012R2, так и для десктопных версий Windows 11, 10, 8.1 c.

Содержание:

  • События RDP подключений в журналах Windows (Event Viewer)
  • Получаем логи RDP подключений в Windows с помощью PowerShell
  • Логи RDP подключений на клиентах Windows

События RDP подключений в журналах Windows (Event Viewer)

Когда пользователь удаленно подключается к RDS серверу или удаленному столу Windows (RDP), информация об этих событиях сохраняется в журналы Windows. Рассмотрим основные этапы RDP подключения и связанные с ними события в Event Viewer.

  1. Network Connection
  2. Authentication
  3. Logon
  4. Session Disconnect/Reconnect
  5. Logoff

Network Connection: – событие установления сетевого подключение к серверу от RDP клиента пользователя. Событие с EventID – 1149 (Remote Desktop Services: User authentication succeeded). Наличие этого события не свидетельствует об успешной аутентификации пользователя. Этот журнал находится в разделе Applications and Services Logs -> Microsoft -> Windows -> Terminal-Services-RemoteConnectionManager -> Operational. Включите фильтр по данному событию (ПКМ по журналу-> Filter Current Log -> EventId 1149).

1149 Terminal-Services-RemoteConnectionManager

С помощью PowerShell можно вывести список всех попыток RDP подключений:

$RDPAuths = Get-WinEvent -LogName 'Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational' -FilterXPath '<QueryList><Query Id="0"><Select>*[System[EventID=1149]]</Select></Query></QueryList>'
[xml[]]$xml=$RDPAuths|Foreach{$_.ToXml()}
$EventData = Foreach ($event in $xml.Event)
{ New-Object PSObject -Property @{
TimeCreated = (Get-Date ($event.System.TimeCreated.SystemTime) -Format 'yyyy-MM-dd hh:mm:ss K')
User = $event.UserData.EventXML.Param1
Domain = $event.UserData.EventXML.Param2
Client = $event.UserData.EventXML.Param3
}
} $EventData | FT

вывести журнал подключений к RDP/RDS серверу с помощью powershell

В результате у вас получится список с историей всех сетевых RDP подключений к данному серверу. В событии содержится имя пользователя, домен (если используется NLA аутентификация, при отключенном NLA текст события выглядит иначе) и IP адрес компьютера пользователя.

Remote Desktop Services: User authentication succeeded

Authentication: – успешная или неудачная аутентификация пользователя на сервере. Журнал Windows -> Security. Здесь нас могут интересовать события с EventID – 4624 (успешная аутентификация — An account was successfully logged on) или 4625 (ошибка аутентификации — An account failed to log on). Обратите внимание на значение LogonType в событии.

  • LogonType = 10 или 3 — при входе через терминальную службу RDP —.
  • LogonType = 7, значит выполнено переподключение к уже существующему RDP сеансу.
  • LogonType = 5 – событие RDP подключения к консоли сервера (в режиме mstsc.exe /admin)

Вы можете использовать события с ошибками аутентификации для защиты от удаленного перебора паролей через RDP. СВы можете автоматически блокировать на файерволе IP адреса, с которых выполняется подбор пароля, простым PowerShell скриптом (см. статью).

rdp событие аутентфикации An account was successfully logged on

При этом имя пользователя содержится в описании события в поле Account Name, имя компьютера в Workstation Name, а имя пользователя в Source Network Address.

Обратите внимание на значение поля LogonID – это уникальный идентификатор сессии пользователя, с помощью которого можно отслеживать дальнейшую активность данного пользователя. Но при отключении от RDP сессии (disconnect) и повторного переподключения к той же сессии, пользователю будет выдан новый TargetLogonID (хотя RDP сессия осталась той же самой).

Вы можете получить список событий успешных авторизаций по RDP (событие 4624) с помощью такой команды PowerShell.

Get-EventLog security -after (Get-date -hour 0 -minute 0 -second 0) | ?{$_.eventid -eq 4624 -and $_.Message -match 'logon type:\s+(10)\s'} | Out-GridView

получиь журнал RDP входов с помощью PowerShell

Logon: – RDP вход в систему, EventID – 21 (Remote Desktop Services: Session logon succeeded. Это событие появляется после успешной аутентификации пользователя. Этот журнал находится в разделе Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Operational. Как вы видите, здесь можно узнать идентификатор RDP сессии для пользователя — Session ID.

Remote Desktop Services: Session logon succeeded

Событие с EventID – 21 (Remote Desktop Services: Shell start notification received) означает успешный запуск оболочки Explorer (появление окна рабочего стола в RDP сессии).

Session Disconnect/Reconnect – события отключения и переподключения к сессии имеют разные коды в зависимости от того, что вызвало отключение пользователя (отключение по неактивности, заданному в таймаутах для RDP сессий; выбор пункта Disconnect в сессии; завершение RDP сессии другим пользователем или администратором и т.д.). Эти события находятся в разделе журналов Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Operational. Рассмотрим RDP события, которые могут быть полезными:

  • EventID – 24 (Remote Desktop Services: Session has been disconnected) – пользователь отключился от RDP сессии.
  • EventID – 25 (Remote Desktop Services: Session reconnection succeeded) – пользователь переподключился к своей имеющейся RDP сессии на сервере.
  • EventID – 39 (Session <A> has been disconnected by session <B>) – пользователь сам отключился от своей RDP сессии, выбрав соответствующий пункт меню (а не просто закрыл окно RDP клиента). Если идентификаторы сессий разные, значит пользователя отключил другой пользователь (или администратор).
  • EventID – 40 (Session <A> has been disconnected, reason code <B>). Здесь нужно смотреть на код причины отключения в событии. Например:
    • reason code 0 (No additional information is available) – обычно говорит о том, что пользователь просто закрыл окно RDP клиента.
    • reason code 5 (The client’s connection was replaced by another connection) – пользователь переподключился к своей старой сессии.
    • reason code 11 (User activity has initiated the disconnect) – пользователь сам нажал на кнопку Disconnect в меню.

Событие с EventID – 4778 в журнале Windows -> Security (A session was reconnected to a Window Station). Пользователь переподключился к RDP сессии (пользователю выдается новый LogonID).

Событие с EventID 4779 в журнале Windows -> Security (A session was disconnected from a Window Station). Отключение от RDP сеанса.

Logoff: – выход пользователя из системы. При этом в журнале Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Operational регистрируется событие с EventID 23 (Remote Desktop Services: Session logoff succeeded).

Remote Desktop Services: Session logoff succeeded

При этом в журнале Security нужно смотреть событие EventID 4634 (An account was logged off).

Событие Event 9009 (The Desktop Window Manager has exited with code (<X>) в журнале System говорит о том, что пользователь инициировал завершение RDP сессии, и окно и графический shell пользователя был завершен.

EventID 4647 — User-initiated logoff

Получаем логи RDP подключений в Windows с помощью PowerShell

Ниже представлен небольшой PowerShell скрипт, который выгружает из журналов терминального RDS сервера историю всех RDP подключений за текущий день. В полученной таблице указано время подключения, IP адрес клиента и имя пользователя (при необходимости вы можете включить в отчет другие типы входов).

Get-EventLog -LogName Security -after (Get-date -hour 0 -minute 0 -second 0)| ?{(4624,4778) -contains $_.EventID -and $_.Message -match 'logon type:\s+(10)\s'}| %{
(new-object -Type PSObject -Property @{
TimeGenerated = $_.TimeGenerated
ClientIP = $_.Message -replace '(?smi).*Source Network Address:\s+([^\s]+)\s+.*','$1'
UserName = $_.Message -replace '(?smi).*\s\sAccount Name:\s+([^\s]+)\s+.*','$1'
UserDomain = $_.Message -replace '(?smi).*\s\sAccount Domain:\s+([^\s]+)\s+.*','$1'
LogonType = $_.Message -replace '(?smi).*Logon Type:\s+([^\s]+)\s+.*','$1'
})
} | sort TimeGenerated -Descending | Select TimeGenerated, ClientIP `
, @{N='Username';E={'{0}\{1}' -f $_.UserDomain,$_.UserName}} `
, @{N='LogType';E={
switch ($_.LogonType) {
2 {'Interactive - local logon'}
3 {'Network conection to shared folder)'}
4 {'Batch'}
5 {'Service'}
7 {'Unlock (after screensaver)'}
8 {'NetworkCleartext'}
9 {'NewCredentials (local impersonation process under existing connection)'}
10 {'RDP'}
11 {'CachedInteractive'}
default {"LogType Not Recognised: $($_.LogonType)"}
}
}}

логи RDP подключений к RDS серверу с IP адресами и учетными записями

Можно экспортировать логи RDP подключений из журнала в CSV файл (для дальнейшего анализа в таблице Excel). Экспорт журнала можно выполнить из консоли Event Viewer (при условии что логи не очищены) или через командную строку:

WEVTUtil query-events Security > c:\ps\security_log.txt

Или с помощью PowerShell:

get-winevent -logname "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational" | Export-Csv c:\ps\rdp-log.csv  -Encoding UTF8

Если ваши пользователи подключаются к RDS серверам через шлюз удаленных рабочих столов Remote Desktop Gateway, вы можете обрабатывать логи подключений пользователей по журналу Microsoft-Windows-TerminalServices-Gateway по EventID 302. Например, следующий PowerShell скрипт выведет полную историю подключений через RD Gateway указанного пользователя:

$rdpusername="kbuldogov"
$properties = @(
@{n='User';e={$_.Properties[0].Value}},
@{n='Source IP Adress';e={$_.Properties[1].Value}},
@{n='TimeStamp';e={$_.TimeCreated}}
@{n='Target RDP host';e={$_.Properties[3].Value}}
)
(Get-WinEvent -FilterHashTable @{LogName='Microsoft-Windows-TerminalServices-Gateway/Operational';ID='302'} | Select-Object $properties) -match $rdpusername

powershell поиск в логах удаленных RDP подключений на remote desktop gateway в windows server 2019

Другие события, связанные с подключениями пользователей на RD Gateway в журнале Microsoft-Windows-TerminalServices-Gateway:

  • 300
    The user %1, on client computer %2, met resource authorization policy requirements and was therefore authorized to connect to resource %4
  • 302
    The user %1, on client computer %2, connected to resource %4
  • 303
    The user %1, on client computer %2, disconnected from the following network resource: %4. Before the user disconnected, the client transferred %6 bytes and received %5 bytes. The client session duration was %7 seconds.

Список текущих RDP сессий на сервере можно вывести командой:

qwinsta

Команда возвращает как идентификатор сессии (ID), имя пользователя (USERNAME)и состояние (Active/Disconnect). Эту команду удобна использовать, когда нужно определить ID RDP сессии пользователя при теневом подключении.

Qwinsta

Список запущенных процессов в конкретной RDP сессии (указывается ID сессии):

qprocess /id:157

qprocess

Логи RDP подключений на клиентах Windows

Также вы можете изучать логи исходящих подключений на стороне RDP клиента. Они доступны в журнале событий Application and Services Logs -> Microsoft -> Windows -> TerminalServices-ClientActiveXCore -> Microsoft-Windows-TerminalServices-RDPClient -> Operation.

Например, событие с Event ID 1102 появляется, когда компьютер устанавливает подключение с удаленным RDS хостом Windows Server или компьютером с Windows 10/11 с включенной службой RDP (десктопные версии Windows также поддерживают несколько одновременных rdp подключений).

The client has initiated a multi-transport connection to the server 192.168.31.102.

событие с ID 1102 в журнале Microsoft-Windows-TerminalServices-RDPClient событие подключения к RDP серверу на клиенте

Следующий RDP скрипт выведет историю RDP подключений на указанном компьютере (для получения событий Event Log используется командлет Get-WinEvent):

$properties = @(
@{n='TimeStamp';e={$_.TimeCreated}}
@{n='LocalUser';e={$_.UserID}}
@{n='Target RDP host';e={$_.Properties[1].Value}}
)
Get-WinEvent -FilterHashTable @{LogName='Microsoft-Windows-TerminalServices-RDPClient/Operational';ID='1102'} | Select-Object $properties

powershell вывести история RDP подключений на клиентском компьютере

Скрипт возвращает SID пользователей, которые инициировали RDP подключения на этом компьютере и DNS имена/IP адреса серверов, к которым подключались пользователи. Вы можете преобразовать SID в имена пользователей.

Также история RDP подключений пользователя хранится в реестре.

1.

Start → Administrative tools → Event Viewer

Пуск → Администрирование → Просмотр событий

2.

Applications and Services Logs → Microsoft → Windows

Журналы приложений и служб → Microsoft → Windows

3.

TerminalServices-LocalSessionManager → Operational

Actions → Filter Current Log

Справа Действия → Фильтр текущего журнала

4.

Указываем код события 21 и 25

5.

Пример

EOM

Сайт rtfm.wiki использует cookies и трекинг посещений. Продолжая использовать этот сайт, вы соглашаетесь с сохранением файлов cookie на вашем компьютере. Если вы не согласны покиньте сайт или включите Adblock 😎 Что такое cookies? 🍪

Система удаленного рабочего стола (RDP) является одной из самых распространенных технологий для удаленного доступа к компьютеру или серверу. Она позволяет пользователям работать на удаленном компьютере, как если бы они находились рядом с ним. В операционной системе Windows 7 существуют различные способы использования RDP, и в этой статье мы рассмотрим особенности записи логов RDP подключений.

Запись логов RDP подключений в Windows 7 может быть полезна в различных ситуациях. Например, если вы администратор сети, вы можете использовать логи для контроля доступа к компьютерам и отслеживания активности пользователей. Они также могут быть полезны для решения проблем с подключением или служить важным инструментом безопасности, позволяющим выявить несанкционированный доступ к компьютеру.

Windows 7 предоставляет возможность записывать логи RDP подключений с помощью встроенной функции Remote Desktop Session Host (RDSH). Для активации записи логов необходимо внести некоторые изменения в реестр системы. После этого система начнет регистрировать информацию о каждом подключении: IP-адреса, пользователей, дату и время подключения и другие сведения. Эти сведения можно использовать для отчетности, анализа активности или проблемного поиска.

Примечание: запись логов RDP подключений может привести к значительному увеличению объема данных, записываемых на диск. Поэтому рекомендуется регулярно очищать логи или указывать лимит на хранение записей.

Содержание

  1. Что такое RDP
  2. Логи RDP подключений
  3. Как найти логи RDP подключений
  4. Анализ логов RDP подключений
  5. Как использовать логи для анализа безопасности
  6. Проблемы и решения
  7. Частые проблемы с логами RDP подключений
  8. Защита логов RDP подключений

Что такое RDP

RDP обеспечивает возможность передачи изображения экрана, звука и ввода пользователя через сетевое соединение. Это надежный и безопасный способ удаленного управления компьютером, который может быть использован как в локальной сети, так и через Интернет.

RDP работает по модели клиент-сервер, где компьютер, на котором находится удаленный рабочий стол, называется сервером, а компьютер, на котором происходит подключение, является клиентом. Клиентское приложение RDP обычно включено в операционные системы Windows и доступно из меню «Пуск».

RDP предоставляет удобные возможности для работы с удаленным компьютером, такие как перетаскивание файлов между компьютерами, управление клавиатурой и мышью, а также доступ к удаленным ресурсам. Это позволяет пользователям получить доступ к своим файлам и приложениям из любого места и в любое время, что особенно полезно при удаленной работе или технической поддержке.

Логи RDP подключений

Логи RDP подключений представляют собой важный инструмент для анализа и отслеживания активности пользователей на удаленных серверах с помощью протокола RDP (Remote Desktop Protocol). Эти логи содержат информацию о каждом подключении и разрыве соединения, а также о действиях, совершенных во время сессии.

Windows 7 имеет встроенную функцию регистрации событий, которая записывает сведения о RDP подключениях в лог-файле событий Windows. Чтобы просмотреть эти логи, нужно выполнить несколько простых шагов:

  1. Откройте «Панель управления» и перейдите в раздел «Администрирование».
  2. Выберите «Просмотр событий».
  3. В левой панели выберите «Журналы Windows» и затем «Безопасность».
  4. В правой панели появится список событий. Чтобы отфильтровать только события RDP, введите ключевое слово «RDP» в поле «Фильтрация текущего вида».
  5. Найдите события, связанные с RDP подключениями, и кликните по ним, чтобы просмотреть подробности.

В логах RDP подключений можно найти следующую информацию:

  • IP-адрес и имя компьютера, с которого было выполнено подключение.
  • Имя пользователя, под которым было выполнено подключение.
  • Дата и время подключения и отключения.
  • Состояние подключения (успешное или неуспешное).
  • Причина отключения (если таковая имеется).
  • Количество переданных и полученных байт.
  • Источник, откуда было произведено подключение (например, локальная сеть или интернет).

Знание логов RDP подключений может быть полезным для ряда ситуаций, включая:

  • Анализ безопасности системы.
  • Отслеживание активности пользователей.
  • Раскрытие несанкционированного доступа.
  • Диагностика проблем с подключением или сетью.

Использование логов RDP подключений является одним из способов повышения безопасности и эффективности управления удаленными серверами с помощью протокола RDP. Регулярная проверка и анализ этих логов может помочь обнаружить подозрительную активность и предотвратить возможные угрозы.

Как найти логи RDP подключений

Для нахождения логов RDP подключений в операционной системе Windows 7 Вы можете воспользоваться следующими шагами:

  1. Откройте «Панель управления».
  2. Выберите «Категория» в режиме отображения.
  3. Перейдите в раздел «Система и безопасность» и выберите «Журналы событий».
  4. В открывшемся окне выберите «Журналы Windows», а затем «Безопасность».
  5. В фильтрах выберите вкладку «Другие журналы» и найдите «Microsoft-Windows-TerminalServices-LocalSessionManager/Operational».
  6. Здесь будут отображены все события RDP подключений, включая их время, дату, IP-адреса и имена пользователей.

Используя данные логи, Вы сможете проверить информацию о всех RDP подключениях к Вашей системе для обеспечения безопасности и контроля доступа.

Анализ логов RDP подключений

Ведение логов RDP подключений по умолчанию включено в операционной системе Windows 7, и они сохраняются в формате .evt и .evtx. Эти файлы содержат информацию о начале и окончании удаленных сеансов, а также о различных событиях, связанных с удаленными рабочими столами.

Для анализа логов RDP подключений можно использовать различные инструменты и программы, такие как Windows Event Viewer, PowerShell, Log Parser и другие. При анализе логов следует обращать внимание на такие параметры, как IP-адреса и имена хостов, идентификаторы событий, время и дата подключений, учетные записи пользователей и т. д.

Анализ логов RDP подключений позволяет обнаружить необычную активность, попытки несанкционированного доступа или взлома, аномалии в поведении пользователей, ошибки и проблемы с удаленными рабочими столами. Эта информация может быть использована для принятия мер по повышению безопасности, оптимизации работы с удаленными рабочими столами и выявлению возможных угроз.

Осознание важности анализа логов RDP подключений и правильное использование инструментов и программ поможет повысить безопасность системы и улучшить ее производительность.

Как использовать логи для анализа безопасности

Логи RDP подключений в Windows 7 предоставляют ценную информацию о безопасности вашей системы. Анализ этих логов может помочь выявить потенциальные угрозы и получить предупреждение о попытках несанкционированного доступа.

Вот несколько важных точек, которые следует учитывать при анализе логов RDP подключений:

1. Идентификация неудачных попыток входа:

Обратите внимание на неудачные попытки входа в систему через RDP. Это может указывать на попытки злоумышленников получить доступ к вашей системе. Посмотрите, есть ли повторяющиеся адреса IP, время или другие характеристики для этих попыток. Это может помочь вам выявить паттерны и принять соответствующие меры для защиты.

2. Анализ успешных подключений:

Оцените успешные подключения к вашей системе через RDP. Проверьте время и IP-адреса, с которых был выполнен успешный вход. Если вы заметите подозрительные активности, например, подключение с неизвестного или незаблокированного IP-адреса, это может быть сигналом о потенциальной угрозе.

3. Мониторинг аномального поведения:

Анализируйте аномальное поведение в логах RDP. Это может включать подключения в необычные часы, странные запросы или необычные попытки авторизации. Всякое подозрительное поведение может указывать на попытки несанкционированного доступа.

4. Проверка наличия обновлений:

При анализе логов RDP обратите внимание на наличие обновлений операционной системы. Убедитесь, что ваша система обновлена до последней версии, чтобы предотвратить известные уязвимости, которые могут быть использованы злоумышленниками для атаки на вашу систему.

Использование логов RDP подключений для анализа безопасности является важным шагом в обеспечении безопасности вашей системы. Анализ этих логов поможет вам выявить потенциальные угрозы и принять меры для их предотвращения. Будьте бдительны и регулярно проверяйте свои логи RDP для обеспечения безопасности вашей системы.

Проблемы и решения

В процессе работы с логами RDP подключений в Windows 7 могут возникать определенные проблемы. В этом разделе мы рассмотрим некоторые из них и предложим возможные решения.

Проблема: логи отсутствуют или недоступны

Если вы не можете найти логи RDP подключений или не можете получить доступ к ним, возможно, это связано с настройками аудита или правами доступа. Убедитесь, что включен аудит успешных и/или неудачных попыток входа через RDP. Также проверьте, что у вас есть достаточные права доступа к папке с логами.

Решение: проверьте настройки аудита и права доступа к папке с логами. Если необходимо, настройте аудит и/или измените права доступа.

Проблема: неотслеживаемые или неполные логи

Иногда логи RDP подключений могут быть неотслеживаемыми или содержать неполную информацию. Это может быть связано с настройками аудита, масштабированием ресурсов или ошибками в процессе записи логов.

Решение: убедитесь, что настройки аудита позволяют отслеживать все необходимые события RDP подключений. Также проверьте, что ресурсы вашей системы масштабируются в соответствии с требованиями и что нет ошибок в процессе записи логов.

Проблема: заполнение логов данными безопасности

В некоторых случаях логи RDP подключений могут заполняться большим количеством данных безопасности, что может вызвать проблемы с их анализом и управлением. Большие объемы данных могут также привести к нежелательному увеличению размера файлов логов.

Решение: настройте фильтры аудита, чтобы логи RDP подключений содержали только необходимую информацию. Также регулярно анализируйте и удаляйте устаревшие логи, чтобы уменьшить их размер.

Проблема: неправильное интерпретация логов

Иногда интерпретация логов RDP подключений может быть сложной или вызывать затруднения. Это может быть связано с отсутствием опыта работы с логами или с неправильной интерпретацией специфических событий.

Решение: ознакомьтесь с документацией и рекомендациями Microsoft по анализу и интерпретации логов RDP подключений. При необходимости проконсультируйтесь с опытными специалистами или используйте специализированные инструменты анализа логов.

Частые проблемы с логами RDP подключений

При использовании удаленного рабочего стола (RDP) в Windows 7 могут возникать различные проблемы с логами подключений, которые могут быть вызваны разными факторами. В данном разделе рассмотрим некоторые частые проблемы и возможные способы их решения.

1. Отсутствие логов RDP подключений

Иногда пользователи могут обнаружить, что логи RDP подключений не создаются или отсутствуют в системе. Причиной этой проблемы может быть отключенное ведение журнала событий или неправильные настройки службы удаленного рабочего стола.

Чтобы решить эту проблему, необходимо включить ведение журнала событий и убедиться, что служба удаленного рабочего стола настроена правильно.

2. Ошибки в логах RDP подключений

В некоторых случаях в логах RDP подключений могут быть отображены ошибки, указывающие на проблемы в процессе подключения или настройке удаленного рабочего стола.

Для решения таких проблем, необходимо внимательно изучить сообщения об ошибках и обратиться к документации или сообществу для получения советов по исправлению конкретной ошибки.

3. Неудачные попытки подключения

Если в логах RDP подключений появляются множественные записи о неудачных попытках подключения, это может свидетельствовать о попытках неавторизованного доступа к системе. В таком случае необходимо принять меры для повышения безопасности, такие как проверка паролей для учетных записей и настройка прав доступа.

4. Проблемы с аутентификацией

Возможны ситуации, когда пользователь не может подключиться к удаленному рабочему столу из-за проблем с аутентификацией. Это может быть вызвано неправильным паролем, настройками безопасности или другими факторами.

Если возникают проблемы с аутентификацией, необходимо проверить правильность ввода учетных данных и обратиться к администратору системы для получения помощи.

5. Изменение настроек логирования

Если вам необходимо настроить параметры логирования RDP подключений, такие как уровень журналирования, хранение логов или дополнительные сведения, вам может потребоваться изменить настройки соответствующих служб и политик безопасности. Для этого рекомендуется обратиться к документации операционной системы или проконсультироваться с администратором системы.

Важно помнить, что решение проблем с логами RDP подключений может быть индивидуальным и зависит от конкретной ситуации. Рекомендуется использовать резервное копирование логов и внимательно изучать сообщения об ошибках для более эффективного анализа и решения проблем.

Защита логов RDP подключений

Логи RDP подключений в Windows 7 содержат важные сведения о пользователях и событиях, происходящих в системе. Чтобы обеспечить безопасность этих логов, необходимо применять определенные меры защиты.

Во-первых, важно установить ограничения на доступ к журналам событий. Только администраторы системы должны иметь полный доступ к логам RDP подключений. Остальные пользователи, включая группы «Пользователи» и «Гости», должны быть лишены возможности просматривать или изменять эти логи.

Во-вторых, следует настроить аудит событий, связанных с RDP подключениями. Это позволит системе автоматически регистрировать в журнале событий все действия, связанные с RDP подключениями. В результате, если произойдет какое-либо инцидентное событие, его можно будет проследить по логам и найти источник проблемы.

Третья мера защиты – это регулярное резервное копирование логов RDP подключений. Несмотря на то, что данные журнала событий обычно хранятся на защищенном сервере, необходимо сохранять копию логов на другом надежном сетевом устройстве или в облачном хранилище. Такое резервное копирование позволяет восстановить данные при необходимости и предотвратить их потерю.

Кроме того, необходимо обеспечить защиту логов RDP подключений от несанкционированного доступа. Для этого рекомендуется использовать средства шифрования для хранения и передачи журналов событий. Это поможет предотвратить возможность перехвата данных или их модификации злоумышленниками.

Наконец, важно следить за целостностью и доступностью логов RDP подключений. Если обнаружены какие-либо аномалии или проблемы в работе журналов, их следует незамедлительно исправить или восстановить. Постоянный мониторинг состояния логов поможет обнаружить потенциальные угрозы и своевременно предпринять меры для их устранения.

Всем привет.

Время от времени администратору необходимо проводить аудит логов RDP подключений в Windows. Как правило, это может пригодиться при расследовании различных инцидентов на терминальных / RDS серверах Windows, когда от системного администратора требуется предоставить информацию: какие пользователи входили на RDS сервер, когда авторизовался и завершил сеанс конкретный пользователь, с какого устройства (имя или IP адрес) подключался RDP-пользователь, и т.п. 

Используем Powershell. Самый простой запрос:

Get-EventLog security -after (Get-date -hour 0 -minute 0 -second 0) | ?{$_.eventid -eq 4624 -and $_.Message -match ‘Тип входа:\s+(10)\s’} |  select -First  5 | Select $_.Message 

И более развернутый вариант. Обращаю ваше внимание на различие запросов по языку интерфейса.

# English версия

Get-EventLog -LogName Security -after (Get-date -hour 0 -minute 0 -second 0)| ?{(4624,4778) -contains $_.EventID -and $_.Message -match ‘Тип входа:\s+(10)\s’}| %{

(new-object -Type PSObject -Property @{

TimeGenerated = $_.TimeGenerated

ClientIP = $_.Message -replace ‘(?smi).*Source Network Address:\s+([^\s]+)\s+.*’,’$1′

UserName = $_.Message -replace ‘(?smi).*Account Name:\s+([^\s]+)\s+.*’,’$1′

UserDomain = $_.Message -replace ‘(?smi).*Account Domain:\s+([^\s]+)\s+.*’,’$1′

LogonType = $_.Message -replace ‘(?smi).*Logon Type:\s+([^\s]+)\s+.*’,’$1′

})

} | sort TimeGenerated -Descending | Select TimeGenerated, ClientIP `

, @{N=’Username’;E={‘{0}\{1}’ -f $_.UserDomain,$_.UserName}} `

, @{N=’LogType’;E={

switch ($_.LogonType) {

2 {‘Interactive — local logon’}

3 {‘Network conection to shared folder)’}

4 {‘Batch’}

5 {‘Service’}

7 {‘Unlock (after screensaver)’}

8 {‘NetworkCleartext’}

9 {‘NewCredentials (local impersonation process under existing connection)’}

10 {‘RDP’}

11 {‘CachedInteractive’}

default {«LogType Not Recognised: $($_.LogonType)»}

}

}} | Export-Csv RDP-eng.txt  -Encoding UTF8

# Russian версия

Get-EventLog -LogName Security -after (Get-date -hour 0 -minute 0 -second 0)| ?{(4624,4778) -contains $_.EventID -and $_.Message -match ‘Тип входа:\s+(10)\s’}| %{

(new-object -Type PSObject -Property @{

TimeGenerated = $_.TimeGenerated

ClientIP = $_.Message -replace ‘(?smi).*Сетевой адрес источника:\s+([^\s]+)\s+.*’,’$1′

UserName = $_.Message -replace ‘(?smi).*Имя учетной записи:\s+([^\s]+)\s+.*’,’$1′

UserDomain = $_.Message -replace ‘(?smi).*Домен учетной записи:\s+([^\s]+)\s+.*’,’$1′

LogonType = $_.Message -replace ‘(?smi).*Тип входа:\s+([^\s]+)\s+.*’,’$1′

})

} | sort TimeGenerated | Select TimeGenerated, ClientIP `

, @{N=’Username’;E={‘{0}\{1}’ -f $_.UserDomain,$_.UserName}} `

, @{N=’LogType’;E={

switch ($_.LogonType) {

2 {‘Interactive — local logon’}

3 {‘Network conection to shared folder)’}

4 {‘Batch’}

5 {‘Service’}

7 {‘Unlock (after screensaver)’}

8 {‘NetworkCleartext’}

9 {‘NewCredentials (local impersonation process under existing connection)’}

10 {‘RDP’}

11 {‘CachedInteractive’}

default {«LogType Not Recognised: $($_.LogonType)»}

}

}} | Export-Csv RDP-rus.txt  -Encoding UTF8

Если вас не интересует сама авторизация RDP-подключения то не обязательно анализировать журнал Security. Есть более простой способ. Открываем журнал Diagnostics -> Event Viewer -> Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-RemoteConnectionManager->Operational и смотрим события с номером Event Id 1149. Для удобства можно отфильтровать журнал по событию с этим номером.

#——- Connection by RDP ——————

Так по имени сервера и логину пользователя найдем все состоявшиеся RDP подключения, которые есть в журнале событий.

$servername = «sccm01.forza.com»

$username = «Cooladmin»

 [xml]$equery = @»

<QueryList>

   <Query Id=»0″ Path=»Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational»>

   <Select Path=»Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational»>*[System[(EventID=1149)]] and *[UserData[EventXML[(Param1=’$username’)]]]</Select>

   </Query>

</QueryList>

«@

Get-WinEvent -ComputerName $servername -FilterXML $equery |

   Select-Object TimeCreated, @{Name=»User»;Expression={$_.Properties[0].Value}},

                              @{Name=»Domain»;Expression={$_.Properties[1].Value}},

                              @{Name=»Source Network Address»;Expression={$_.Properties[2].Value}},MachineName | Out-GridView

#——— Connections thru RD Gateway 1 —————-

Выводим состоявшиеся подключения через RD Gateway. Обратите внимание на то, что логин должен быть задан в полной форме.

$servername = «sccm01.forza.com»

$username = «forza.com\Cooladmin»

 [xml]$equery = @»

<QueryList>

   <Query Id=»0″ Path=»Microsoft-Windows-TerminalServices-Gateway/Operational»>

   <Select Path=»Microsoft-Windows-TerminalServices-Gateway/Operational»>*[System[(EventID=302)]] and *[UserData[EventInfo[(Username=’$username’)]]]</Select>

   </Query>

</QueryList>

«@

Get-WinEvent -ComputerName $servername -FilterXML $equery |

   Select-Object TimeCreated, @{Name=»User»;Expression={$_.Properties[0].Value}},

                              @{Name=»Source Network Address»;Expression={$_.Properties[1].Value}},

                              @{Name=»Resource»;Expression={$_.Properties[3].Value}},MachineName | Out-GridView

#——— Connections thru RD Gateway 2 —————-

Тоже самое только имя пользователя задается в формате RegEx для поиска по шаблону. Этот вариант будет работать очень медленно! К сожалению, Windows не поддерживает поиск по шаблону в XPath для значений.

$servername = «sccm01.forza.com»

$username = «Cooladmin»

[xml]$equery = @»

<QueryList>

   <Query Id=»0″ Path=»Microsoft-Windows-TerminalServices-Gateway/Operational»>

   <Select Path=»Microsoft-Windows-TerminalServices-Gateway/Operational»>*[System[(EventID=302)]]</Select>

   </Query>

</QueryList>

«@

Get-WinEvent -ComputerName $servername -FilterXML $equery |

   Select-Object TimeCreated, @{Name=»User»;Expression={$_.Properties[0].Value}},

                              @{Name=»Source Network Address»;Expression={$_.Properties[1].Value}},

                              @{Name=»Resource»;Expression={$_.Properties[3].Value}},MachineName |

              Where-Object {$_.User -match $username} | Out-GridView

Еще такой вариант — возможно вам понадобиться провести аудит активных RDP-сессий на ваших серверах. В этом случае вам поможет следующий скрипт, список исследуемых серверов помещаете в файл servers.txt, либо получаете прямым запросом из AD.

$Today = Get-Date

$SessionLis t = «`n`nRDP Session List — » + $Today + «`n`n»

$CurrentSN = 0

#$Servers = Get-ADComputer -filter {OperatingSystem -like «*server*»}

#$Servers = Import-Csv -Encoding UTF8 -path «D:\PS\servers.txt» -Delimiter «,» 

$Servers = Get-ADComputer -filter * -searchbase «OU=Infrastructure Servers,DC=forza,DC=com»

$NumberOfServers = $Servers.Count

ForEach ($Server in $Servers) {

    $ServerName = $Server.Name

    Write-progress -activity «Checking RDP Sessions» -status «Querying $ServerName» -percentcomplete (($CurrentSN/$NumberOfServers)*100)

    try

    {

        $queryResults = (qwinsta /server:$ServerName | foreach { (($_.trim() -replace «\s+»,»,»))} | convertfrom-csv)

# Обращаю ваше внимание на различие запросa по языку интерфейса.

        ForEach($QueryResult in $QueryResults) {

        #    $RDPUser=$QueryResult.USERNAME

        #    $SessionType=$QueryResult.SESSIONNAME

        #    $SessionID=$QueryResult.ID

        #    $ReturnedCurrentState=$QueryResult.State

             $RDPUser = $QueryResult.ПОЛЬЗОВАТЕЛЬ

             $SessionType = $QueryResult.СЕАНС

             $SessionID = $QueryResult.ID

             $ReturnedCurrentState = $QueryResult.СТАТУС

            If($ReturnedCurrentState -eq $null){ $CurrentState=»Disconnected» } Else { $CurrentState=»Active» }

            If (($RDPUser -ne $NULL) -and ($SessionType -ne «console») -and ($SessionType -ne «services») -and ($SessionType -ne «rdp-tcp») -and ($RDPUser -ne «65536»)) {

                $SessionList=$SessionList + «`n» + $ServerName + » logged in by » + $RDPUser + » as » + $SessionType + «, session id «+ $SessionID + » is » + $CurrentState

            }

        }

    }

    catch

    {

        $SessionList=$SessionList + «`n Unable to query » + $ServerName 

        write-host «Unable to query $ServerName!» -foregroundcolor Red

    }

    $CurrentSN++

}

$SessionList + «`n`n»

На этом все.

Включаем шифрование RDP и смотрим логи

Включаем шифрование RDP

Сессии RDP поддерживают четыре типа шифрования

  • RDP Low Encryption – по умолчанию (самый старый режим). Может согласовать шифрование на базе 56-ти битового DES или 40-ка битового RC2. Очень плохой вариант. Например, если включить его, то не включится TLS.
  • RDP Client Compatible Encryption – Попробует до 128 бит RC4, но сразу согласится на DES/RC2. Очень плохой вариант. Тоже не совместим с TLS.
  • RDP High Encryption – Минимально допустимый режим. Потребует хотя бы 128-ми битовый RC4. Работает со всеми серверами, начиная с Windows 2000 Server w/HEP.
  • RDP FIPS140-1 Encryption – Будет поддерживать современные симметричные алгоритмы и в явном виде не будет поддерживать RC2, RC4, одиночный DES, а также будет заставлять использовать для вычисления целостности (Message Authentication Code – MAC) алгоритм SHA-1, а не MD5

Но в полном объеме шифрование не заработает:

  • нет валидного сертификата SSL (самоподписанный сертификат)
  • будет ругаться RDP при подключении
  • будет ругаться сисадмин в офисе

Но мы делаем временный доступ на две недели и надеемся, что злые боты нас не найдут за это время.

Включаем шифрование RDP и смотрим логи

RDP ругается на сертификат…

Конфигурация компьютера —> Административные шаблоны —> Компоненты Windows —> Службы удаленных рабочих столов —>  Узел сеансов удаленных рабочих столов—>Безопасность

Включаем шифрование RDP и смотрим логи

«Установить уровень шифрования для клиентских подключений». Включаем и выбираем «Высокий» уровень. Это нам даст 128-битное шифрование.

Включаем параметр «Требовать безопасное RPC-подключение»

Устанавливаем параметр «Требовать использования специального уровня безопасности для удаленных подключений по методу RDP» в значение «Включено» и Уровень безопасности в значение «SSL TLS 1.0»

Самый максимальный уровень шифрования обеспечивается стандартом FIPS 140-1 (для Windows 7).

Federal Information Processing Standards (FIPS) – Федеральный стандарты по обработке информации. Стандарт компьютерной безопасности правительства США. В настоящее время принят FIPS 140-2.

Конфигурация компьютера —> Конфигурация Windows —> Параметры безопасности —> Локальные политики —> Параметры безопасности

Включаем шифрование RDP и смотрим логи

Чтобы включить использование FIPS 140-1 – включаем параметр «Системная криптография: использовать FIPS-совместимые алгоритмы для шифрования, хэширования и подписывания»

ВАЖНО: если Вы подключаетесь из Windows XP (или к Windows XP) – не включайте это шифрование, Windows XP ничего не знает про FISP

Подключаем RDP Windows XP из Windows 7

Просмотр логов подключения RDP

Да, Windows ведет подробные логи подключения, только они сильно спрятаны в настройках и немного не очевидны.

Администрирование —> Просмотр событий —> Журналы приложений и служб —> Microsoft —> Windows  —> TerminalServices-LocalSessionManager —> Operational

И это общий лог. Для получения списка по конкретным событиям нужно отфильтровать по коду события… Правой клавишей мышки по  Operational —> “Фильтр”

Включаем шифрование RDP и смотрим логи

  • EventID – 21 (Remote Desktop Services: Shell start notification received) означает успешный запуск оболочки Explorer (появление окна рабочего стола в RDP сессии
  • EventID – 24 (Remote Desktop Services: Session has been disconnected) – пользователь отключился от RDP сессии.
  • EventID – 25 (Remote Desktop Services: Session reconnection succeeded) – пользователь переподключился к своей имеющейся RDP сессии на сервере.
  • EventID – 39 (Session <A> has been disconnected by session <B>) – пользователь сам отключился от своей RDP сессии, выбрав соответствующий пункт меню (а не просто закрыл окно RDP клиента). Если идентификаторы сессий разные, значит пользователя отключил другой пользователь (или администратор).
  • EventID – 40 (Session <A> has been disconnected, reason code <B>). Здесь нужно смотреть на код причины отключения в событии. Например:
    • reason code 0 (No additional information is available)– обычно говорит о том, что пользователь просто закрыл окно RDP клиента.
    • reason code 5 (The client’s connection was replaced by another connection) – пользователь переподключился к своей старой сессии.
    • reason code 11 (User activity has initiated the disconnect) – пользователь сам нажал на кнопку Disconnect в меню

Что бы посмотреть все входы RDP – в фильтре пишем 21,25

Так, а где IP входа? По умолчанию аудит IP отключен. Идем в настройки политик безопасности secpol.msc

Включаем шифрование RDP и смотрим логи

Включаем регистрацию Успеха и Отказа

Вот тут читаем подробнее (+защита от перебора IPBan для Wondows)

Защищаем RDP сервер от перебора паролей с блокировкой по IP

Для создания сложностей ботам (подбор паролей на порту 3389) используем

Классический вход в Windows

Почитать в разделе

RDP

Удаленный рабочий стол RDP Windows — он же Remote Desktop Protocol Проприетарный протокол прикладного уровня, позаимствованный Microsoft из купленной у PictureTel (ныне известной как Polycom) телекоммуникационной программы Liveshare Plus (названной впоследствии NetMeeting), использующийся для обеспечения удалённой работы пользователя с сервером, на котором запущен сервис терминальных подключений. Актуальные версии Версия 6.1 была выпущена в феврале 2007 и включена в Windows Server 2008, и в пакет обновления Windows Vista SP1 и Windows XP SP3.
Версия 7 (вышла в составе Windows 7, поддерживается в Windows XP, где по умолчанию в данной версии установлена 6.1)
Версия 7.1…
(Читать полностью…)

  • Всего статей в разделе: 8
  • Показано статей в списке: 7
  • Сортировка: название по алфавиту

Борьба с “крестиком” терминального сеанса RDP

Вот он вредитель (на панели подключений при работе на полном экране) – сисадмины поймут всю боль Проблема в том, что “крестик” только закрывает “Удаленный рабочий стол” на ПК пользователя, но оставляет на сервере открытую терминальную сессию. Если пользователей много – то все их сессии остаются на сервере открытыми и занимают память. Варианты решений.
Вообще убрать панель от пользователя – в настройках при создании удаленного рабочего стола (выход только через завершение сеанса) Убрать сам “крестик” (выход только через завершение сеанса)
Есть специальная программа, которая крестик убирает. Смотреть здесь. И будет вот так :) Ограничить время сессии
(пункты 1 и 2 могут…
(Читать полностью…)

Как включить звук при подключении RDP

По умолчанию обычно так В настройках файла RDP все включено — но звука все равно нет. Еще надо сделать настройки и разрешения на самой машине, к которой мы подключаемся.
Настройки звука на целевом компьютере RDP
Для начала нам необходима служба
Проверка работы службы Windows Audio
«Пуск» — «Администрирование» — «Службы», в списке находите «Windows Audio» и два раза кликаем по ней. В настройках службы нужно установить «Тип запуска — Автоматически», «применить» и затем и можно сразу же запустить службу с помощью соответствующей кнопки ВАЖНО: если служба Windows Audio не запускается — убедитесь, что включены и запущены…
(Читать полностью…)

Настраиваем RDP (remote desktop protocol)

Удаленный рабочий стол RDP ВАЖНО: Если Windows-машина напрямую «смотрит» в большой Интернет (у нее есть «белый» IP-адрес) — то номер порта 3389 RDP поменять обязательно! Иначе доступ RDP (после разрешения его использовать) взломают достаточно быстро — с применением сетевых ботнетов со всего мира. Читаем статью
Порты сервера и их основная защита Для долговременной удаленной работы необходимо использовать: или создать VPN-тунель и уже внутри него подключаться через RDP
или использовать профессиональные средства сервер-клиент типа RAdmin Для быстрого подключения из дома к ПК на работе читаем статью Подключаем компьютер к рабочему ПК…
(Читать полностью…)

Переключение языков при RDP

При подключении через RDP (удаленный рабочий стол Windows) Вы можете увидеть непривычную картинку Язык ввода «русский / английский» переключается — но при вводе остается только английская клавиатура. И появилась дополнительная иконка «клавиатуры». Что делать? В Windows есть: язык ввода
языковая раскладка   Проблема возникает, если язык клиентской машины перед подключением к RDP не совпадает с языком по умолчанию в серверной машине. Например вводите пароль из английских букв и не переключая языка конектитесь к серверу терминалов, на котором по умолчанию русский язык — получите необходимость «двойного» переключения языка и раскладки. Можно…
(Читать полностью…)

Подключаем RDP Windows XP из Windows 7

Будет интересно. Основная статья по настройке удаленного рабочего стола. Еще одна статья Подключаем компьютер к рабочему ПК через RDP (Windows 7) Простая задача — есть Windows XP, мы к ней хотим подключиться из Windows 7 через удаленный рабочий стол. Вроде все оно просто — но есть небольшое количество грабелек, разложенных на этом пути. Берем админский бубен: «Мы в город Изумрудный идём дорогой трудной….»
Для подключения через RDP нам нужна Windows XP Professional SP3
Да, на форумах полно советов, как из Home сделать Professional. Не верьте. Все советы касаются изменений в реестре. И да — система будет показывать, что она теперь Professional — но это только…
(Читать полностью…)

Подключаем компьютер к рабочему ПК через RDP (Windows 7)

Как из дома подключиться к рабочему ПК по RDP? Внутри локальной сети у компьютера есть только локальный IP-адрес вида 192.168.1.2, со стороны Интернета такой компьютер не виден (т.е. к нему напрямую невозможно адресовать пакет по внешнему IP адресу). Обычно внешний IP-адрес провайдер выдает динамический: придется тоже его менять в настройках RDP
некоторые провайдеры меняют IP один раз в месяц В крайнем случае (если очень надо) — можно купить услугу «выделенный IP» и адрес от провайдера не будет меняться. А наш домашний ПК — он там, за интернетом — в свой локальной сети. Можно подключиться из дома к рабочему компьютеру в локальной сети офиса через RDP: …
(Читать полностью…)

Формат файла RDP

Это собственно файл — а не ярлык рабочего стола. Данный настроенный файл можно переслать другому пользователю, он его сохранит —  и всё будет работать. Более того — это простой текстовый файл, в котором хранятся все настройки удаленного подключения и этот файл можно открыть Блокнотом. Кстати, часть параметров не редактируется через стандартные настройки, их можно вписать руками.
Структура файла RDP
screen mode id:i: — 1 — удаленный сеанс выполняется в оконном режиме, 2 — в полноэкранном. Редактируется на вкладке ”Экран” окна ”Параметры” средства ”Подключение к удаленному рабочему столу”. use multimon:i: — 0 — запрет поддержки нескольких мониторов, 1 — разрешение поддержки…
(Читать полностью…)

  • Пропало нужное разрешение экрана windows 10
  • Просмотр изображений windows 10 ltsc
  • Пропали иконки программ в windows 10
  • Просит активировать windows 10 но он уже активирован
  • Пропало место на диске с windows server 2008