Tekintse meg és elemezze az RDP kapcsolat naplóit a Windows rendszerben

Ebben a cikkben megvizsgáljuk az RDP-kapcsolatok naplózásának ellenőrzésének / elemzésének jellemzőit a Windows rendszerben. A leírt módszerek általában hasznosak lehetnek a Windows terminál / RDS szerverek különféle eseményeinek kivizsgálásában, amikor a rendszergazdának információt kell szolgáltatnia: mely felhasználók jelentkeztek be az RDS szerverre, mikor egy adott felhasználó bejelentkezett és befejezte a munkamenetet, hol / melyik eszközről (név vagy IP) cím) Az RDP felhasználó csatlakozik. Úgy gondolom, hogy ez az információ hasznos lesz mind a vállalati RDS gazdaságok rendszergazdáinak, mind az internetes RDP-kiszolgálók tulajdonosai számára (a Windows VPS kiderült, hogy nagyon népszerű).

A cikk alkalmazható az RDP naplók tanulmányozására mind a Windows Server 2008 R2, 2012 / R2, 2016, mind a Windows megfelelő asztali verzióin (Windows 7, 8.1, 10)..

Más eseményekhez hasonlóan az RDP kapcsolati naplókat a Windows is az eseménynaplókban tárolja. Nyissa meg az Event Viewer konzolt. Számos különféle folyóiratban talál információkat az RDP kapcsolatokról..

A Windows naplók sok információt tartalmaznak, de a megfelelő esemény gyors megtalálása meglehetősen nehéz lehet. Amikor a felhasználó távolról csatlakozik egy RDS szerverhez vagy a Remote Desktop (RDP) szolgáltatáshoz, sok esemény generálódik a Windows naplókban. Megvizsgáljuk a naplókat és az eseményeket az RDP kapcsolat fő szakaszaiban, amelyek érdeklődhetnek az adminisztrátor számára:

  1. Hálózati kapcsolat
  2. hitelesítés
  3. Logon
  4. Szekció leválasztása / újracsatlakozás
  5. Kijelentkezés

Hálózati kapcsolat: - hálózati kapcsolat létrehozása a kiszolgálóval az RDP kliens felhasználótól. Esemény az EventID segítségével - 1149 (Távoli asztali szolgáltatások: A felhasználói hitelesítés sikeres). Az esemény jelenléte nem jelzi a sikeres felhasználói hitelesítést. Ez a napló az Alkalmazások és szolgáltatások naplói -> Microsoft -> Windows -> szakaszban található Terminal-Services RemoteConnectionManager -> Működési. Kapcsolja be az esemény szűrőjét (RMB a naplóban -> Aktuális napló szűrése -> EventId 1149).

Ennek eredményeként kap egy listát a kiszolgálóhoz tartozó összes hálózati RDP-kapcsolat előzményeiről. Mint láthatja, a naplók jelzik a felhasználónevet, a tartományt (NLA hitelesítést használnak, ha az NLA le van tiltva, az esemény szövege másképp néz ki) és annak a számítógépnek az IP címét, ahonnan az RDP kapcsolat létrejön.

Azonosítás: - a felhasználó sikeres vagy sikertelen hitelesítése a szerveren. Windows Journal -> Biztonság. Ennek megfelelően érdeklődhetnek az EventID események - 4624 (sikeres hitelesítés - A fiók sikeresen bejelentkezett) vagy 4625 (hitelesítési hiba - A fiók nem jelentkezett be). Vegye figyelembe a LogonType értéket az eseményben. Amikor bejelentkezik az RDP szolgáltatáson keresztül - LogonType = 10 vagy 3. ha LogonType = 7, majd újra csatlakozik egy meglévő RDP munkamenethez.

Hitelesítési hibákkal rendelkező eseményeket használhat az RDP távoli jelszavak kitalálásának megakadályozására. Automatikusan blokkolhatja az ilyen IP-címeket a tűzfalon egy egyszerű PowerShell-parancsfájl segítségével (lásd a cikket).

A felhasználónevet az esemény leírása tartalmazza a mezőben Fiók neve, számítógép neve Munkaállomás neve, és felhasználónév Forráshálózati cím.

