Zobraziť a analyzovať protokoly pripojenia RDP vo Windows

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é:

  1. Sieťové pripojenie
  2. overenie pravosti
  3. prihlasovacie
  4. Odpojenie / opätovné pripojenie relácie
  5. 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..