Ovaj članak pokriva osnove upravljanja postavkama i pravilima ugrađenog Windows vatrozida iz naredbenog retka PowerShell. Pogledat ćemo kako omogućiti / onemogućiti vatrozid za razne profile, kreirati i izbrisati pravila vatrozida i razmotriti malu skriptu koja vam omogućuje stvaranje zgodne tablice s trenutnim setom pravila aktivnog vatrozida..
sadržaj:
- Upravljanje mrežnim profilima Windows vatrozida iz PowerShell-a
- Stvaranje, uređivanje i brisanje pravila Windows zaštitnog zida iz PowerShell-a
- Spisak pravila Windows zaštitnog zida kroz PowerShell
Postavkama zaštitnog zida Windows možete upravljati s upravljačke ploče grafičke konzole -> Sustav i sigurnost -> Windows Defender vatrozid. No, počevši od Windows 8.1 (Windows Server 2012R2), ugrađeni PowerShell modul dodan je u sustav za kontrolu ugrađenog vatrozida NetSecurity.
Prije toga, naredba se koristila za upravljanje pravilima i postavkama Windows vatrozidanetsh vatrozid advfirewall
. U modulu NetSecurity u sustavu Windows 10 dostupno je 85 naredbi. Možete ih navesti:
Get-Command - modul mrežne sigurnosti
Upravljanje mrežnim profilima Windows vatrozida iz PowerShell-a
Postoje tri vrste mrežnih profila u Windows vatrozidu:
- Domena - odnosi se na računala uključena u domenu Active Directorya;
- Private (private) - kućne ili radne mreže;
- Javne - javne mreže.
Svaki se profil može razlikovati u nizu korištenih pravila vatrozida. Prema zadanim postavkama, sva mrežna sučelja računala zaštićena su vatrozidom i na njih se primjenjuju sve tri vrste profila..
Da biste omogućili sva tri mrežna profila Domena, javni i privatni, koristite naredbu:
Set-NetFirewallProfile -All -Enabled True
Ili odredite određeni profil umjesto Sve:
Set-NetFirewallProfile -Profil Public -Enabled True
Za onemogućavanje vatrozida za sva tri mrežna profila koristite naredbu:
Set-NetFirewallProfile -All -Enabled False
Koristeći cmdlet Set-NetFirewallProfile
možete promijeniti postavke profila (zadana radnja, prijava, put i veličina datoteke zapisnika, postavke upozorenja itd.).
Kao što vjerojatno znate, Windows firewall je prema zadanim postavkama uključen u moderne operativne sustave za sve profile. U postavkama profila dopuštene su sve odlazne veze, a dolazne veze su blokirane (osim onih koje su dopuštene).
Promijenite zadanu radnju za javni profil - blokirajte sve dolazne veze.
Set-NetFirewallProfile -Name Public -DefaultInboundAction Block
Trenutne postavke profila mogu se prikazati na sljedeći način:
Get-NetFirewallProfile -Name javno
Ako upravljate postavkama zaštitnog zida Windows putem GPO-a, možete prikazati trenutne rezultirajuće postavke profila na sljedeći način:
Get-NetFirewallProfile -policystore activestore
Provjerite da li se sve postavke vatrozida odnose na sva mrežna sučelja računala.
Get-NetFirewallProfile -Name Public | fl DisabledInterfaceAliases
Ako su sva sučelja zaštićena, naredba treba vratiti:
DisabledInterfaceAliases: NotConfigured
Možete isključiti određeni profil za sučelje (imena sučelja možete navesti pomoću cmdleta Get-NetIPInterface).
Set-NetFirewallProfile -Name Public -DisabledInterfaceAliases "Ethernet0"
Kao što vidite, javni se profil sada ne odnosi na Ethernet0:
DisabledInterfaceAliases: Ethernet0
Možete konfigurirati postavke za bilježenje mrežnih veza na razini svakog profila. Datoteke vatrozida sustava Windows po zadanom su pohranjene u direktoriju% systemroot% \ system32 \ LogFiles \ Firewall, veličina datoteke je 4 MB. Možete promijeniti kako biste omogućili evidentiranje veze i povećali maksimalnu veličinu datoteke:
Set-NetFireWallProfile -Profil Domena -LogBlocked True -LogMaxSize 20000 -LogFileName '% systemroot% \ system32 \ LogFiles \ Firewall \ pfirewall.log'
Stvaranje, uređivanje i brisanje pravila Windows zaštitnog zida iz PowerShell-a
Postoji 9 cmdleta za upravljanje pravilima vatrozida:
- Novo-NetFirewallRule
- Copy-NetFirewallRule
- Onemogući-NetFirewallRule
- Omogućiti-NetFirewallRule
- Get-NetFirewallRule
- Uklonite-NetFirewallRule
- Preimenuj-NetFirewallRule
- Set-NetFirewallRule
- Show-NetFirewallRule
Pogledajmo nekoliko jednostavnih primjera otvaranja portova u Windows vatrozidu.
Na primjer, ako želite dozvoliti dolazne TCP veze na portove 80 i 443 za domene i privatne profile, koristite ovu naredbu:
New-NetFirewallRule -DisplayName 'WEB-Inbound' -Profile @ ('Domena', 'Private') -Direction Inbound -Action Allow -Protocol TCP -LocalPort @ ('80', '443')
Možete dopustiti ili blokirati promet za određeni program. Na primjer, želite blokirati odlazne veze za FireFox:
New-NetFirewallRule -Program „C: \ programske datoteke (x86) \ Mozilla Firefox \ firefox.exe“ - blok djelovanja - domena profila, privatno - prikazivanje imena „Blokiraj Firefox“ - opis „blokiraj Firefox“ - izlazni izlaz
Dopusti dolaznu RDP vezu na priključku 3389 sa samo jednom IP adresom:
New-NetFirewallRule -DisplayName "AllowRDP" -RemoteAddress 192.168.1.55 -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow
Da biste omogućili ping za adrese iz navedene podmreže, koristite naredbe:
$ ips = @ ("192.168.1.50-192.168.1.60", "192.165.2.22-192.168.2.200", "10.10.0.0/16")
Novo-NetFirewallRule -DisplayName "Dopusti ulazni ICMPv4" -Dodlazni ulaz -Protocol ICMPv4 -IcmpType 8 -RemoteAddress $ ips -Action Allow
New-NetFirewallRule -DisplayName "Dopusti ulazni ICMPv6" -Dodlazni ulaz -Protocol ICMPv6 -IcmpType 8 -RemoteAddress $ ips -Action Allow
Za uređivanje postojećeg pravila vatrozida upotrijebite cmdlet Set-NetFirewallRule. Na primjer, želite dopustiti dolazne veze s određene IP adrese za prethodno stvoreno pravilo:
Get-NetFirewallrule -DisplayName 'WEB-ulazni' | Get-NetFirewallAddressFilter | Set-NetFirewallAddressFilter -RemoteAddress 192.168.1.20
Ako u pravilo vatrozida morate dodati nekoliko IP adresa, koristite sljedeću skriptu:
$ ips = @ ("192.168.1.50", "192.165.2.22", "192.168.1.20")
Get-NetFirewallrule -DisplayName 'WEB-ulazni' | Set-NetFirewallRule -RemoteAddress $ ips
Ispišite sve IP adrese sadržane u pravilu vatrozida:
Get-NetFirewallrule -DisplayName 'Dopusti ulazni ICMPv4' | Get-NetFirewallAddressFilter
Pravila vatrozida možete omogućiti / onemogućiti pomoću gumba Disable-NetFirewallRule i Enable-NetFirewallRule.
Disable-NetFirewallRule -DisplayName 'WEB-Inbound'
Da biste omogućili ICMP (ping), pokrenite naredbu:
Omogući-NetFirewallRule -Name FPS-ICMP4-ERQ-In
Za uklanjanje pravila vatrozida upotrijebite cmdlet Remove-NetFirewallRule..
Spisak pravila Windows zaštitnog zida kroz PowerShell
Popis aktivnih pravila za dolazni promet može se prikazati na sljedeći način:
Get-NetFirewallRule | gdje je ($ _. omogućen -eq $ True) -and ($ _. smjer -eq "ulazni") | ft
Ako je, na primjer, potrebno navesti pravila za blokiranje odlaznih pravila:
Get-NetFirewallRule - Blok djelovanja - Omogućeno istina - Izlazni izlaz
Ako želite prikazati naziv programa u pravilu:
Get-NetFirewallRule - Blok djelovanja - Omogućeno istina - Izlazni izlaz | % $ _. Ime; $ _ | Dobili-NetFirewallApplicationFilter
Kao što vidite, cmdlet Get-NetFirewallRule ne sadrži mrežne portove i IP adrese za pravila vatrozida. Za prikaz svih podataka o dozvoljenim dolaznim (odlaznim) vezama u prikladnijem obliku s prikazanim brojevima priključaka, koristite sljedeću skriptu:
Get-NetFirewallRule -Action Allow -Enabled True -Direction Inbound |
Format-tablica-Naziv svojstva,
@ Name = 'Protocol'; Izraz = ($ PSItem | Get-NetFirewallPortFilter) .Protocol,
@ Name = 'LocalPort'; Expression = ($ PSItem | Get-NetFirewallPortFilter) .LocalPort,
@ Name = 'RemotePort'; Expression = ($ PSItem | Get-NetFirewallPortFilter) .RemotePort,
@ Name = 'RemoteAddress'; Expression = ($ PSItem | Get-NetFirewallAddressFilter). Ukloni adresu,
Omogućeno, Profil, Smjer, Akcija
PowerShell pruža opsežno upravljanje naredbenim retkom pravila vatrozida za Windows. Skripte PowerShell možete automatski pokrenuti za otvaranje / zatvaranje portova kad se dogode određeni događaji. U sljedećem ćemo članku razmotriti jednostavan sustav zasnovan na PowerShellu i Windows vatrozidu za automatsko blokiranje IP adresa s kojih se daljinsko pogađanje lozinke putem RDP-a izvodi na Windows VDS poslužitelju.