PowerShell ile Windows Güvenlik Duvarı Kuralları nasıl yönetilir


Windows Defender Güvenlik Duvarı tüm Windows bilgisayarlara önceden yüklenmiş olarak gelir. Belirli bir uygulamanın internete erişmesini engellemek gibi farklı amaçlarla Windows Güvenlik Duvarı'nda kurallar oluşturabilirsiniz. Bu makalede PowerShell ile Windows Güvenlik Duvarı Kurallarının nasıl yönetileceği gösterilmektedir.

PowerShell ile Windows Güvenlik Duvarı Kuralları nasıl yönetilir

Windows Güvenlik Duvarı Kurallarını Windows Defender Güvenlik Duvarı ve Gelişmiş Güvenlik kullanıcı arayüzü aracılığıyla kolayca yapılandırabilirsiniz. Denetim Masası aracılığıyla başlatabilirsiniz. Artık Windows Güvenlik Duvarı Kurallarını PowerShell ile de yönetebilirsiniz. Bu yazıda size bunu nasıl yapacağınızı göstereceğiz.

Windows Güvenlik Duvarı'ndaki kuralları PowerShell aracılığıyla yönetmek için NetSecurity modülünün bir parçası olan NetFirewallRule cmdlet'ini kullanmanız gerekir. Windows PowerShell'de aşağıdaki komutu yürüterek tüm NetSecurity cmdlet'lerini görüntüleyebilirsiniz:

Get-Command -Module NetSecurity

Windows PowerShell aşağıdaki üç tür profile sahiptir:

  • Etki Alanı Profili
  • Özel Profil
  • Halka açık profil

Varsayılan olarak Windows Güvenlik Duvarı bu üç profilin tümü için AÇIK kalır. Bunu, Denetim Masası aracılığıyla Gelişmiş Güvenlik Özellikli Windows Defender Güvenlik Duvarı kullanıcı arayüzünü açarak veya Çalıştır komut kutusunda aşağıdaki komutu kullanarak görüntüleyebilirsiniz:

wf.msc

Windows PowerShell'i yönetici olarak başlatmanız gerektiğini unutmayın, aksi takdirde komutlar yürütülmeyecek ve PowerShell'de bir hata alacaksınız.

Belirli bir Windows Güvenlik Duvarı Profilinin ayarlarını görüntülemek istiyorsanız aşağıdaki komutu kullanın:

Get-NetFirewallProfile -Name <name of the profile>

Yukarıdaki komutta profilin adını doğru girin. Örneğin, Windows Defender Güvenlik Duvarı'ndaki Etki Alanı profilinin ayarlarını görüntülemek istiyorsanız komut şöyle olacaktır:

Get-NetFirewallProfile -Name Domain

PowerShell'i kullanarak Windows Güvenlik Duvarı'nı etkinleştirme veya devre dışı bırakma

PowerShell kullanarak Windows Güvenlik Duvarı'nın nasıl etkinleştirileceğini veya devre dışı bırakılacağını görelim. Windows Güvenlik Duvarı'nı tüm profiller için devre dışı bırakmak istiyorsanız aşağıdaki komutu kullanın:

Set-NetFirewallProfile -All -Enabled False

Belirli bir profil için Windows Güvenlik Duvarı'nı etkinleştirmek veya devre dışı bırakmak istiyorsanız yukarıdaki komutta Tümü'nü o profil adıyla değiştirmeniz gerekir.

Örneğin, Genel Profil için Pencere Güvenlik Duvarını devre dışı bırakmak istiyorsanız komut şöyle olacaktır:

Set-NetFirewallProfile -Profile Public -Enabled False

Aşağıdaki komutu kullanarak Windows Güvenlik Duvarı Profillerinin durumunu kontrol edebilirsiniz:

Get-NetFirewallProfile | Format-Table Name, Enabled

