Güvenlik duvarı profilleri ile VPN çıkışı: neden genel bir yol değil
Güvenlik duvarı profili hangi kural kümesinin geçerli olduğunu seçer. Paketi hangi arabirimin taşıdığı hakkında hiçbir şey söylemez ve açık bir engelleme daha dar bir izinden üstündür.
Kural kesin görünüyor: özel profilde yerel trafiğe izin ver, genel profilde yalnızca VPN trafiğine izin ver. Ama öyle değil, çünkü ağ profili hangi güvenlik duvarı kural kümesinin geçerli olduğunu seçer ve paketi hangi bağdaştırıcının taşıdığı hakkında hiçbir şey söylemez. Profil adını bir yol gereksinimi olarak görmek, kısıtlı çıkış tasarımını tamamlanmadığı halde tamamlanmış gibi gösteren hatadır.
Önce akışları yazın, sonra her birini gerçekten uygulayabilecek mekanizmanın hangisi olduğuna karar verin. O akış listesi, bir sonraki kural değişikliğini atlatan tek çıktıdır.
Kategori kuralları seçer, yolları değil
Windows bir ağı genel veya özel olarak sınıflandırdığında güvenlik duvarı o profil için yapılandırılmış kural kümesini uygular. Sınıflandırma bağdaştırıcının katıldığı ağı izler ve kural kümesi orada neye izin verildiğini belirler. Bu olguların hiçbiri bir uygulamanın trafiğinin tüneli kullanıp kullanmadığına bağlı değildir. Tam da bu bağımsızlık bütün zorluktur.
Yol seçimini yönlendirme yapar; arabirim ölçütü ve tünelin kurduğu önek aracılığıyla. Bu yüzden bir profil genel olarak etiketlenmiş olabilirken bir uygulamanın bağlantısı fiziksel yolu izler ve güvenlik duvarı yine de genel kural kümesinin uygulandığını bildirir.
Bu yüzden profile sınırlı bir kural yalnızca tünel anlamına gelemez. Bu iki özelliği farklı bileşenler belirler ve biri diğerinin yerini tutamaz.
| Flow | What decides it | What a rule can enforce |
|---|---|---|
| VPN client to its endpoint | Routing plus the outer transport | Allow the client process before the tunnel exists |
| Application to an internet host | Interface metric and prefix length | Block the process unless the tunnel interface is up |
| Application to a LAN host | Local subnet route | Allow one destination, not the whole category |
Açık bir engelleme daha dar bir izinden üstündür
Microsoft'un güvenlik duvarı kuralları kılavuzu, varsayılan engelleme eylemine tanınan izin istisnasını, bir izinle çelişen açık engellemeden ayırır. Açık engellemeler bu çelişkiyi kazanır ve giden kurallar da aynı önceliğe uyar.
Bu yüzden her şeyi engelleyen bir kural ekleyip üstüne konan daha dar bir izne güvenmek gibi yaygın tarif, yazarının beklediğini yapmaz. Windows Güvenlik Duvarı çelişkiyi yöneticinin atadığı kural sırasıyla çözmez. Engelleme öylece geçerli olur ve bağlanan uygulama zaman aşımı bildirir. İstisna gibi görünen kural hiçbir zaman oyunda değildi.
Desteklenen biçim, onaylanmış izin kurallarıyla birlikte varsayılan reddetme ilkesidir; burada her izin bir programı, hizmeti veya hedefi gözden geçirilebilecek kadar kesin adlandırır. Bu tasarım bir denetimi atlatır, çünkü her istisna görünürdür ve hiçbiri oluşturulma sırasına bağlı değildir.
Birbiriyle çelişen iki kural bir kuraldan daha kötüdür, çünkü ortaya çıkan davranış aynı anda hem doğru hem açıklanamazdır.
Giden ilkeye tek bir sahip verin
Desteklenen bir VPN istemcisi zaten kendi engelleme davranışını ve kendi uç nokta istisnalarını sürdürür. Eşgüdümsüz el ile eklenen kurallar o istemciyi kurulum için gereken tünelin dışında bırakabilir veya kimsenin fark etmediği ikinci bir yolu açık bırakabilir.
Kuralları yazmadan önce giden ilkenin kime ait olduğuna karar verin: istemcinin kendi yapılandırması, yönetilen bir güvenlik duvarı ilkesi veya sahibi belirtilmiş belgelenmiş yerel istisna listesi. Sonra bir şey bağlanana kadar deneyleri üst üste yığmak yerine katmanları uzlaştırın. Adlandırılmış sahip, iki katman anlaşmazlığa düştüğünde sorulan kişidir de.
Herhangi bir şeyi değiştirmeden önce bir kurtarma kanalı koruyun. Kendi yönetim yolundan kilitlenen uzak bir makine, kapatmaya çalıştığınız ilke boşluğundan daha kötü bir sonuçtur. Kurtarma kuralını önceden yazmak onu savunmayı kolaylaştırır ve kimsenin hoşlanmadığı bir saatte bir değişiklik ters gittiğinde bulmayı kolaylaştırır.
Etiketi okumak yerine dört sonucu test edin
Bir ilke, ayırt ettiği durumlar kadar iyidir; bu yüzden profil etiketini sonuç değil başlangıç noktası olarak görün. Dört sonuç işe yarayıp yaramadığını söyler: amaçlanan LAN isteği başarılı olur, kapsanan bir internet isteği başarılı olur, yasak doğrudan istek başarısız olur ve tünel arızası durumu sessizce geri çekilmek yerine tasarlandığı gibi davranır. Dört sonucu kural değişikliğinin yanına yazın. Dört adlandırılmış durumdan oluşan bir test planı her seferinde çalıştırılacak kadar kısa ve yüksek sesle başarısız olacak kadar belirlidir.
Get-NetConnectionProfile | Select-Object Name,NetworkCategory,InterfaceAlias Get-NetFirewallProfile | Select-Object Name,DefaultOutboundAction Get-NetFirewallRule -Direction Outbound -Enabled True | Where-Object Action -eq Block | Select-Object DisplayName,Profile
İlk komut her bağlı ağın nasıl sınıflandırıldığını gösterir; bu çoğu zaman kuralı yazan kişinin varsaydığı şey değildir. İkincisi profil başına varsayılan eylemi gösterir, üçüncüsü ise etkinleştirilmiş giden engellemeleri listeler; daha dar bir izni sessizce geçersiz kılacak olanlar dahil.
Bir ağ değişikliğinden sonra dört durumu yeniden çalıştırın, çünkü makine başka bir ağa katıldığında profil yeniden sınıflandırılabilir. Eşleşen bir profil etiketi, yolun amaçladığınız yol olduğunun kanıtı değildir.