Cum să configurați jurnalele Windows Firewall și să analizați jurnalele

Dacă bănuiți că firewall-ul Windows Defender încorporat blochează conexiunile la rețea (de la un anumit program sau serviciu), este o idee proastă să-l dezactivați complet. În schimb, puteți înregistra tot traficul de rețea care trece prin paravanul de protecție Windows Defender, puteți identifica pachetele filtrate/eliminate, puteți găsi porturi și adrese IP sursă/destinație și apoi creați regulile de autorizare adecvate.

În acest articol, vom arăta cum să activați înregistrarea conexiunii de rețea în Windows Firewall și cum să analizați jurnalele.

Continut:

Activați înregistrarea în paravanul de protecție Windows

Windows Defender Firewall permite înregistrarea atât a conexiunilor reușite, cât și a celor blocate. Înregistrarea poate fi activată separat pentru fiecare profil de rețea (Private,Public, sauDomain Network). În mod implicit, înregistrarea traficului este dezactivată în paravanul de protecție Windows. Pentru a activa depanarea traficului în firewall:

  1. Deschideți snap-in-ulWindows Firewall cu Advanced Security MMC(wf.msc).
  2. Faceți clic dreapta pe rădăcina consolei și selectațiProprietăți;
  3. Apoi accesați fila profilului de rețea Windows pentru care doriți să activați înregistrarea (Domeniu,Privat, sauProfil public). Pentru a verifica profilul de rețea atribuit unei interfețe de rețea active în Windows, utilizați comanda:
    Get-NetConnectionProfile
  4. În fila Profil, faceți clic pePersonalizațibutonul dinÎnregistraresecțiune.
  5. Aici puteți configura următoarele setări:
    Nume(fișier jurnal): implicit%systemroot%system32LogFilesFirewallpfirewall.log
    Limită de dimensiune: creșteți dimensiunea maximă a jurnalului de la 4 MB la 20 MB (20480KB)
    Înregistrați pachetele abandonate: este necesar să înregistrați conexiunile de pachete abandonate?
    Înregistrați conexiunile reușite: înregistrarea tuturor conexiunilor reușite la rețea poate duce la un fișier jurnal foarte mare.

Pentru a monitoriza și înțelege eficient ce profil de rețea (Domeniu, Privat sau Public) blochează sau permite anumite conexiuni de rețea, puteți configura Windows Firewall pentru a înregistra activitatea fiecărui profil într-un fișier jurnal separat. De exemplu:

  • %windir%system32logfilesfirewallpfirewall_domain.log
  • %windir%system32logfilesfirewallpfirewall_private.log
  • %windir%system32logfilesfirewallpfirewall_public.log

Opțiunile de înregistrare Windows Firewall pot fi configurate și prin PowerShell:

Set-NetFireWallProfile -Profile Public -LogBlocked True -LogMaxSize 20480 -LogFileName "%systemroot%system32LogFilesFirewallpfirewall.log" -Verbose

Listează setările curente de înregistrare a paravanului de protecție pentru toate profilurile:

Get-NetFirewallProfile| select Name, Enabled, Log*|ft

Opțiunile de înregistrare pot fi activate și în Windows Firewall prin GPO.

Analizarea jurnalelor Windows Firewall cu PowerShell

Toate conexiunile de rețea sunt acum înregistrate într-un fișier text simplu de către Paravanul de protecție Windows. Puteți deschide fișierul jurnal manual sau puteți utiliza PowerShell pentru a căuta anumite conexiuni în fișierul jurnal (echivalentul Windows al comenzilor grep și tail esteSelect-Stringcmdlet).

De exemplu, următoarea comandă afișează în timp real toate conexiunile de rețea filtrate (DROP) la portul TCP 445 (SMB):

Get-Content C:WindowsSystem32LogFilesFirewallpfirewall.log -wait | Select-String -pattern "DROP.*TCP.*445"

Se utilizează următorul format de fișier jurnal:

date time action protocol src-ip dst-ip src-port dst-port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path pid

Utilizați această funcție PowerShell, care afișează jurnalul într-un tabel grafic Out-GridView convenabil, pentru a analiza fișierele jurnal de firewall:

