Назад | Перейти на главную страницу

Есть ли журналы активности RDP? - Windows Server 2008 R2

несколько пользователей вошли на сервер через RDP.

Я хотел бы отслеживать активность, но я не так хорошо разбираюсь в Windows Server.

Я надеюсь, что вокруг есть какие-то журналы, к которым я могу обратиться.


Любые идеи? :)

  1. Открыть средство просмотра событий (eventvwr.msc)
  2. Перейти к Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-LocalSessionManager
  3. открыто Admin или Operational

Вы увидите список сеансов. Дата / время / IP / имя пользователя и т. Д. Вы также можете посмотреть в Applications and Services Logs\Microsoft\Windows\TerminalServices-RemoteConnectionManager

Несколько вариантов ..

  1. Базовое ведение журнала Windows с использованием параметра политики «Аудит событий входа в систему» ​​должно удовлетворить ваши потребности.
  2. Вы также можете использовать шлюз удаленного рабочего стола и настроить аудит, который регистрирует, какие пользователи получают доступ к каким внутренним ресурсам через RDP. Доступна дополнительная информация Вот.

Вот решение в PowerShell:

Get-EventLog -LogName Security | ?{(4624,4778) -contains $_.EventID} | %{
    (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 (logon at keyboard and screen of system)'}
        3   {'Network (i.e. connection to shared folder)'}
        4   {'Batch (i.e. scheduled task)'}
        5   {'Service (i.e. service start)'}
        7   {'Unlock (i.e. post screensaver)'}
        8   {'NetworkCleartext (i.e. IIS)'}
        9   {'NewCredentials (i.e. local impersonation process under existing connection)'}
        10  {'RemoteInteractive (i.e. RDP)'}
        11  {'CachedInteractive (i.e. interactive, but without network connection to validate against AD)'}   
        default {"LogType Not Recognised: $($_.LogonType)"}     
    }
}} 

Информацию о связанных EventIds, по которым мы фильтруем, можно найти здесь:

Для подключений RDP вас особенно интересует LogType 10; RemoteInteractive; здесь я не отфильтровал на случай использования других типов; но при необходимости добавить еще один фильтр - тривиально.

Вам также необходимо убедиться, что эти журналы созданы; для этого:

  • Нажмите Start
  • Выбрать Control Panel
  • Выбрать Administrative Tools
  • открыто Local Security Policy
  • Навигация Security Settings > Advanced Audit Policy Configuration > System Audit Policies - Local Group Policy Object > Logon/Logoff
  • Исправить Audit Logon к Success

Помимо просмотра журналов событий, поиска типа входа 10 (удаленный рабочий стол) в журнале безопасности или просмотра журналов событий канала TerminalServices, вам необходимо использовать стороннее программное обеспечение.

В дополнение к упомянутому выше TSL, вот еще один, который я успешно использовал в прошлом - Remote Desktop Reporter.

http://www.rdpsoft.com/products

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

Вы можете настроить любую учетную запись пользователя в AD для удаленного управления для просмотра сеанса пользователя или взаимодействия с ним, перейдя на вкладку «Пользователи» в диспетчере задач, щелкнув правой кнопкой мыши и выбрав «Удаленное управление». Затем вы можете просмотреть их сеанс.

Я просмотрел большинство бесплатных / доступных ответов на этой странице, а также искал в других местах (в течение нескольких дней, включая чтение журналов событий, упомянутых Энди Бихлером), и вот альтернативный бесплатный инструмент для мониторинга и блокировки RDP:

http://www.tweaking.com/content/page/remote_desktop_ip_monitor_blocker.html

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

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

https://github.com/EvanAnderson/ts_block

Как видно из этой ссылки, автор является пользователем serverfault. Я не тестировал его, так как это в основном vbscript, который мне нужно было бы проанализировать перед использованием. Но это кажется многообещающим.

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

в журнале событий -

Журналы приложений и служб \ Microsoft \ Windows \ службы удаленного рабочего стола-rdpcorets

есть все попытки подключиться к rdp и ip адресу

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

Я оценил несколько продуктов, но решил, что ни один из них не подходит для меня, поэтому я создал свой собственный (проблема заключалась в том, что у каждого был какой-то агент или служба для сбора данных, а решение, которое я построил, использует TS API для удаленного удаленный сервер и извлеките данные без какого-либо агента). Продукт теперь называется syskit (или TSL, как сказал Джим), и он широко используется во всем мире: D

Вы можете проверить действия пользователей Вот

Запустите это в Powershell:

Get-WinEvent -ProviderName OpenSSH | Export-Csv -Path 'C: \ Users \ Windows10 \ Desktop \ SSHLogs.csv' -NoTypeInformation

Ваш файл логов SSH в формате CSV готов!