PowerShell ile Windows Defender Güvenlik Duvarında Etki Alanı veya Web Sitesi Nasıl Engellenir?
Üçüncü taraf araçları kullanmadan Windows'ta belirli web sitelerine, alan adlarına, URL'lere veya IP adreslerine erişimi engellemenin bazı yollarını ele alalım. Bizim durumumuzda, yerleşik Windows 10 araçlarını ve PowerShell otomasyon özelliklerini kullanarak belirli web sitelerini engellemeye çalışacağız.
Ağ yönlendiricinizdeki (İnternete erişmek için kullandığınız anahtar veya Wi-Fi erişim noktası) veya üçüncü taraf yazılımları (içerik filtreleri, DNS filtreleri vb.) kullanarak web sitelerini engellemek genellikle daha kolaydır.
Windows'ta Hosts Dosyasını Kullanarak Web Sitelerini Engelleme
Windows'ta belirli bir web sitesini engellemenin en popüler yöntemi hosts dosyasını düzenlemektir. Genellikle %windir%\system32\drivers tc\ dizininde bulunur. Lütfen hosts dosyasının bir uzantısı olmadığını unutmayın.
hosts dosyasını içeren dizinin yolu, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters kayıt defteri anahtarının altındaki DataBasePath parametresinde ayarlanır. . Varsayılan olarak %SystemRoot%\System32\drivers tc şeklindedir.
Hosts dosyası, IP adresleri ve DNS adları arasında manuel olarak eşlemeler atamak için kullanılır. Adları çözümlerken ana bilgisayarlar, ağ bağlantısı ayarlarında belirtilen DNS sunucularından daha yüksek önceliğe sahiptir.
Belirli bir web sitesini (örneğin facebook.com) engellemek için, hosts dosyasını açın (yönetici ayrıcalıklarıyla) ve buna benzer dizeleri ekleyin:
127.0.0.1 facebook.com
127.0.0.1 www.facebook.comDosyayı kaydedin ve bilgisayarınızı yeniden başlatın (veya şu komutu kullanarak DNS önbelleğini temizleyin:
ipconfig /flushdns).
Bundan sonra facebook.com'u herhangi bir tarayıcıda açmaya çalıştığınızda “Sayfa bulunamadı”/“Sayfa mevcut değil” mesajını göreceksiniz.
Böyle bir .bat dosyası kullanarak hosts dosyanıza web sitesi URL'lerini içeren yeni satırlar ekleyebilirsiniz:
@echo off
set hostspath=%windir%\System32\drivers\etc\hosts
echo 127.0.0.1 www.facebook.com >> %hostspath%
echo 127.0.0.1 facebook.com >> %hostspath%
exitVeya hosts dosyanızdaki belirli web sitelerini otomatik olarak engellemek için aşağıdaki PowerShell işlevlerini kullanabilirsiniz.
Function BlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) {
$hosts = 'C:\Windows\System32\drivers\etc\hosts'
$is_blocked = Get-Content -Path $hosts |
Select-String -Pattern ([regex]::Escape($Url))
If(-not $is_blocked) {
$hoststr="127.0.0.1 ” + $Url
Add-Content -Path $hosts -Value $hoststr
}
}Function UnBlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) {
$hosts = 'C:\Windows\System32\drivers\etc\hosts'
$is_blocked = Get-Content -Path $hosts |
Select-String -Pattern ([regex]::Escape($Url))
If($is_blocked) {
$newhosts = Get-Content -Path $hosts |
Where-Object {
$_ -notmatch ([regex]::Escape($Url))
}
Set-Content -Path $hosts -Value $newhosts
}
}Engellenen URL'ler listesine bir web sitesi eklemek için şu komutu uygulamanız yeterlidir:
BlockSiteHosts ("twitter.com")
Web sitesinin engellemesini kaldırmak için şunu çalıştırın:
UnBlockSiteHosts ("twitter.com")DNS Filtrelemeyi Kullanan Web Sitelerini Engelleyin
İstemcileriniz aynı DNS sunucusunu kullanıyorsa, aynı şekilde, o DNS'de bir DNS girişi oluşturarak ve içinde 127.0.0.1 gibi bir şey belirleyerek belirli web sitelerini engelleyebilirsiniz. Bu arada, çoğu ticari DNS içerik filtresi (OpenDNS, SafeDNS, Cisco Umbrella, vb.) aynı prensibi kullanır.
Windows Defender Güvenlik Duvarında Web Sitesi IP Adresi Nasıl Engellenir?
Ayrıca yerleşik Windows Defender Güvenlik Duvarı'nı kullanarak bazı web sitelerini engelleyebilirsiniz. Bu yöntemin ana dezavantajı, engelleme kuralında bir alan adını veya web sitesi URL'sini kullanamayacak olmanızdır. Windows Defender Güvenlik Duvarı, kaynak/hedef olarak yalnızca bir IP adresi veya bir alt ağ belirtmenize olanak tanır.
Öncelikle, engellemek istediğiniz web sitesinin IP adresini almanız gerekir. nslookup komutunu kullanarak yapmak daha kolaydır:
nslookup twitter.comGördüğünüz gibi, komut web sitesine atanan birkaç IP adresini döndürdü. Hepsini engellemeniz gerekiyor.
Windows Defender Güvenlik Duvarı yönetimi ek bileşenini çalıştırın (Denetim Masası\Tüm Denetim Masası Öğeleri\Windows Defender Güvenlik Duvarı\Gelişmiş Ayarlar veya firewall.cpl dosyasını çalıştırarak).
Giden Kuralları bölümünde, aşağıdaki ayarlarla yeni bir kural oluşturun:
Kural Türü: Özel
Program: Tüm programlar
-
Protokol Türü: Herhangi biri
Kapsam: “Bu kural hangi uzak IP adresleri için geçerlidir? ” bölümünde “Bu IP adresleri ” -> Ekle'yi seçin. Bir sonraki pencerede, engellemek istediğiniz IP adreslerini, alt ağları veya bir dizi IP adresini girin.
Tamam -> İleri -> Eylem -> Bağlantıyı engelle'yi tıklayın.
Kuralın uygulandığı Güvenlik Duvarı profillerinde tüm seçenekleri penceredeki gibi bırakın. Ardından kural adını belirtin ve kaydedin.
Bundan sonra, Windows Defender Güvenlik Duvarı, belirtilen web sitesinin IP adreslerine giden tüm bağlantıları engelleyecektir. Engellenen siteye bağlanmaya çalıştığınızda tarayıcınızda aşağıdaki mesaj görünecektir:
Unable to connectVeya
Your Internet access is blocked
Firewall or antivirus software may have blocked the connection
ERR_NETWORK_ACCESS_DENIEDAD etki alanınızda, GPO kullanan kullanıcı bilgisayarlarında bir web sitesine erişimi engellemek için bir Windows Güvenlik Duvarı ilkesi dağıtabilirsiniz. Ancak, rasyonel değildir. İnternet erişim yönlendiricinizdeki (ağ geçidi) web sitelerini filtrelemek daha iyidir.
Web Sitesini Etki Alanı Adına veya IP Adresine Göre Engellemek için Güvenlik Duvarı Kuralı Oluşturmak için PowerShell'i Kullanma
PowerShell kullanarak web sitesine bağlantıyı engelleyen bir Güvenlik Duvarı kuralı da oluşturabilirsiniz:
New-NetFirewallRule -DisplayName "Block Site" -Direction Outbound -LocalPort Any -Protocol Any -Action Block -RemoteAddress 104.244.42.129, 104.244.42.0/24"Kural mağazadan başarıyla ayrıştırıldı" dizesi, yeni Güvenlik Duvarı kuralının başarıyla uygulandığı anlamına gelir. Windows Defender Güvenlik Duvarınızın grafik arabiriminde bulabilirsiniz.
Web sitesi adlarını IP adreslerine manuel olarak çözümlememek için, web sitesi IP adreslerini almak üzere Resolve-DnsName PowerShell cmdlet'ini kullanabilirsiniz:
Resolve-DnsName "twitter.com"| Select-Object -ExpandProperty IPAddressBöylece, web sitesinin adını IP adreslerine dönüştürebilir ve güvenlik duvarı ayarlarına bir engelleme kuralı ekleyebilirsiniz:
$IPAddress = Resolve-DnsName "twitter.com"| Select-Object -ExpandProperty IPAddress
New-NetFirewallRule -DisplayName "Block Site" -Direction Outbound -LocalPort Any -Protocol Any -Action Block -RemoteAddress $IPAddressBöylece, Windows Güvenlik Duvarınıza aynı anda birden çok web sitesi için bir engelleme kuralı ekleyebilirsiniz:
$SitesToBlock = "facebook.com","instagram.com","youtube.com"
$IPAddress = $SitesToBlock | Resolve-DnsName -NoHostsFile | Select-Object -ExpandProperty IPAddress
New-NetFirewallRule -DisplayName "Block Web Sites" -Direction Outbound -LocalPort Any -Protocol Any -Action Block -RemoteAddress $IPAddressHosts dosyasını çözümleme için kullanmamak için Resolve-DnsName cmdlet'ine -NoHostsFile parametresini ekledim.
Windows Güvenlik Duvarı konsolunda bir giden engelleme kuralının göründüğünden emin olalım.
Bu makale çoğunlukla bir beyin jimnastiği egzersizidir. Kurumsal bir ağda, İnternet erişim ağ geçidinizde, yönlendiricinizde veya bir proxy sunucunuzda web sitesi filtreleme kullanmanız gerekir. Ana bilgisayar düzeyinde engelleme çok etkili değildir.










