
Alla som har försökt starta en virtuell maskin i molnet vet vÀl att standardporten för RDP, om den lÀmnas öppen, nÀstan omedelbart kommer att attackeras av vÄgor av inloggningsförsök frÄn olika IP-adresser runt om i vÀrlden.
I den hÀr artikeln visar jag hur man i kan konfigurera en automatisk reaktion pÄ inloggningsförsök med hjÀlp av att lÀgga till en ny regel i brandvÀggen. InTrust Àr en för insamling, analys och lagring av ostrukturerade data, dÀr det redan finns hundratals förinstÀllda reaktioner pÄ olika typer av attacker.
I Quest InTrust kan man konfigurera ÄtgÀrder vid aktivering av en regel. FrÄn logginsamlingsagenten fÄr InTrust ett meddelande om ett misslyckat inloggningsförsök pÄ en arbetsstation eller server. För att lÀgga till nya IP-adresser i brandvÀggen mÄste du kopiera den befintliga specialregeln för att upptÀcka flera misslyckade inloggningsförsök och öppna kopian för redigering:

HÀndelser i Windows-loggar anvÀnder sÄ kallade InsertionString. (detta Àr ett misslyckat inloggningsförsök) och du kommer att se att de intressanta fÀlten lagras i InsertionString14 (Arbetsstationsnamn) och InsertionString20 (KÀllnÀtverksadress). Vid attacker frÄn internet kommer fÀltet för Arbetsstationsnamn troligtvis att vara tomt, sÄ det Àr viktigt att sÀtta in vÀrdet frÄn KÀllnÀtverksadress hÀr.
SÄ hÀr ser texten för hÀndelse 4625 ut
Ett konto kunde inte logga in.
Ămne:
SĂ€kerhets-ID: S-1-5-21-1135140816-2109348461-2107143693-500
Kontonamn: ALebovsky
KontodomÀn: LOGISTICS
Inloggnings-ID: 0x2a88a
Inloggningstyp: 2
Konto för vilket inloggning misslyckades:
SĂ€kerhets-ID: S-1-0-0
Kontonamn: Paul
KontodomÀn: LOGISTICS
Misslyckandeinformation:
MisslyckandeskÀl: Kontot Àr lÄst.
Status: 0xc0000234
Understatus: 0x0
Processinformation:
Anropande process-ID: 0x3f8
Anropande processnamn: C:WindowsSystem32svchost.exe
NĂ€tverksinformation:
Arbetsstationsnamn: DCC1
KÀllnÀtverksadress: ::1
KĂ€llport: 0
Detaljerad autentiseringsinformation:
Inloggningsprocess: seclogo
Autentiseringspaket: Negotiate
Ăverförda tjĂ€nster: -
Paketnamn (endast NTLM): -
NyckellÀngd: 0
Denna hÀndelse genereras nÀr en inloggningsbegÀran misslyckas. Den genereras pÄ datorn dÀr Ätkomst försökts.
ĂmnesfĂ€lten anger kontot pĂ„ det lokala systemet som begĂ€rde inloggningen. Detta Ă€r vanligtvis en tjĂ€nst, som Server-tjĂ€nsten, eller en lokal process som Winlogon.exe eller Services.exe.
InloggningstypfÀltet anger vilken typ av inloggning som begÀrdes. De vanligaste typerna Àr 2 (interaktiv) och 3 (nÀtverk).
ProcessinformationsfÀlten anger vilket konto och vilken process pÄ systemet som begÀrde inloggningen.
NÀtverksinformationsfÀlten anger varifrÄn en fjÀrrinloggningsbegÀran kom. Arbetsstationsnamn Àr inte alltid tillgÀngligt och kan lÀmnas tomt i vissa fall.
De autentiseringsinformationfÀlten ger detaljerad information om denna specifika inloggningsbegÀran.
- Ăverförda tjĂ€nster indikerar vilka mellanliggande tjĂ€nster som har deltagit i denna inloggningsbegĂ€ran.
- Paketnamn anger vilket underprotokoll som anvÀndes bland NTLM-protokollen.
- NyckellÀngd anger lÀngden pÄ den genererade sessionsnyckeln. Detta kommer att vara 0 om ingen sessionsnyckel begÀrdes.
Dessutom lÀgger vi till vÀrdet för Source Network Address i hÀndelsetexten.

Sedan behöver vi lÀgga till ett skript som blockerar IP-adressen i Windows-brandvÀggen. Nedan Àr ett exempel som kan anvÀndas för detta.
Skript för att konfigurera brandvÀggen
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]
$SourceAddress
)
$SourceAddress = $SourceAddress.Trim()
$ErrorActionPreference = 'Stop'
$ruleName = 'Quest-InTrust-Block-Failed-Logons'
$ruleDisplayName = 'Quest InTrust: Blockerar IP-adresser frÄn misslyckade inloggningar'
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
}
Nu kan vi Àndra regelnamn och dess beskrivning, sÄ att det inte blir förvirring senare.

Nu behöver vi lÀgga till detta skript som en ÄtgÀrd för regeln, aktivera regeln och se till att den relevanta regeln ingÄr i övervakningspolicyn för realtidslÀge. Agenten mÄste ha möjligheten att köra ÄtgÀrdsskript och den rÀtta parametern mÄste anges.

Efter genomförda instÀllningar har antalet misslyckade autentiseringar minskat med 80%. Vinst? Absolut!

Ibland sker en liten ökning igen, men det beror pÄ nya kÀllor till attacker. Sedan sjunker det tillbaka igen.
Under en veckas drift har 66 IP-adresser lagts till i brandvÀggsregeln.

Nedan finns en tabell med 10 vanliga anvÀndarnamn som anvÀndes vid inloggningsförsök.
AnvÀndarnamn
Antalet
I procent
administrator
1220235
40.78
admin
672109
22.46
anvÀndare
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
BerÀtta i kommentarerna hur ni hanterar hot mot informationssÀkerheten. Vilket system anvÀnder ni, hur praktiskt Àr det?
Om du Àr intresserad av att se InTrust i aktion, i kontaktformulÀret pÄ vÄr webbplats eller skriv till mig privat.
LÀs vÄra andra artiklar om informationssÀkerhet:
(populÀr artikel)
KĂ€lla: habr.com
