кілька користувачів увійшли на сервер через RDP.
Я хотів би відстежувати активність , але не знаю, як добре обійти Windows Server.
Я сподіваюся, що навколо є якісь колоди, з якими я можу проконсультуватися.
Будь-які ідеї? :)
кілька користувачів увійшли на сервер через RDP.
Я хотів би відстежувати активність , але не знаю, як добре обійти Windows Server.
Я сподіваюся, що навколо є якісь колоди, з якими я можу проконсультуватися.
Будь-які ідеї? :)
Відповіді:
Кілька варіантів ..
eventvwr.msc
)Applications and Services Logs
-> Microsoft
-> Windows
->TerminalServices-LocalSessionManager
Admin
абоOperational
Ви побачите список сесій. Дата / Позначений часом / IP / Ім'я користувача тощо. Ви також можете подивитися підApplications and Services Logs\Microsoft\Windows\TerminalServices-RemoteConnectionManager
Ось рішення в 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
Я не перевіряв її широко, але завантажив і відсканував її (портативна версія), і хоча інтерфейс користувача трохи некрасивий, він працює на сервері R2 2012 року без проблем до цих пір. Це "руки на руки", але також не маніпулює і б'є розшифровування журналів подій.
Існує також ts_block, який дозволяє автоматично блокувати IP-адреси, які жорстоко змушують RDP вашого сервера (що, мабуть, матиме журнал спроб RDP):
https://github.com/EvanAnderson/ts_block
Як ви бачите за цим посиланням, автор є користувачем сервера за замовчуванням. Я не перевіряв це, оскільки це в основному vbscript, який мені потрібно буде розсікати перед використанням. Але, це здається перспективним.
Проблема журналів подій, згаданих Енді вище, полягає в тому, що вони не дуже чіткі чи описові щодо того, хто що робить ... принаймні у зловмисному розумінні. Ви можете знайти адреси IP, але тоді важко сказати, чи пов’язані вони з усіма невдалими спробами входу. Отже, інший інструмент, окрім вбудованих журналів, здається майже обов'язковим, якщо ви сервер є інтернетом і у вас є сумніви щодо безпеки.
у eventlog -
Журнали програм та служб \ Microsoft \ Windows \ віддалені сервіси на робочому столі-rdpcorets
є всі спроби підключитися до rdp та ip-адреси
Коли я кілька років тому працював адміністратором, у мене виникли проблеми, як у вас зараз, я хотів відстежувати всіх, хто з'єднується через RDP, і саме коли і якщо вони були активними чи не працювали.
Я оцінив декілька продуктів, але вирішив, що жоден з них не є для мене досить хорошим, тому я створив власну (проблема полягала в тому, що кожен мав якийсь агент або службу для збору даних, а розроблене нами рішення - це використання API API віддалено для віддалений сервер і витягувати дані без будь-якого агента). Продукт зараз називається syskit (або TSL, як згадував Джим), і його широко використовують у всьому світі: D
Ви можете перевірити діяльність користувачів тут