function Get-WindowsFirewallLog {
param(
[parameter(Position=0,Mandatory=$false)]
[ValidateScript({Test-Path $_})]
[string]$LogFilePath = "$env:SystemRootSystem32LogFilesFirewallpfirewall.log"
)
$headerFields = @("date","time", "action","protocol","src-ip","dst-ip","src-port","dst-port","size", "tcpflags","tcpsyn", "tcpack","tcpwin","icmptype","icmpcode", "info","path")
$firewallLogs = Get-Content $LogFilePath | ConvertFrom-Csv -Header $headerFields -Delimiter ' '
$firewallLogs | Out-GridView
}
Get-WindowsFirewallLog

Vizualizați jurnalele Windows Firewall în Vizualizatorul de evenimente

Uneori este mai convenabil să scrieți jurnalele de conexiune Windows Firewall în Vizualizatorul de evenimente, mai degrabă decât în ​​fișierele text. Acest lucru poate fi realizat prin activarea politicilor de audit în GPO local:

  1. Deschideți editorul GPO local (gpedit.msc)
  2. Accesați Configurarea computerului -> Setări Windows -> Setări de securitate -> Configurare politică de audit avansată -> Politici de audit de sistem - Obiect de politică de grup local -> Acces obiect
  3. Evenimentele de conexiune blocată pot fi trimise la Vizualizatorul de evenimente folosindAudit Filtering Platform Packet Droppolitica. ActivațiEșecopțiunea din setările politicii.
  4. Audit Filtering Platform Connectionparametru utilizat pentru a înregistra conexiunile reușite în Windows Firewall. Această politică de audit este rar utilizată, deoarece activarea acesteia poate duce la scrierea multor evenimente în jurnal (acest lucru necesită creșterea dimensiunii maxime a jurnalului de vizualizare a evenimentelor)
  5. Actualizați setările GPO pe computer:gpupdate /force

Această politică de audit poate fi activată cu comanda:

Auditpol /set /category:"System" /SubCategory:"Filtering Platform Packet Drop" /failure:enable

Vedeți setările curente ale politicii de audit Windows Firewall:

auditpol /get /subcategory:"Filtering Platform Packet Drop","Filtering Platform Connection"

Pentru a vizualiza evenimente Windows Firewall, deschideți Event Viewer (eventvwr.msc). Extindeți jurnalele Windows -> Securitate. Activați filtrul de evenimente pentruPlatformă de filtrare Packet Dropcategorie.

Toate conexiunile care sunt blocate de paravanul de protecție Windows vor fi disponibile în Vizualizatorul de evenimente. Aceste evenimente au EventID5152( Platforma de filtrare Windows a blocat un pachet ). Descrierea evenimentului include informații despre pachetul de rețea: numărul de protocol (TCP –6, UDP17, ICMP1), adresa IP și portul sursă/destinație, direcția (Inbound, Outbound), numele procesului (pentru conexiunile de ieșire).

Mai multe lecturi:Cum să analizați și să curățați magazinul de componente Windows (dosar WinSxS)

Utilizați cmdletul Get-WinEvent PowerShell pentru a căuta și a filtra evenimentele Windows Firewall în Vizualizatorul de evenimente. Următorul script PowerShell găsește toate încercările de conectare care sunt blocate de paravanul de protecție Windows pe portul 3388 și returnează un tabel cu ora și sursa conexiunii:

$destinationPort = "3388"
$filterXml = @"
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[(EventID=5152)]]
and
*[EventData[Data[@Name="DestPort"] and (Data="$destinationPort")]]
</Select>
</Query>
</QueryList>
"@
$FirewallLogs = @()
$events=Get-WinEvent -FilterXml $filterXml
foreach ($event in $events) {
$eventXml = [xml]$event.ToXml()
$SourceAddress = $eventXml.Event.EventData.Data | Where-Object { $_.Name -eq 'SourceAddress' } | Select-Object -ExpandProperty '#text'
$DestPort = $eventXml.Event.EventData.Data | Where-Object { $_.Name -eq 'DestPort' } | Select-Object -ExpandProperty '#text'
$FirewallLog = New-Object PSObject -Property @{
SourceAddress= $SourceAddress
Time=$event.TimeCreated
DestPort=$DestPort
}
$FirewallLogs += $FirewallLog
}
$FirewallLogs

Activarea înregistrării firewall vă permite să inspectați toate conexiunile de rețea permise și abandonate, ajutând la identificarea erorilor din regulile Windows Firewall și la crearea unora precise.

Related Posts