Hoe u logboekregistratie van de Windows Firewall inschakelt en logboekgegevens interpreteert

Soms kan Windows Defender Firewall behoorlijk irritant zijn, omdat het netwerkverbindingen van bepaalde programma’s of services blokkeert. Maar het simpelweg uitschakelen is geen goed idee; dat maakt je systeem alleen maar kwetsbaarder. Een betere aanpak is om te loggen wat er doorheen gaat, te zien wat wordt geblokkeerd of toegestaan, en vervolgens de regels te verfijnen. Op deze manier krijg je een duidelijker beeld van wat er achter de schermen gebeurt en kun je nauwkeurige toegangsregels maken zonder de beveiliging in gevaar te brengen.

In deze handleiding leer je hoe je logboekregistratie inschakelt in Windows Firewall, de logboeken analyseert met PowerShell en ze bekijkt in Logboeken. Het is even wat werk, maar de moeite waard als je vreemde netwerkproblemen probeert op te lossen of wilt weten waarom een ​​bepaalde app geen verbinding maakt. Eenmaal ingesteld, zie je precies welk verkeer wordt geblokkeerd, wat is toegestaan ​​en waar de problemen zich bevinden. En het is best wel bevredigend om een ​​kijkje te nemen achter de schermen van de netwerkbeveiliging van Windows.

Hoe u logboekregistratie van de Windows Firewall kunt inschakelen en gebruiken

Schakel logboekregistratie in de Windows Firewall in.

Het inschakelen van logboekregistratie kan intimiderend lijken — waar vind ik die opties eigenlijk? Maar het valt reuze mee. Je moet de MMC van Windows Defender Firewall met Geavanceerde Beveiliging ( wf.msc) openen, want daar gebeurt het allemaal. Klik daar met de rechtermuisknop op het hoofdknooppunt en selecteer Eigenschappen. Hiermee open je de profielspecifieke instellingen voor domein-, privé- of openbare netwerken.

Als je niet zeker weet welk profiel van toepassing is op je huidige verbinding, open dan een opdrachtprompt of PowerShell-venster en voer het volgende commando uit: Get-NetConnectionProfile. Hiermee kom je te weten of je je in een privé-, openbaar- of domeinnetwerk bevindt. Dit is erg handig, omdat elk profiel zijn eigen regels kan hebben.

Ga nu naar het tabblad Eigenschappen van je netwerkprofiel en klik op de knop Aanpassen onder het gedeelte Logboekregistratie. Hier zie je opties om de locatie van het logbestand, de maximale bestandsgrootte en de inhoud van het logboek aan te passen.

  • Logbestand: standaard is dit %systemroot%\system32\LogFiles\Firewall\pfirewall.log. Als dit bestand ontbreekt of als u wilt dat verschillende profielen afzonderlijk loggen, kunt u de bestandsnaam wijzigen in bijvoorbeeld pfirewall_domain.log, pfirewall_private.log, of pfirewall_public.log.
  • Groottelimiet: verhoog deze van 4 MB naar minimaal 20 MB (stel in op 20480KB).Sommige logbestanden raken snel vol bij veel verkeer, en u wilt geen gegevens verliezen door te kleine logbestanden.
  • Geblokkeerde pakketten registreren: schakel dit in als u wilt zien wat de firewall blokkeert. Dit is vaak cruciale informatie bij het oplossen van problemen.
  • Succesvolle verbindingen loggen: optioneel, maar houd er rekening mee dat dit enorme logbestanden kan genereren als u het voor alles inschakelt. Goed voor diepgaande analyses, maar misschien overbodig voor snelle controles.

Het is aan te raden om logboekregistratie voor elk profiel afzonderlijk in te schakelen, zodat u kunt zien wat er gebeurt, afhankelijk van de netwerkcontext. Als een programma bijvoorbeeld wel werkt op uw privénetwerk, maar niet op het openbare netwerk, kunnen aparte logboeken u helpen het probleem effectiever te lokaliseren.

Als je dat prettiger vindt, kun je dit alles ook via PowerShell instellen, wat sneller is als je er eenmaal aan gewend bent. Probeer deze opdracht om logboekregistratie voor het openbare profiel in te stellen:

