Het beheer van Firewall Regels met PowerShell in Windows

Windows bevat een robuuste, eenvoudig te gebruiken, geavanceerde firewall, en met behulp van PowerShell 7 kunnen we gemakkelijk configureren van de firewall vanaf de opdrachtregel. Dit artikel heeft betrekking op algemene commando ‘ s gebruikt in de Windows-Firewall en waar ze kunnen worden gebruikt.

De module NetSecurity is goed gedocumenteerd. Houd er rekening mee dat dit artikel alleen geldt voor de Windows-besturingssysteem. Voor andere besturingssystemen zijn er andere commando-regel gereedschap dat kan worden gebruikt voor het doen van dezelfde soort functies zoals UFW of IPTables op Linux.

Het laden van de Module NetSecurity

De NetSecurity module built-in en aangeboden door Microsoft, bevat alle functionaliteit die nodig is voor het toevoegen, verwijderen en wijzigen van firewall regels. Om de module te laden, gewoon importeren van de module zoals hieronder weergegeven.

Import-Module -Naam ‘NetSecurity’

Lijst Van De Bestaande Firewall-Regels

De cmdlet Get-NetFirewallRule zal alle bestaande firewall-regels. Er zijn vele, standaard, dus om aan te tonen, hebben we de output van de eerste 10.

Get-NetFirewallRule | Select-Object DisplayName, Ingeschakeld, Richting, Actie -De Eerste 10

Er zijn vele eigenschappen die worden geretourneerd door Get-NetFirewallRule. Hoewel we een lijst met alleen een eigenschappen boven, draaien Krijgen-NetFirewallRule | Select-Object * -de Eerste 1, zal een lijst van alle beschikbare.

Een Nieuwe firewallregel maken