Ügyeljen a mező értékére. TargetLogonID - ez egy egyedi azonosító a felhasználói munkamenethez, amellyel nyomon tudja követni a felhasználó további tevékenységeit. Amikor azonban lekapcsolódik az RDP-szekciótól (leválasztja) és újra kapcsolódik a szekcióhoz, a felhasználó új TargetLogonID-t kap (bár az RDP-munkamenet ugyanaz marad).

Ezzel a PowerShell-paranccsal megkaphatja a sikeres RDP-engedélyezési események listáját (4624-es esemény).

Get-EventLog biztonság-után (Get-date -óra 0 -perc 0 -perc 0) | ? $ _. eventid -eq 4624 -és $ _. Üzenet -match 'bejelentkezési típus: \ s + (10) \ s' | Out-GridView

Jel: - RDP bejelentkezés, egy esemény, amely sikeres felhasználói hitelesítés után következik be. Esemény az EventID segítségével - 21 (Távoli asztali szolgáltatások: A munkamenet bejelentkezés sikeres). Ez a napló az Alkalmazások és szolgáltatások naplói -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Működési szakaszban található. Amint itt láthatja, megtalálja a felhasználó RDP munkamenet-azonosítóját - Session ID.

Esemény az EventID segítségével - 21 (Távoli asztali szolgáltatások: A rendszerhéj indulásáról szóló értesítés érkezett): az Explorer shell sikeres elindítását jelenti (az asztali ablak megjelenése az RDP munkamenetben).

Szekció leválasztása / újracsatlakozás - az események leválasztása / újracsatlakoztatása a munkamenethez eltérő kódokkal rendelkezik, attól függően, hogy mi okozta a felhasználó bontását (inaktivitás miatt válassza ki a szétkapcsolás elemet a munkamenetben, az RDP-szekció lezárása egy másik felhasználó vagy rendszergazda által, stb.). Ezek az események az Alkalmazások és szolgáltatások naplói -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Működési naplók szakaszban találhatók. Vegyük fontolóra az érdekelt RDP eseményeket:

  • EventID - 24 (Távoli asztali szolgáltatások: a munkamenet le lett szakítva) - a felhasználó leválasztva az RDP munkamenetről.
  • EventID - 25 (Távoli asztali szolgáltatások: A munkamenet újracsatlakozás sikeres) - a felhasználó újra kapcsolódott a meglévő RDP munkamenethez a szerveren.
  • EventID - 39 (a munkamenetet a munkamenet lekapcsolta ) - a felhasználó a megfelelő menüpont kiválasztásával leválasztotta az RDP-munkamenetet (és nemcsak az RDP-kliens ablakot bezárta). Ha a munkamenet azonosítói eltérnek, akkor a felhasználót egy másik felhasználó (vagy rendszergazda) leválasztotta.
  • EventID - 40 (a munkamenet le lett szakítva, ok kód ). Itt kell megnéznie a kódot az esetleges szétkapcsolás okához. Például:
    • ok kódja 0 (További információk nem állnak rendelkezésre) - általában azt jelenti, hogy a felhasználó egyszerűen bezárta az ügyfél RDP ablakot.
    • ok kódja 5 (Az ügyfél kapcsolatát egy másik kapcsolat váltotta fel) - a felhasználó újracsatlakozott a régi munkamenethez.
    • ok kód 11 (A felhasználói tevékenység kezdeményezte a leválasztást) - a felhasználó maga kattintott a menüben a Leválasztás gombra.

Esemény az EventID segítségével - 4778 a Windows naplóban -> Biztonság (egy munkamenetet újra csatlakoztattak egy Window Stationhez). A felhasználó újracsatlakozott az RDP-munkamenethez (a felhasználó új LogonID-t kap).

Esemény az EventID segítségével 4799 a Windows naplóban -> Biztonság (egy munkamenetet leválasztottak a Window Station-ről). Csatlakozzon az RDP munkamenethez.