Set-NetFirewallProfile -Profile Public -LogBlocked True -LogMaxSize 20480 -LogFileName "%systemroot%\system32\LogFiles\Firewall\pfirewall.log" -Verbose

En om de huidige instellingen te controleren:

Get-NetFirewallProfile | Select-Object Name, Enabled, *Log*

Tip: De logboekregistratieopties van Windows Firewall kunnen ook via Groepsbeleid worden beheerd als u zich in een domein bevindt of meer gecentraliseerde controle wilt.

Firewalllogboeken analyseren met PowerShell

Nu de logboekregistratie is ingeschakeld, wilt u de ruwe gegevens waarschijnlijk analyseren. De logboeken zijn platte tekstbestanden, meestal behoorlijk groot, dus handmatig zoeken wordt al snel vervelend. Gelukkig kan PowerShell hierbij helpen.

Als je bijvoorbeeld op zoek bent naar specifieke geblokkeerde verbindingen, kun je dit commando gebruiken:

Get-Content C:\Windows\System32\LogFiles\Firewall\pfirewall.log -wait | Select-String -pattern "DROP.*TCP.*445"

Dit systeem streamt continu het logboek en filtert op vermeldingen waarbij verkeer is geblokkeerd op TCP-poort 445 (die SMB afhandelt – een veelvoorkomende oorzaak van problemen met netwerkdeling).Het is een handige manier om in realtime te zien wat de firewall blokkeert, zonder het logboek handmatig te hoeven openen.

Het logbestand heeft een indeling die er ongeveer zo uitziet:

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

Het is een warboel, maar als je het eenmaal door hebt, kun je scripts schrijven om relevante informatie eruit te filteren, zoals bron-IP-adressen of specifieke poorten.

Als je graag grote logbestanden analyseert, is hier een handige functie die de loggegevens in een overzichtelijke tabel weergeeft:

function Get-WindowsFirewallLog { param( [string] $LogFilePath = "$env:SystemRoot\System32\LogFiles\Firewall\pfirewall.log" ) $headerFields = @("date", "time", "action", "protocol", "src-ip", "dst-ip", "src-port", "dst-port", "size", "tcpflags", "tcpsyn", "tcpack", "tcpwin", "icmptype", "icmpcode", "info", "path") Get-Content $LogFilePath | ConvertFrom-Csv -Header $headerFields -Delimiter ' ' | Out-GridView } Get-WindowsFirewallLog

Als je dit uitvoert, verschijnt er een handig venster met de logboekvermeldingen, waardoor het gemakkelijker wordt om patronen of specifieke geblokkeerde verbindingen te herkennen.

Logboeken bekijken in de Logboekenweergave

Als het doorzoeken van tekstbestanden niet je ding is, kun je deze logboeken ook rechtstreeks naar Windows Gebeurtenisviewer sturen. Daarvoor moet je specifieke auditbeleidsregels inschakelen. Gelukkig zijn dat slechts een paar opdrachten als je de voorkeur geeft aan de opdrachtregel.

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

Hierdoor registreert Windows gebeurtenissen met betrekking tot geblokkeerde verbindingen (gebeurtenis-ID 5152) in het beveiligingslogboek. U kunt deze bekijken met behulp van Logboeken.

Om deze gebeurtenissen snel te filteren, kunt u PowerShell gebruiken:

 $destinationPort = "3388" $filterXml = @"      "@ Get-WinEvent -FilterXml $filterXml | Select-Object TimeCreated, @{Name="Source";Expression={( [xml]$_. ToXml() ).Event. EventData. Data | Where-Object { $_. Name -eq 'SourceAddress' } | Select-Object -ExpandProperty '#text'}} 

Dit filtert geblokkeerde verbindingspogingen naar een specifieke poort en toont een handige tabel met bronadressen en tijden. Een handige manier om bij te houden wat de firewall doet.

Het inschakelen en analyseren van firewall-logboeken lijkt misschien wat omslachtig, maar het is vaak de sleutel tot het oplossen van mysterieuze netwerkproblemen. Het helpt je precies te begrijpen wat wel en niet is toegestaan ​​– en waarom. Bovendien is het, eenmaal ingesteld, vooral een kwestie van monitoren en interpreteren, in plaats van gissen.