Er zijn veel verschillende manieren om een nieuwe firewallregel maken, maar de opdracht die dit doet is [Net-NewFirewallRule](<https://docs.microsoft.com/en-us/powershell/module/netsecurity/new-netfirewallrule?view=win10-ps>). De basis eigenschappen die ingevuld dienen te worden zijn:

  • Naam – de naam van De firewall-regel
  • Richting – Of om verkeer te blokkeren en het verlaten van de computer of Uitgaand die in de computer is Inkomende
  • Actie – actie te nemen als de regel is voldaan, Toestaan of Blokkeren

$Params = @{ “DisplayName” = ‘Block WINT’ “Richting” = ‘Inkomende’ “Action” = ‘Block’ “RemoteAddress” = ‘WINT’ }

Nieuw-NetFirewallRule @Params
Als de Naam van de parameter is niet gebruikt, dan is een willekeurige GUID wordt gebruikt. De Naam kan worden door mensen leesbare, maar de Naam zelf toegewezen aan een willekeurige GUID.

Wijzigen van een Bestaande Firewall-Regel

Wat als we het willen wijzigen van een bestaande regel zonder het te verwijderen en opnieuw maken in de regel geheel. Om dit te doen, moeten we uitvoeren het Set-NetFirewallRule, en zal ons toelaten om het wijzigen van de firewall-regel als het nodig is.

$Params = @{
“DisplayName” = ‘Block WINT’
“Action” = ‘Toestaan’
}

Set-NetFirewallRule @Params

Andere nuttige vaardigheden die de Set-NetFirewallRule heeft is de mogelijkheid om te werken op meerdere regels tegelijk. Dit kan gedaan worden door het plaatsen van regels door één van de drie parameters.

  • NameThis is de standaard en als de namen worden ingesteld via de pijpleiding of een string array, dan is ieder zal handelen.
  • DisplayNameSimilar Naam, meerdere pipeline objecten of een string array wijzigen van die regels aangepast.
  • DisplayGroup of GroupIf regels zijn gegroepeerd, al die regels gegroepeerd kan worden gehandeld in een keer.

Het verwijderen van een Bestaande Firewall-Regel

Tot slot willen we verwijderen de bestaande regel als het niet langer nodig is. Om dit te doen, voert u de opdracht Verwijderen-NetFirewallRule. Wanneer u dit doet, is het vaak verstandig om gebruik te maken van de WhatIf parameter om te controleren of de regel is de juiste te verwijderen.

Verwijderen-NetFirewallRule -DisplayName “Blok” WINT”

Het is belangrijk op te merken dat de Verwijderen-NetFirewallRule kan het verwijderen van meerdere regels tegelijk. Een voorbeeld van dit soort functionaliteit is hieronder. De onderstaande regel zal het verwijderen van alle uitgeschakelde regels die zijn opgenomen in het beleid firewall_gpo in het ad.lokale.test domein.

Verwijderen-NetFirewallRule -Enabled ‘False’ -PolicyStore ‘ad.lokale.test\firewall_gpo’

Een handig commando, maar potentieel gevaarlijk, waarop Verwijderen-NetFirewallFule door zelf verwijdert de statische lokale firewall regels die u hebt gemaakt. Als u een domein heeft GPO definieert firewall-regels, zal dit verwijderen die strijdig kunnen zijn met die GPO gedefinieerde regels.

Extra Functionaliteit

Er zijn vele andere commando ‘ s beschikbaar in de NetSecurity module. Hoewel we niet dekken ze allemaal hier een paar opvallende commando ‘ s worden hieronder weergegeven om aan te tonen hoe uitgebreid de module is.

  • Kopie-NetFirewallRuleThis opdracht voor het kopiëren van een bestaande firewall-regel en alle bijbehorende filters om hetzelfde of een ander beleid te slaan.
  • Uitschakelen-NetFirewallRuleThis zal uitschakelen van een eerder ingeschakelde firewall-regel. De regel zal bestaan nog steeds, maar niet actief wijzigen van het netwerk.Als u deze opdracht zonder parameters zal het uitschakelen van alle actieve regels op de doelcomputer. Het is aangeraden om altijd het uitvoeren van deze opdracht met de WhatIf parameter als niet gericht zijn op een specifieke regel of regels op.
  • Enable-NetFirewallRuleLike de Disable-NetFirewallRule, zal dit commando inschakelen van een eerder regel uitgeschakeld of set van regels.Als dit commando wordt uitgevoerd zonder parameters zal het in staat is alle eerder uitgeschakelde regels. Het is aangeraden om altijd het uitvoeren van deze opdracht met de WhatIf parameter als niet gericht zijn op een specifieke regel of regels op.
  • Get-NetFirewallProfileThis commando toont de momenteel geconfigureerde opties voor een opgegeven profiel, zoals het Domein, Privé-of Openbare profielen.
  • Get-NetFirewallSettingThe globale instellingen van de firewall kunnen worden opgevraagd met de Get-NetFirewallSetting opdracht. Deze instellingen zijn onder andere opties zoals certificaat opties, packet-queueing, of de machtiging lijsten.
  • Naam wijzigen-de NetFirewallRuleTo de naam van een bestaande firewall regels, het gebruik van de Naam-NetFirewallRule opdracht. Dit is handig als er een regel is gemaakt, zonder een bepaalde naam, waardoor het ontvangen van een willekeurige GUID zoals de naam, en het is een voorkeur om een leesbare naam toegewezen.
  • Set-NetFirewallProfileTo specifieke instellingen voor individuele profielen, gebruik dan de Set-NetFirewallProfile opdracht. Dit maakt elk profiel aan afzonderlijke instellingen.
  • Set-NetFirewallSettingThis commando configureert global firewall gedragingen die van toepassing, ongeacht het netwerk profiel momenteel in gebruik is.
  • Show-NetFirewallRuleThis helper commando toont de firewall-regels en de bijbehorende objecten in een opgemaakte lijst.

Er is een uitgebreide IPSec-functionaliteit die vervat zijn in de module. De commando ‘ s die hierboven vermeld staan zijn degenen die actief zijn op de standaard instellingen van Windows Firewall.

Conclusie

Er zijn vele beschikbare commando ‘ s voor het beheren van de Windows Firewall. Dit artikel is alleen raakt aan een paar van hen, met name de belangrijkste commando ‘ s om snel de lijst, maken, wijzigen en verwijderen van firewall regels. Zelfs complexe firewall configuraties kan worden bereikt door uitsluitend gebruik te maken van de opdrachtregel met de NetSecurity PowerShell module!


Posted

in

by

Tags: