SMB güvenlik duvarı kuralındaki LocalSubnet VPN istemcilerini kapsamaz
LocalSubnet izin kuralı sunucunun kendi alt ağlarını kapsar, yönlendirilmiş bir VPN havuzunu değil. Kapsamı genişletmeden önce sunucunun gördüğü kaynak adresi karşılaştırın.
Ofis masaüstleri paylaşıma ulaşır, VPN kullanıcıları zaman aşımına uğrar ve aynı hesap bir telefon hotspot'undan çalışır. Paylaşım izinleri nadiren farktır; dosya sunucusuna ulaşan adres genellikle farktır. LocalSubnet ile sınırlandırılmış bir kural, sunucunun kendi bağlı alt ağlarını kabul eder ve ayrı yönlendirilen bir VPN havuzu bunlardan biri değildir. İki tasarım bu boşluğu kapatır ve arkalarında çok farklı kayıtlar bırakır.
İki tasarım, tek belirti
İlk tasarım, VPN havuzunu kuralın uzak adres koşuluna ekler. Sunucu ardından her istemcinin tünel adresini görür, böylece günlükleri bir uzak kullanıcıyı diğerinden ayırabilir. İkinci tasarım, VPN trafiğini sunucu görmeden önce LAN adresine çeviren bir ağ geçidi üzerinden yönlendirir. Bu, bağlantıyı geri getirir ve aynı adımda ayrımı ortadan kaldırır.
Tablo adresleri değil rolleri açıklar ve hangi satırın geçerli olduğuna kendi önekleriniz karar verir. Bir blog yazısından örnek kopyalamak yerine sunucunun gerçek değerlerini yazdırın:
Get-NetIPAddress -AddressFamily IPv4 | Select-Object InterfaceAlias, IPAddress, PrefixLength
Tablo bir karar yardımcısıdır, her dağıtım hakkında bir iddia değildir. Ek arabirimleri, ikinci bir site bağlantısı veya farklı bir maskesi olan bir ana bilgisayarın yerel kümesi farklıdır.
| Path the packet takes | Address the server records | Filter scope that admits it | What the log can still tell you |
|---|---|---|---|
| Desktop on the server LAN | Its own LAN address | LocalSubnet or the LAN prefix | Which workstation connected |
| Client on the routed VPN pool | Its tunnel address | The VPN pool as a remote address | Which VPN account connected, if the pool is logged |
| Client behind source NAT at the gateway | The gateway's LAN address | The gateway address | Only that some VPN user connected |
| Site-to-site gateway | The remote gateway's tunnel address | The remote site's prefix | Which site connected, not which user |
Microsoft'un New-NetFirewallRule başvurusu uzak adres koşullarını ve LocalSubnet anahtar sözcüğünü belgeler. Anahtar sözcüğün tüm özel adresler anlamına geldiğine karar vermeden önce okuyun, çünkü öyle değildir.
Sunucunun gerçekte ne aldığını karşılaştırın
Birinin hatırladığı kuralı değil, geçerli olan kuralı okuyun. Etkinleştirildiğini, etkin profile uygulandığını ve uzak adres koşulunun sunucunun gördüğü kaynakla eşleştiğini doğrulayın. Yalnızca Domain profilinde etkinleştirilen bir kural, ağ değişikliğinden sonra bağdaştırıcı Public'e geçtiğinde hiçbir şey yapmaz.
Get-NetFirewallRule -DisplayGroup 'File and Printer Sharing' | Get-NetFirewallAddressFilter
Get-NetFirewallProfile | Select-Object Name,Enabled,DefaultInboundAction
İlk komut dosya paylaşımı kurallarına bağlı adres filtrelerini yazdırır, ikincisi hangi profillerin etkin olduğunu ve eşleşmeyen gelen trafiğin nasıl işlendiğini gösterir. Bir engelleme kuralı ve merkezi olarak yönetilen bir ilke de arayın. Engelleme kuralları izin kurallarından önce gelir ve yerel kural birleştirmeyi devre dışı bırakan bir ilke yeni bir yerel istisnayı etkisiz kılabilir.
Kuralın konsolda doğru göründüğü ve trafik üzerinde hiçbir etkisi olmadığı durum budur. Profil atamasını da aynı anda kontrol edin, çünkü başka bir ağa katılan bir dizüstü bilgisayar kimse güvenlik duvarına dokunmadan Public profiline geçebilir.
Oturum açmadan önce taşımayı test edin
Erişilebilirliği kimlik doğrulamadan ayırın. TCP 445 üzerindeki bir dinleyici, bir hizmetin bağlantı noktasına bağlı olduğunu kanıtlar; uzak bir paketin ona ulaşabileceğini kanıtlamaz. Tamamlanmış bir TCP bağlantısı ise SMB oturumu kurulumu veya paylaşım izinleri hakkında henüz hiçbir şey söylemez. Bir kuralı düzenlemeden önce el sıkışmayı iki taraftan da test edin.
Test-NetConnection -ComputerName files.corp.example -Port 445
Test-NetConnection -ComputerName files.corp.example -Port 445 -InformationLevel Detailed
İlk komut, TCP el sıkışmasının çalıştırdığınız makineden başarılı olup olmadığını bildirir; ikincisi çözümlenen adresi ve arabirim ayrıntılarını ekler. VPN istemcisinden ve ofis masaüstünden çalıştırın, sonra karşılaştırın. Ping iki sorunun hiçbirine yanıt vermez, çünkü SMB açıkken ICMP engellenebilir veya güvenlik duvarı 445'i düşürürken izin verilebilir.
El sıkışma yalnızca VPN'den başarısız olursa, kaynak kapsamı ana şüphelidir. Başarılı olur ve paylaşım sizi yine de reddederse, güvenlik duvarı kurallarını düzenlemek yerine SMB oturumu ve izin tanısına geçin.
Kaynak NAT ayrımı ortadan kaldırdığında
Yolda çeviri olduğunda sunucu, tek tek VPN istemcilerini adrese göre ayırt edemez. Her uzak kullanıcı ağ geçidi olarak gelir. Onları ayırt etmeye bağlı her yetkilendirme, kimliklerinin hâlâ görünür olduğu yerde uygulanmalıdır; bu genellikle VPN yoğunlaştırıcısı veya kimlik doğrulayan bir vekil sunucu anlamına gelir. Güvenlik duvarı kuralı trafiği kabul edebilir; çevirinin kaldırdığı ayrımı geri getiremez.
Bu ağ geçidi adresine izin verildiğinde, her uzak kullanıcı tek bir adres altında kaydedilir, böylece kural havuzun tamamını ağ geçidine ulaşabilen herkese verir. Kullanıcı başına bir karar önemliyse, özgün adresleri görünür tutun veya kararı kullanıcıyı hâlâ tanıyan bir katmana taşıyın. Aksi halde her uzak kullanıcı, sunucunun görebildiği tek adresin izinlerini devralır ve denetim izi onları sonradan ayırt edemez. Bu bir tasarım kararıdır, güvenlik duvarı ayrıntısı değildir.
İki tasarım arasında bilinçli olarak seçim yapın. Sunucu kimin bağlandığını görmek zorundaysa kuralı gerçek VPN havuzuyla sınırlayın ve çevrilmiş yolu yalnızca sunucu bu bilgiye gerçekten ihtiyaç duymadığında kabul edin. Seçilen kaynak aralığını kuralın yanına not edin, çünkü bunu hata ayıklayacak bir sonraki kişi önce adres tablosuna bakacaktır.