LocalSubnet SMB užkardos taisyklėje neapima VPN klientų
Leidimo taisyklė su LocalSubnet apima pačio serverio potinklius, o ne maršrutizuotą VPN telkinį. Prieš plečiant apimtį palyginkite šaltinio adresą, kurį mato serveris.
Biuro darbalaukiai pasiekia bendrinamą aplanką, VPN naudotojams baigiasi laikas, o ta pati paskyra veikia iš telefono hotspot. Bendrinimo teisės retai būna skirtumas; adresas, kuris pasiekia failų serverį, paprastai juo būna. Taisyklė, apribota iki LocalSubnet, įleidžia pačio serverio prijungtus potinklius, o atskirai maršrutizuotas VPN telkinys nėra vienas jų. Du sprendimai užpildo šią spragą, ir jie palieka labai skirtingus įrašus.
Du sprendimai, vienas simptomas
Pirmasis sprendimas prideda VPN telkinį prie taisyklės nuotolinio adreso sąlygos. Tada serveris mato kiekvieno kliento tunelio adresą, todėl jo žurnalai gali atskirti vieną nuotolinį naudotoją nuo kito. Antrasis sprendimas nukreipia VPN srautą per tinklų sietuvą, kuris jį išverčia į LAN adresą prieš serveriui jį pamatant. Tai atkuria ryšį ir tame pačiame žingsnyje panaikina atskyrimą.
Lentelė aprašo vaidmenis, o ne adresus, ir kuri eilutė galioja, sprendžia jūsų pačių priešdėliai. Išspausdinkite tikrąsias serverio reikšmes, o ne kopijuokite pavyzdį iš tinklaraščio įrašo:
Get-NetIPAddress -AddressFamily IPv4 | Select-Object InterfaceAlias, IPAddress, PrefixLength
Lentelė yra sprendimo pagalbininkas, o ne teiginys apie kiekvieną diegimą. Serveris su papildomais tinklo sąsajomis, antra vietos nuoroda ar kita kauke turi kitą vietinį rinkinį.
| 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 New-NetFirewallRule nuoroda aprašo nuotolinio adreso sąlygas ir raktinį žodį LocalSubnet. Perskaitykite ją prieš nuspręsdami, kad raktinis žodis reiškia visus privačius adresus, nes taip nėra.
Palyginkite, ką serveris iš tikrųjų gauna
Skaitykite galiojančią taisyklę, o ne tą, kurią kas nors prisimena sukūręs. Patikrinkite, ar ji įjungta, ar taikoma aktyviam profiliui ir ar jos nuotolinio adreso sąlyga atitinka šaltinį, kurį mato serveris. Taisyklė, įjungta tik Domain profilyje, nieko nedaro, kai po tinklo pakeitimo adapteris persikėlė į Public.
Get-NetFirewallRule -DisplayGroup 'File and Printer Sharing' | Get-NetFirewallAddressFilter
Get-NetFirewallProfile | Select-Object Name,Enabled,DefaultInboundAction
Pirmoji komanda išspausdina adresų filtrus, prijungtus prie failų bendrinimo taisyklių, o antroji parodo, kurie profiliai aktyvūs ir kaip apdorojamas neatitinkantis įeinantis srautas. Taip pat ieškokite blokavimo taisyklės ir centralizuotai valdomos politikos. Blokavimo taisyklės turi viršenybę prieš leidimo taisykles, o politika, išjungianti vietinių taisyklių sujungimą, gali padaryti naują vietinę išimtį neveiksmingą.
Tai atvejis, kai taisyklė konsolėje atrodo teisinga ir neturi jokio poveikio srautui. Tuo pačiu metu patikrinkite profilio priskyrimą, nes nešiojamasis kompiuteris, prisijungęs prie kito tinklo, gali pereiti prie Public profilio niekam nelietus užkardos.
Išbandykite transportą prieš prisijungimą
Atskirkite pasiekiamumą nuo autentifikavimo. Klausytojas TCP 445 rodo, kad paslauga susieta su prievadu; tai neįrodo, kad nuotolinis paketas gali jį pasiekti. Užbaigtas TCP ryšys savo ruožtu dar nieko nesako apie SMB sesijos nustatymą ar bendrinimo teises. Išbandykite rankos paspaudimą iš abiejų pusių prieš redaguodami taisyklę.
Test-NetConnection -ComputerName files.corp.example -Port 445
Test-NetConnection -ComputerName files.corp.example -Port 445 -InformationLevel Detailed
Pirmoji komanda praneša, ar TCP rankos paspaudimas pavyksta iš kompiuterio, kuriame ją vykdote, o antroji prideda išspręstą adresą ir sąsajos informaciją. Paleiskite ją iš VPN kliento ir iš biuro darbalaukio, tada palyginkite. Ping neatsako nė į vieną klausimą, nes ICMP gali būti blokuojamas, kol SMB atidarytas, arba leidžiamas, kol užkarda meta 445.
Jei rankos paspaudimas nepavyksta tik iš VPN, šaltinio apimtis yra pagrindinis įtariamasis. Jei jis pavyksta, o bendrinamas aplankas vis tiek jus atmeta, pereikite prie SMB sesijos ir teisių diagnostikos, o ne redaguokite užkardos taisykles.
Kai šaltinio NAT panaikina atskyrimą
Kai kelyje yra vertimas, serveris negali atskirti atskirų VPN klientų pagal adresą. Kiekvienas nuotolinis naudotojas ateina kaip tinklų sietuvas. Bet koks leidimas, priklausantis nuo jų atskyrimo, turi būti vykdomas ten, kur jų tapatybės dar matomos, o tai paprastai reiškia VPN koncentratorių ar autentifikuojantį tarpinį serverį. Užkardos taisyklė gali įleisti srautą; ji negali atkurti atskyrimo, kurį panaikino vertimas.
Kai tas tinklų sietuvo adresas leidžiamas, kiekvienas nuotolinis naudotojas registruojamas vienu adresu, todėl taisyklė suteikia visą telkinį kiekvienam, kuris gali pasiekti tinklų sietuvą. Jei sprendimas pagal naudotoją svarbus, palikite pirminius adresus matomus arba perkelkite sprendimą į sluoksnį, kuris dar pažįsta naudotoją. Priešingu atveju kiekvienas nuotolinis naudotojas paveldi to vienintelio adreso, kurį serveris mato, teises, o audito pėdsakas vėliau negali jų atskirti. Tai projektavimo sprendimas, o ne užkardos detalė.
Sąmoningai pasirinkite vieną iš dviejų sprendimų. Apribokite taisyklę tikram VPN telkiniui, kai serveris turi matyti, kas prisijungė, ir priimkite išverstą kelią tik tada, kai serveriui tos informacijos tikrai nereikia. Užrašykite pasirinktą šaltinio diapazoną šalia taisyklės, nes kitas žmogus, derindamas šią problemą, pirmiausia pažiūrės į adresų lentelę.