
Mindazoknak, akik próbáltak virtuális gépet indítani a felhőben, jól tudják, hogy a szabványos RDP port, ha nyitva hagyják, szinte azonnal támadás alá kerül a világ minden tájáról érkező jelszószórásos kísérletek által.
Ebben a cikkben megmutatom, hogyan lehet automatikus reakciót beállítani a jelszószórásra, új tűzfalszabály hozzáadásával. InTrust egy a strukturálatlan adatok gyűjtésére, elemzésére és tárolására, amely már több száz előre beállított reakciót tartalmaz különböző támadástípusokra.
A Quest InTrust lehetővé teszi válaszintézkedések beállítását, amikor a szabály aktiválódik. Az InTrust naplógyűjtő ügynöke értesítést kap a sikertelen bejelentkezési kísérletekről a munkaállomáson vagy a szerveren. Az új IP-címek tűzfalszabályhoz való hozzáadásához másolja a meglévő, több sikertelen bejelentkezést és nyissa meg a másolatot szerkesztésre:

A Windows naplók eseményei a úgynevezett InsertionString-et használják. (ez egy sikertelen bejelentkezés a rendszerbe) és láthatja, hogy minket érdeklő mezők az InsertionString14 (Munkaállomás neve) és az InsertionString20 (Forrás hálózati cím) mezőkben találhatók; internetes támadás esetén a Munkaállomás neve mező valószínűleg üres lesz, ezért fontos, hogy a Forrás hálózati cím értékét illessze be erre a helyre.
Így néz ki a 4625-ös esemény szövege
A bejelentkezés sikertelen volt.
Tárgy:
Biztonsági azonosító: S-1-5-21-1135140816-2109348461-2107143693-500
Fiók neve: ALebovsky
Fiók tartomány: LOGISTICS
Bejelentkezési azonosító: 0x2a88a
Bejelentkezési típus: 2
Fiók, amelynek bejelentkezése sikertelen volt:
Biztonsági azonosító: S-1-0-0
Fiók neve: Paul
Fiók tartomány: LOGISTICS
Sikertelen információ:
Sikertelenség oka: A fiók zárolva van.
Állapot: 0xc0000234
Alállapot: 0x0
Folyamat információ:
Következő folyamat azonosító: 0x3f8
Következő folyamat neve: C:WindowsSystem32svchost.exe
Hálózati információ:
Munkaállomás neve: DCC1
Forrás hálózati cím: ::1
Forrás port: 0
Részletes hitelesítési információ:
Bejelentkezési folyamat: seclogo
Hitelesítési csomag: Negotiate
Átmeneti szolgáltatások: -
Csomagneve (csak az NTLM esetében): -
Kulcshossz: 0
Ez az esemény akkor keletkezik, amikor egy bejelentkezési kérés sikertelen. Az számítógépen generálódik, ahol a hozzáférést megkísérelték.
A Tárgy mezők azt jelzik, hogy a lokális rendszeren melyik fiók kérte a bejelentkezést. Ez leggyakrabban egy szolgáltatás, mint például a Server szolgáltatás, vagy egy lokális folyamat, mint a Winlogon.exe vagy Services.exe.
A Bejelentkezési típus mező jelzi a kérés típusát. A leggyakoribb típusok a 2 (interaktív) és 3 (hálózati).
A Folyamat információ mezők jelzik, hogy melyik fiók és folyamat kérte a bejelentkezést a rendszeren.
A Hálózati információ mezők jelzik, honnan származik a távoli bejelentkezési kérés. A munkaállomás neve nem minden esetben elérhető, és bizonyos esetekben üresen maradhat.
A hitelesítési információ mezők részletes információkat nyújtanak erről a konkrét bejelentkezési kérésről.
- Az átmeneti szolgáltatások jelzik, mely közvetítő szolgáltatások vettek részt a bejelentkezési kérésben.
- A csomagneve jelzi, hogy az NTLM protokollok közül melyik alprotokollt használták.
- A kulcshossz jelzi a bejegyzett munkamenetkulcs hosszát. Ez 0 lesz, ha nem kértek munkamenetkulcsot.
Emellett hozzáadjuk a Source Network Address értéket az eseményt szöveghez.

Ezután szükséges egy scriptet hozzáadni, amely blokkolja az IP-címet a Windows tűzfalban. Az alábbiakban egy példa, amelyet erre használhatunk.
Tűzfal beállító script
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]
$SourceAddress
)
$SourceAddress = $SourceAddress.Trim()
$ErrorActionPreference = 'Stop'
$ruleName = 'Quest-InTrust-Block-Failed-Logons'
$ruleDisplayName = 'Quest InTrust: Blokkolja az IP-címeket a sikertelen bejelentkezésektől'
function Get-BlockedIps {
(Get-NetFirewallRule -Name $ruleName -ErrorAction SilentlyContinue | get-netfirewalladdressfilter).RemoteAddress
}
$blockedIps = Get-BlockedIps
$allIps = [array]$SourceAddress + [array]$blockedIps | Select-Object -Unique | Sort-Object
if (Get-NetFirewallRule -Name $ruleName -ErrorAction SilentlyContinue) {
Set-NetFirewallRule -Name $ruleName -RemoteAddress $allIps
} else {
New-NetFirewallRule -Name $ruleName -DisplayName $ruleDisplayName -Direction Inbound -Action Block -RemoteAddress $allIps
}
Most megváltoztathatja a szabály nevét és leírását, hogy később ne legyen zavar.

Ezután hozzá kell adni ezt a scriptet válaszként a szabályhoz, aktiválni a szabályt, és biztosítani kell, hogy a megfelelő szabály aktiválva legyen a valós idejű megfigyelési politikában. Az ügynöknek engedélyeznie kell a válaszként futó szkriptek futtatását, és meg kell adnia a megfelelő paramétert.

A beállítások után a sikertelen bejelentkezések száma 80%-kal csökkent. Haszon? Még mennyire!

Néha egy kis növekedés ismét megjelenik, de ez új támadási források megjelenésének köszönhető. Aztán minden ismét csökken.
Egy hét alatt 66 IP-cím került a tűzfal szabályába.

Az alábbi táblázatban 10 gyakori felhasználónév látható, amelyeket a bejelentkezési kísérletekhez használtak.
Felhasználónév
Mennyiség
Százalékban
administrator
1220235
40.78
admin
672109
22.46
user
219870
7.35
contoso
126088
4.21
contoso.com
73048
2.44
administrador
55319
1.85
server
39403
1.32
sgazlabdc01.contoso.com
32177
1.08
administrateur
32377
1.08
sgazlabdc01
31259
1.04
Ossza meg a megjegyzésekben, hogyan építették fel a kibervédelmi reagálást. Milyen rendszert használnak, mennyire kényelmes.
Ha érdekli, hogy hogyan működik az InTrust, töltse ki a visszajelző űrlapot a weboldalunkon, vagy írjon nekem privát üzenetet.
Olvassa el a téma biztonságtudománnyal kapcsolatos egyéb cikkeinket:
(népszerű cikk)
Forrás: habr.com
