kilku użytkowników zalogowało się do serwera przez RDP.
Chciałbym monitorować aktywność , ale nie znam się tak dobrze na Windows Server.
Mam nadzieję, że są jakieś dzienniki, z którymi mogę się zapoznać.
Jakieś pomysły? :)
kilku użytkowników zalogowało się do serwera przez RDP.
Chciałbym monitorować aktywność , ale nie znam się tak dobrze na Windows Server.
Mam nadzieję, że są jakieś dzienniki, z którymi mogę się zapoznać.
Jakieś pomysły? :)
Odpowiedzi:
Kilka opcji ..
eventvwr.msc
)Applications and Services Logs
-> Microsoft
-> Windows
->TerminalServices-LocalSessionManager
Admin
lubOperational
Zobaczysz listę sesji. Data / Datownik / IP / Nazwa użytkownika itp. Możesz także zajrzeć podApplications and Services Logs\Microsoft\Windows\TerminalServices-RemoteConnectionManager
Oto rozwiązanie w 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)"}
}
}}
Informacje na temat powiązanych EventIds, na których filtrujemy, można znaleźć tutaj:
W przypadku połączeń RDP jesteś szczególnie zainteresowany LogType 10; RemoteInteractive; tutaj nie filtrowałem na wypadek, gdyby inne typy były użyteczne; ale w razie potrzeby dodanie kolejnego filtra jest banalne.
Musisz także upewnić się, że te dzienniki zostały utworzone; aby to zrobić:
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
naSuccess
Oprócz przeszukiwania dzienników zdarzeń, szukania Logon Type 10 (Remote Desktop) w Dzienniku bezpieczeństwa lub przeglądania dzienników zdarzeń kanału TerminalServices, musisz użyć oprogramowania innej firmy.
Oprócz wspomnianego wyżej TSL, oto jeszcze jeden, z którego korzystałem w przeszłości - Remote Desktop Reporter
http://www.rdpsoft.com/products
Jeśli korzystasz z usług strony trzeciej, sprawdź kilka i uzyskaj oferty cenowe od każdego dostawcy ... istnieje ogromna rozbieżność w cenie - niektórzy dostawcy ceną za określonego użytkownika, niektórzy za równoczesnego użytkownika, a niektórzy po prostu przez serwer. Upewnij się również, że rozwiązanie jest dostarczane z własną bazą danych lub lite wersją SQL - w przeciwnym razie dostaniesz także koszty licencji na bazę danych.
Możesz ustawić dowolne konto użytkownika w AD do zdalnego sterowania, aby wyświetlać sesję użytkownika lub wchodzić w interakcje z nią, przechodząc do karty Użytkownicy w Menedżerze zadań, klikając prawym przyciskiem myszy i wybierając „Zdalne sterowanie”. Następnie możesz wyświetlić ich sesję.
Przeszedłem przez większość darmowych / niedrogich odpowiedzi na tej stronie, a także szukałem gdzie indziej (od kilku dni, w tym czytając dzienniki zdarzeń wspomniane przez Andy'ego Bichlera), a oto alternatywne bezpłatne narzędzie do monitorowania i blokowania RDP:
http://www.tweaking.com/content/page/remote_desktop_ip_monitor_blocker.html
Nie testowałem go dokładnie, ale pobrałem i zeskanowałem (wersja przenośna) i chociaż interfejs użytkownika jest nieco brzydki, działa bez problemu na serwerze R2 w 2012 roku. Jest „praktyczny”, ale nie wymaga myślenia i bije odszyfrowanie dzienników zdarzeń.
Istnieje również ts_block, który pozwala automatycznie blokować adresy IP, które są brutalne, zmuszając RDP twojego serwera (domyślam się, że miałby jakiś log prób RDP):
https://github.com/EvanAnderson/ts_block
Jak widać w tym łączu, autor jest użytkownikiem serwera. Nie testowałem tego, ponieważ jest to w zasadzie skrypt vbscript, który musiałbym przeanalizować przed użyciem. Ale wydaje się obiecujące.
Problem z dziennikami zdarzeń wspomnianymi powyżej przez Andy'ego polega na tym, że nie są one zbyt jasne ani opisowe, kto robi co ... co najmniej w złośliwym sensie. Możesz znaleźć adresy IP, ale trudno jest stwierdzić, czy są one powiązane ze wszystkimi nieudanymi próbami logowania. Tak więc inne narzędzie niż wbudowane dzienniki wydaje się prawie obowiązkowe, jeśli serwer jest połączony z Internetem i masz jakiekolwiek obawy dotyczące bezpieczeństwa.
w dzienniku zdarzeń -
Dzienniki aplikacji i usług \ Microsoft \ Windows \ remote desktop services-rdpcorets
wszystkie próby połączenia się z rdp i adresem IP
Kiedy kilka lat temu pracowałem jako administrator, miałem taki sam problem jak teraz, chciałem monitorować wszystkich, którzy łączą się przez RDP i dokładnie, kiedy i czy byli aktywni, czy bezczynni.
Oceniłem kilka produktów, ale zdecydowałem, że żaden z nich nie jest dla mnie wystarczająco dobry, więc zbudowałem własny (problem polegał na tym, że każdy miał jakiegoś agenta lub usługę do gromadzenia danych, a zbudowane przeze mnie rozwiązanie używa interfejsu API TS do zdalnego zdalny serwer i wyodrębnij dane bez żadnego agenta). Produkt nazywa się teraz syskit (lub TSL, jak wspomniał Jim) i jest szeroko stosowany na całym świecie: D
Można sprawdzić czynności użytkownika tutaj