V tomto článku sa budeme zaoberať funkciami auditu / analýzy protokolov pripojení RDP v systéme Windows. Popísané metódy môžu byť užitočné pri vyšetrovaní rôznych incidentov na terminálových serveroch Windows / RDS, keď sa od systémového administrátora vyžaduje poskytnutie informácií: ktorí používatelia sa prihlásili na server RDS, keď sa konkrétny používateľ prihlásil a ukončil reláciu, odkiaľ a od ktorého zariadenia (meno alebo adresa IP adresa) RDP užívateľ bol pripojený. Myslím si, že tieto informácie budú užitočné pre správcov podnikových fariem RDS a pre vlastníkov serverov RDP na internete (ukázalo sa, že systém Windows VPS je dosť populárny).
Tento článok je použiteľný na štúdium protokolov RDP v systéme Windows Server 2008 R2, 2012 / R2, 2016 a v zodpovedajúcich verziách stolných počítačov Windows (Windows 7, 8.1, 10)..Rovnako ako iné udalosti, protokoly pripojenia RDP v systéme Windows sa ukladajú do protokolov udalostí. Otvorte konzolu Zobrazovača udalostí. Existuje niekoľko rôznych časopisov, v ktorých nájdete informácie o pripojeniach RDP..
Protokoly systému Windows obsahujú veľa informácií, ale rýchle nájdenie správnej udalosti môže byť dosť ťažké. Keď sa používateľ vzdialene pripojí k serveru RDS alebo vzdialenej ploche (RDP), v protokoloch Windows sa vygeneruje veľa udalostí. Budeme brať do úvahy protokoly a udalosti v hlavných fázach pripojenia RDP, ktoré môžu byť pre správcu zaujímavé:
- Sieťové pripojenie
- overenie pravosti
- prihlasovacie
- Odpojenie / opätovné pripojenie relácie
- odhlásenie
Sieťové pripojenie: - vytvorenie sieťového pripojenia k serveru od užívateľa klienta RDP. Udalosť s identifikátorom EventID - 1149 (Služby vzdialenej pracovnej plochy: Overenie používateľa bolo úspešné). Prítomnosť tejto udalosti neznamená úspešné overenie používateľa. Tento protokol je v časti Denníky aplikácií a služieb -> Microsoft -> Windows -> Terminal-Services-RemoteConnectionManager -> Prevádzkové. Zapnite filter pre túto udalosť (RMB v denníku -> Filter Current Log -> EventId 1149).
Vo výsledku získate zoznam s históriou všetkých sieťových pripojení RDP k tomuto serveru. Ako vidíte, denníky označujú užívateľské meno, doménu (používa sa autentifikácia NLA, keď je NLA zakázaná, text udalosti vyzerá inak) a IP adresu počítača, z ktorého je vytvorené RDP pripojenie..
Authentication: - úspešná alebo neúspešná autentifikácia užívateľa na serveri. Windows Journal -> Zabezpečenie. Preto by nás mohli zaujímať udalosti s EventID - 4624 (úspešná autentifikácia - účet bol úspešne prihlásený) alebo 4625 (chyba overenia - účet sa nepodarilo prihlásiť). Zaznamenajte si hodnotu LogonType v udalosti. Pri prihlásení prostredníctvom terminálovej služby RDP - Typ prihlásenia = 10 alebo 3. ak Typ prihlásenia = 7, potom sa znova pripojí k existujúcej relácii RDP.
Udalosti s chybami autentifikácie môžete použiť na ochranu pred vzdialeným odhadom hesla pre RDP. Takéto adresy IP na bráne firewall môžete automaticky blokovať pomocou jednoduchého skriptu PowerShell (pozri článok).Používateľské meno je obsiahnuté v popise udalosti v poli Názov účtu, názov počítača v Názov pracovnej stanice, a používateľské meno v Zdrojová adresa siete.
Venujte pozornosť hodnote poľa. TargetLogonID - je to jedinečný identifikátor pre reláciu používateľa, pomocou ktorej môžete sledovať ďalšiu aktivitu tohto používateľa. Keď sa však odpojí od relácie RDP (odpojí sa) a znova sa pripojí k relácii, užívateľovi bude pridelený nový TargetLogonID (hoci relácia RDP zostáva rovnaká).Týmto príkazom PowerShell môžete získať zoznam úspešných autorizačných udalostí RDP (udalosť 4624).
Get-EventLog security -after (Get-date -hour 0 -minute 0-second 0) | ? $ _. eventid -eq 4624 - a $ _. Message -match 'typ prihlasovacieho mena: \ s + (10) \ s' | Out-GridView
Logon: - RDP login, udalosť, ktorá nastane po úspešnom overení užívateľa. Udalosť s identifikátorom EventID - 21 (Služby vzdialenej pracovnej plochy: Prihlásenie do relácie bolo úspešné). Tento protokol sa nachádza v protokoloch aplikácie a služby -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Prevádzková časť. Ako vidíte tu, nájdete identifikátor relácie RDP pre používateľa - ID relácie.
Udalosť s identifikátorom EventID - 21 (Služby vzdialenej pracovnej plochy: Prijaté oznámenie o spustení shellu) znamená úspešné spustenie shellu Explorer (vzhľad okna na pracovnej ploche v relácii RDP).
Odpojenie / opätovné pripojenie relácie - udalosti odpojenia / opätovného pripojenia k relácii majú rôzne kódy v závislosti od toho, čo spôsobilo, že sa používateľ odpojil (odpojenie v dôsledku nečinnosti, vyberte možnosť Odpojiť v relácii, ukončiť reláciu RDP iným používateľom alebo správcom atď.). Tieto udalosti sa nachádzajú v časti Protokoly aplikácií a služieb -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Prevádzkové denníky. Zvážte udalosti RDP, ktoré môžu byť zaujímavé:
- EventID - 24 (Služby vzdialenej pracovnej plochy: relácia bola odpojená) - používateľ bol odpojený od relácie RDP.
- EventID - 25 (Služby vzdialenej pracovnej plochy: opätovné pripojenie bolo úspešné) - používateľ sa znova pripojil k svojej existujúcej relácii RDP na serveri.
- EventID - 39 (Relácia bola reláciou odpojená ) - používateľ sa sám odpojil od relácie RDP výberom príslušnej položky ponuky (nielen zatvoril okno klienta RDP). Ak sú identifikátory relácie odlišné, používateľ bol odpojený iným používateľom (alebo správcom).
- EventID - 40 (Relácia bola odpojená, kód príčiny ). Tu musíte skontrolovať kód z dôvodu odpojenia v prípade. Napríklad:
- kód príčiny 0 (Nie sú k dispozícii žiadne ďalšie informácie) - zvyčajne to znamená, že používateľ jednoducho zavrel okno klienta RDP.
- kód príčiny 5 (Pripojenie klienta bolo nahradené iným pripojením) - používateľ sa znova pripojil k svojej starej relácii.
- kód príčiny 11 (Aktivita používateľa spustila odpojenie) - užívateľ sám klikol na tlačidlo Odpojiť v ponuke.
Udalosť s identifikátorom EventID - 4778 v denníku systému Windows -> Zabezpečenie (relácia bola znovu pripojená k stanici Windows Station). Používateľ sa znova pripojil k relácii RDP (používateľovi je pridelené nové prihlasovacie meno).
Udalosť s identifikátorom EventID 4799 v denníku Windows -> Zabezpečenie (Relácia bola odpojená od Window Station). Odpojiť sa od relácie RDP.
odhlásenie: - odhlásenie používateľa. Zároveň sa v protokoloch aplikácií a služieb -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> prevádzkový protokol zaznamená udalosť s EventID 23 (Služby vzdialenej pracovnej plochy: Odhlásenie relácie bolo úspešné).
Zároveň musíte v denníku zabezpečenia sledovať udalosť EventID 4634 (Účet bol odhlásený).
udalosť 9009 (Správca okien pracovnej plochy ukončil s kódom () v systémovom denníku správu, že používateľ inicioval koniec relácie RDP a dokončili sa okno používateľa a grafický shell.
Nižšie je uvedený malý PowerShell, ktorý sťahuje históriu všetkých pripojení RDP pre aktuálny deň z denníkov terminálového servera RDS. Výsledná tabuľka ukazuje čas pripojenia, IP adresu klienta a meno RDP používateľa (v prípade potreby môžete do správy zahrnúť aj iné typy vstupov).
Get-EventLog -LogName Security -after (Get-date -hour 0 -minute 0-second 0) | ? (4624,4778) - obsahuje $ _. EventID - a $ _. Message -match 'typ prihlasovacieho mena: \ s + (10) \ s' | %
(new-object -Type PSObject -Property @
TimeGenerated = $ _. TimeGenerated
ClientIP = $ _. Message -replace '(? Smi). * Zdrojová sieťová adresa: \ s + ([^ \ s] +) \ s +. *', '$ 1'
UserName = $ _. Message -replace '(? Smi). * Názov účtu: \ s + ([^ \ s] +) \ s +. *', '$ 1'
UserDomain = $ _. Message -replace '(? Smi). * Doména účtu: \ s + ([^ \ s] +) \ s +. *', '$ 1'
LogonType = $ _. Message -replace '(? Smi). * Typ prihlásenia: \ s + ([^ \ s] +) \ s +. *', '$ 1'
)
| zoradiť čas generovaný-vzostupne | Vyberte TimeGenerated, ClientIP '
, @ N = 'Meno používateľa'; E = '0 \ 1' -f $ _. UserDomain, $ _. UserName '
, @ N = 'Typ protokolu'; E =
prepínač ($ _. LogonType)
2 'Interaktívne - miestne prihlásenie'
3 'Pripojenie siete do zdieľaného priečinka)'
4 'Dávka'
5 'Service'
7 'Odomknúť (po šetriči obrazovky)'
8 'NetworkCleartext'
9 'NewCredentials (proces lokálnej zosobnenia za existujúceho pripojenia)'
10 'RDP'
11 'CachedInteractive'
predvolené "LogType nebol rozpoznaný: $ ($ _. LogonType)"
Niekedy je to vhodné v protokoloch v tabuľke programu Excel. V takom prípade môžete vyložiť ľubovoľný protokol systému Windows do textového súboru a importovať ho do programu Excel. Protokol môžete exportovať z konzoly Zobrazovač udalostí (samozrejme za predpokladu, že protokoly nie sú vymazané) alebo z príkazového riadku:
WEVTVyžiadané udalosti dotazu Zabezpečenie> c: \ ps \ security_log.txt
Alebo:
get-winevent -logname "Microsoft-Windows-TerminalServices-LocalSessionManager / Operational" | Exportovať Csv c: \ ps \ rdp-log.txt - kódovať UTF8
Zoznam aktuálnych relácií RDP na serveri je možné zobraziť príkazom:
Qwinsta
Príkaz vráti identifikátor relácie (ID), používateľské meno (USERNAME) a stav (aktívny / odpojený). Tento príkaz je vhodný na použitie, keď potrebujete určiť RDP ID relácie používateľa pomocou tieňového pripojenia..
Zoznam spustených procesov v konkrétnej relácii RDP (je uvedené ID relácie):
qproces / id: 157
Na klientovi RDP nie sú protokoly také informatívne, často sa používajú hlavne informácie o histórii pripojení RDP v registri..