logoff: - felhasználói kijelentkezés. Ugyanakkor az EventID eseményt rögzítik az Alkalmazások és szolgáltatások naplókban -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Műveleti napló 23 (Távoli asztali szolgáltatások: A munkamenet kijelentése sikeres volt).

Ugyanakkor a biztonsági naplóban figyelnie kell az EventID eseményt 4634 (Egy fiókot kijelentkeztek).

rendezvény rendezvény 9009 (A Desktop Window Manager kilépett a () kóddal a Rendszernaplóban azt mondja, hogy a felhasználó kezdeményezte az RDP munkamenet végét, és a felhasználó ablaka és grafikus héja elkészült.

Az alábbiakban egy kis PowerShell található, amely a terminál RDS szerver naplóiból letölti az összes aktuális napi RDP kapcsolat előzményeit. A kapott táblázat a csatlakozási időt, az ügyfél IP-címét és a felhasználói RDP-nevet mutatja (ha szükséges, más típusú bemeneteket is felvehet a jelentésbe).

Get-EventLog -LogName Security-utána (Get-date-óra 0 - perc 0 - másodperc 0) | ? (4624,4778) tartalmaz $ _. EventID és $ $. Üzenet -match 'bejelentkezési típus: \ s + (10) \ s' | %
(új objektum -Típusú PSObject -Property @
TimeGenerated = $ _. TimeGenerated
ClientIP = $ _. Message-csere '(? Smi). * Forráshálózati cím: \ s + ([^ \ s] +) \ s +. *', '$ 1'
Felhasználónév = $ _. Üzenet-csere '(? Smi). * Fiók neve: \ s + ([^ \ s] +) \ s +. *', '$ 1'
UserDomain = $ _. Üzenet-csere '(? Smi). * Fiók domain: \ s + ([^ \ s] +) \ s +. *', '$ 1'
LogonType = $ _. Üzenet-csere '(? Smi). * Bejelentkezés típusa: \ s + ([^ \ s] +) \ s +. *', '$ 1'
)
| sort TimeGenerated-csökkenő | Válassza a TimeGenerated, ClientIP ”lehetőséget
, @ N = 'Felhasználónév'; E = '0 \ 1' -f $ _. UserDomain, $ _. UserName '
, @ N = 'LogType'; E =
kapcsoló ($ _. LogonType)
2 'Interaktív - helyi bejelentkezés'
3 'Hálózati kapcsolat megosztott mappába)'
4 'Batch'
5 'Szolgáltatás'
7 'Feloldás (képernyővédő után)'
8 'NetworkCleartext'
9 'NewCredentials (helyi megszemélyesítési eljárás a meglévő kapcsolat alatt)'
10 RDP '
11 'CachedInteractive'
alapértelmezett "A LogType nem ismeri fel: $ ($ _. LogonType)"

Időnként ez kényelmes az Excel táblázat naplóival, ebben az esetben bármilyen Windows naplót le lehet tölteni egy szöveges fájlba, és importálni az Excelbe. A naplót exportálhatja az Event Viewer konzolból (természetesen, feltéve, hogy a naplók nem törlődnek) vagy a parancssorból:

WEVTUtil lekérdezésesemények Biztonság> c: \ ps \ security_log.txt

Vagy így:

get-winevent -logname "Microsoft-Windows-TerminalServices-LocalSessionManager / Operational" | Exportálás - Csv c: \ ps \ rdp-log.txt - Az UTF8 kódolása

A kiszolgálón aktuális RDP munkamenetek listája a következő paranccsal jeleníthető meg:

Qwinsta

A parancs visszaadja mind a munkamenet azonosítót (ID), a felhasználónevet (USERNAME) és az állapotot (aktív / leválasztás). Ez a parancs kényelmesen használható, amikor meg kell határoznia egy árnyékkapcsolatú felhasználói munkamenet RDP azonosítóját..

Egy adott RDP-munkamenet futó folyamatainak listája (a munkamenet azonosítója feltüntetve):

qprocess / id: 157

Az RDP kliensen a naplók nem annyira informatívak, főleg az, hogy a rendszerleíró adatbázisban gyakran használják az RDP kapcsolatok történetével kapcsolatos információkat.