Yukarıdaki ekran görüntüsünde görebileceğiniz gibi PowerShell, Windows Güvenlik Duvarı Genel Profilinin durumunu Yanlış olarak gösteriyor; bu, Windows Güvenlik Duvarının o profil için devre dışı bırakıldığı anlamına gelir.

Aynısını Gelişmiş Güvenlik Kullanıcı Arayüzlü Windows Defender Güvenlik Duvarı'nda da kontrol edebilirsiniz. Devre dışı bırakılan profili etkinleştirmek istiyorsanız Yanlış yerine Doğru'yu kullanmanız gerekir. Örneğin, burada Windows Güvenlik Duvarı'ndaki Genel Profili devre dışı bıraktık. Şimdi, yeniden etkinleştirmek için komut şudur:

Set-NetFirewallProfile -Profile Public -Enabled True

Tüm Windows Defender profillerini devre dışı bıraktıysanız ve hepsini yeniden etkinleştirmek istiyorsanız aşağıdaki komutu kullanın:

Set-NetFirewallProfile -All -Enabled True

PowerShell ile Windows Güvenlik Duvarı Kuralları oluşturun ve yönetin

Şimdi PowerShell ile Windows Güvenlik Duvarı Kurallarını nasıl oluşturacağımızı ve yöneteceğimizi görelim. Üçüncü taraf bir virüsten koruma yazılımı kullanıyorsanız ve Güvenlik Duvarınız bu virüsten koruma yazılımı tarafından yönetiliyorsa PowerShell komutları çalışmaz. Başarılı bir şekilde kurallar oluşturabileceksiniz ancak Güvenlik Duvarınız üçüncü taraf bir antivirüs tarafından yönetiliyorsa bu kurallar çalışmayacaktır.

Yeni bir Windows Güvenlik Duvarı Kuralı oluşturmak istiyorsanız aşağıdaki cmdlet'i kullanmanız gerekir:

New-NetFirewallRule

Diyelim ki WiFi profilinizde bir programın internete erişimini engellemek istiyorsunuz; aşağıdaki komutu kullanın:

New-NetFirewallRule -Program “program path” -Action Block -Profile <profile name> -DisplayName “write display name here” -Description “write description here” -Direction Outbound

Yukarıdaki komut, Windows Defender Güvenlik Duvarı'nda gerekli program için bir giden kuralı oluşturacaktır. Yukarıdaki komutta, program yolunu programın doğru yoluyla ve profil adını doğru Windows Güvenlik Duvarı profiliyle değiştirin. Görünen Ad, Güvenlik Duvarı kuralının adıdır ve Açıklama isteğe bağlıdır.

Örneğin, Özel profil için Chrome tarayıcıyı engellemek istiyorsanız komut şöyle olacaktır:

New-NetFirewallRule -Program “C:\Program Files\Google\Chrome\Application\chrome.exe” -Action Block -Profile Public -DisplayName “Block Chrome browser” -Description “Chrome browser blocked” -Direction Outbound

Güvenlik Duvarı kuralınıza açıklama eklemek istemiyorsanız yukarıdaki komuttan -Description “Chrome tarayıcısı engellendi” kısmını kaldırabilirsiniz. Yukarıdaki komut yalnızca Genel profil için çalışacaktır. Dolayısıyla ağ bağlantı profiliniz Herkese Açık değilse bu komut çalışmaz. WiFi bağlantınızın profilini Windows Ayarlarında görüntüleyebilirsiniz. Aşağıdaki adımlar bu konuda size yardımcı olacaktır:

  1. Windows 11/10 Ayarlarını açın.
  2. Ağ ve internet > Kablosuz'a gidin.
  3. İnternet bağlantınızı seçin.
  4. Ağ bağlantınızın Özellikler sekmesini genişletin.

Orada Ağ profili türünü göreceksiniz.

Bir programı engellemek istiyorsanız, örneğin tüm Ağ profilleri için Google Chrome deyin, tüm profil adlarını virgülle ayırarak yazın. Dolayısıyla komut şöyle olacaktır:

