Good bye netsh – cz.4 NetSecurity

W kolejnej odsłonie postaram się zaprezentować kolejny moduł pozwalający zastąpić część operacji wykonywanych dotychczas narzędziem Network Shell (netsh). Mianowicie tym razem pobawimy się konfiguracją zapory sieciowej, czyli modułem PowerShell’a NetSecurity.

Podstawowymi cmdletami od których powinniśmy zacząć „zabawę” z modułem są Get-NetFirewallProfile oraz analogicznie Set-NetFirewallProfile:

Get-NetFirewallProfile

czyli wylistowanie konfiguracji odnośnie profili zapory sieciowej, oraz na przykład:

Set-NetfirewallProfile –Profile Domain –AllowLocalIPsecRules True

czyli dla profilu domenowego zezwalaj na wykorzystywanie lokalnych zasad IPsec.

Oczywiście dostępnych parametrów do konfiguracji jest o wiele więcej, a możemy je sprawdzić choćby tak:

Get-NetFirewallProfile –Profile Domain

Z przydatniejszych elementów zarządzania profilami wspomnę jeszcze tylko o możliwości włączania/wyłączania poszczególnych profili. Nie zalecam tego, ale czasem taka możliwość przydaje się podczas diagnostyki niektórych problemów.

Set-NetfirewallProfile –Profile Domain -Enabled False

Dla zasady by porównać, kilka przykładów z netsh:

netsh advfirewall show allprofiles
netsh advfirewall set domainprofile state off

Nie samymi profilami firewall żyje, więc przejdźmy dalej. Firewall w celu skonfigurowania najczęściej wykorzystywanych reguł, pozwala na wykorzystanie podstawowych – nazwijmy je „szablonów zasad”, które po prostu możemy włączać i wyłączać. Przez co nie musimy za każdym razem żmudnie podawać dziesiątek parametrów by skonfigurować dostęp do konkretnej usługi.

W celu przejrzenia tych domyślnych zasad możemy wykorzystać kolejny cmdlet.

Get-NetFirewallRule

Jednakże by na początku lepiej je przedstawić to najlepiej wybrać tylko odpowiednie atrybuty.

Get-NetFirewallRule | Select DisplayGroup, Enabled –unique

Oczywiście nie musimy bazować na atrybucie DisplayGroup, możemy również użyć bardziej szczegółowego wylistowania a mianowicie w oparciu o DisplayName.

A następnie w celu aktywowania odpowiedniej grupy reguł lub po prosu konkretnej reguły wybieramy analogiczny cmdlet

Enable-NetFirewallRule -DisplayGroup "Windows Remote Management"

lub w alternatywny sposób

Set-NetFirewallRule -DisplayGroup "Remote Desktop" -Enabled True

Dla wyłączenia reguł postępujemy podobnie.

Disable-NetFirewallRule -DisplayGroup "Windows Remote Management"
Set-NetFirewallRule -DisplayGroup "Remote Desktop " -Enabled False

Analogicznie dla netsh

netsh advfirewall firewall show rule name=all
netsh advfirewall firewall set rule group="windows remote management" new enable=yes

Sterowanie gotowymi szablonami reguł zapory sieciowej jest jedną z najczęściej wykorzystywanych form konfiguracji tej usługi. Jednakże dla bardziej zaawansowanych rozwiązań nie zawsze możemy znaleźć gotową regułę. Dlatego mamy tutaj możliwość tworzenia własnych reguł, ale chyba najlepiej przedstawić to na konkretnym przykładzie.

Wyobraźmy sobie sytuację, iż chcemy utworzyć własną regułę w celu otwarcia portu 80 dla protokołu TCP i to tylko w konkretnym kierunku. Nic trudnego, wybieramy odpowiedni cmdlet i podajemy konkretne wartości parametrów.

New-NetFirewallRule -Name "Allow TCP 80" -DisplayName "Allow TCP 80" -Direction Inbound -LocalPort 80 -Protocol TCP -Action Allow

I jak możemy zaobserwować została utworzona nowa reguła, którą możemy później zarządzać jak każdą inną predefiniowaną regułą.

Jak dla poprzednich przykładów, tak i tutaj przykład z wykorzystanie netsh.

netsh advfirewall firewall add rule name="Allow TCP 80" dir=in localport=80 protocol=TCP action=allow

Oczywiście, nie musimy tworzyć własnych reguł za każdym razem od początku. Możemy również skopiować najbardziej zbliżoną do naszych potrzeb regułę i dla wybranej kopii wprowadzać odpowiednie zmiany.

Copy-NetFirewallRule –Name "Allow TCP 80" –NewName "Copy TCP 80"

Źródła:
http://technet.microsoft.com/en-us/library/jj554906.aspx
http://technet.microsoft.com/en-us/library/cc771920(v=ws.10).aspx

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s