New-NetFirewallRule -Program “C:\Program Files\Google\Chrome\Application\chrome.exe” -Action Block -Profile Domain, Private, Public -DisplayName “Block Chrome browser” -Description “Chrome browser blocked” -Direction Outbound

Profil adlarını yukarıdaki komutta yazıldığı gibi tam olarak yazmanız gerektiğini unutmayın; yani Etki Alanı, Özel, Genel. Aksi halde hata alırsınız.

Benzer şekilde, belirli bir web sitesini engellemek için PowerShell'i kullanarak Windows Defender Güvenlik Duvarı'nda bir kural oluşturabilirsiniz. Ancak bunun için söz konusu web sitesinin IP adresini bilmeniz gerekir. Aşağıdaki komutu kullanarak bir web sitesinin IP adresini alabilirsiniz:

nslookup <website name>

Engellemek istediğiniz site birden fazla IP adresi gösteriyorsa bu IP adreslerinin tamamını yazmanız gerekmektedir. Tüm IP adreslerini virgülle ayırın.

Windows Defender Güvenlik Duvarı'nda bir web sitesini engellemek için kural oluşturmak için kullanılan komut:

New-NetFirewallRule -DisplayName "Block Website" -Description "Website Blocked" -Direction Outbound -LocalPort Any -Protocol Any -Action Block -RemoteAddress IP1, IP2

Yukarıdaki örnek, belirli bir web sitesinin IP adreslerinin virgüllerle nasıl ayrılacağını gösterir.

Oku: Windows'ta Güvenlik Duvarı üzerinden VPN'e nasıl izin verilir?

Windows PowerShell'i kullanarak Güvenlik Duvarı Kuralını etkinleştirme, devre dışı bırakma ve silme

Bir Güvenlik Duvarı Kuralını etkinleştirmek, devre dışı bırakmak veya silmek istiyorsanız PowerShell'de aşağıdaki cmdlet'leri kullanmanız gerekir:

Enable-NetFirewallRule
Disable-NetFirewallRule
Remove-NetFirewallRule

Yukarıdaki cmdlet'lerin her birinde Güvenlik Duvarı Kuralının doğru adını girmeniz gerekir. Diyelim ki Chrome'u Engelle adında bir Güvenlik Duvarı Kuralı oluşturdunuz ve şimdi bunu silmek istiyorsunuz. Ardından komut şöyle olacaktır:

Remove-NetFirewallRule -DisplayName 'Block Chrome'

PowerShell'de Windows Güvenlik Duvarı kurallarını nasıl görüntülerim?

Windows Güvenlik Duvarı'nda oluşturduğunuz Giden engelleme kurallarını görüntülemek istiyorsanız aşağıdaki komutu kullanmanız gerekir:

Get-NetFirewallRule -Action Block -Enabled True -Direction Outbound

Yukarıdaki komut yalnızca etkin Güvenlik Duvarı Kurallarını listeleyecektir. Devre dışı bırakılan Güvenlik Duvarı Kurallarını görüntülemek istiyorsanız yukarıdaki komutta Doğru'yu Yanlış ile değiştirin.

Bu kadar. Umarım bu yardımcı olur. Yinelenen Windows Güvenlik Duvarı kuralları nasıl kaldırılır

PowerSell'de Güvenlik Duvarı kurallarını nasıl ayarlarım?

Farklı NetFirewallRule cmdlet'lerini kullanarak PowerShell'de Güvenlik Duvarı Kurallarını ayarlayabilirsiniz. Örneğin, yeni bir Güvenlik Duvarı Kuralı oluşturmak istiyorsanız New-NetFirewallRule cmdlet'ini kullanmanız gerekir.

Sonraki okuma: Windows Güvenlik Duvarı ayarları nasıl varsayılanlara geri yüklenir veya sıfırlanır.

İlgili makaleler