Filtru de trafic VPN sau regulă IPsec: unde Windows aplică un port
O rută vede o destinație, nu un serviciu. Decide dacă ai nevoie de un filtru de acces pe profilul VPN sau de o regulă IPsec care cere protecție pentru flux.
Un utilizator Windows VPN trebuie să ajungă la HTTPS pe un server și nu la SMB pe același server, iar o rută nu poate exprima asta. Ambele cereri poartă aceeași adresă de destinație, așa că prefixul care trimite traficul în tunel poartă și fluxul pe care voiai să îl excluzi. Separarea lor cere o regulă care examinează ceva mai fin decât destinația.
Două intenții diferite se construiesc cu două mecanisme Windows diferite. Amestecarea lor produce o politică ce pare completă, dar aplică jumătate din ce ai intenționat.
O rută nu poate separa două servicii pe o singură adresă
Rutarea nativă a VPN se bazează pe prefixe: decide care destinații trec prin tunel și care rămân afară. Este instrumentul potrivit pentru a ține o subrețea înăuntru și alta afară, și este oarbă la porturi prin construcție. Un filtru de trafic pe profilul VPN adaugă o a doua dimensiune: potrivește protocolul, adresa la distanță și portul la distanță pentru ce poate traversa acea interfață. O regulă IPsec lucrează într-un al treilea loc și exprimă ce fluxuri cer protecție și cu cine se autentifică. Cele trei răspund la întrebări diferite și niciuna nu le înlocuiește pe celelalte.
Începe prin a scrie propoziția dorită. Permite doar HTTPS este o propoziție de acces, în timp ce cere IPsec pentru HTTPS este o propoziție de protecție, iar cele două duc la configurații diferite.
Restricția de acces și cerința de protecție diverg
O restricție de acces spune ce poate folosi interfața și se aplică permițând o mulțime și refuzând tot restul. O cerință de protecție spune ce fluxuri trebuie cifrate și autentificate și se aplică negociind asocieri de securitate care le corespund. Prima produce o cerere blocată când ceva nu e în listă, iar a doua produce o conexiune care fie poartă protecția cerută, fie nu se stabilește. A trata una ca pe cealaltă este modul în care o politică ajunge să nu blocheze nimic sau să nu protejeze nimic.
Consecința practică este că o listă de filtre este o mulțime închisă. Odată ce există o listă pe profil, traficul pe acea interfață care nu corespunde niciunei intrări este refuzat, așa că DNS, schimburile de autentificare și orice dependență de care are nevoie aplicația cer intrări proprii. Adăugarea unei reguli largi pentru a potoli refuzurile redeschide întreaga interfață și anulează restricția în tăcere. Lista trebuie să fie cât de scurtă permite cerința și cât de completă cere aplicația.
Construiește lista de filtre ca o mulțime completă
Profilurile VPNv2 poartă lista de filtre separat de lista de rute, iar intrările ei sunt proprietăți ale profilului, nu comenzi. Pentru exemplul HTTPS intrarea are nevoie de protocolul 6, adresa la distanță și portul la distanță, implementate prin canalul de administrare sau ProfileXML pentru tipul de profil folosit. Definiția filtrului de trafic VPNv2 a Microsoft afirmă că condițiile din interiorul unei reguli se combină, în timp ce identificatorii de regulă separați acționează ca alternative.
TrafficFilterList/0/Protocol = 6
TrafficFilterList/0/RemoteAddressRanges = 10.60.4.20/32
TrafficFilterList/0/RemotePortRanges = 443
RouteList/0/Address = 10.60.4.0/24
Valorile de port din acea listă descriu portul serviciului la capătul îndepărtat, iar portul local trebuie să rămână neconstrâns pentru ca portul sursă efemer al clientului să nu fie filtrat. A face invers produce o regulă care nu corespunde nimic și un puzzle care ia o după-amiază.
Scrie ruta și filtrul ca două decizii separate. Ruta decide că acest server este atins prin tunel, iar filtrul decide ce servicii pot folosi acea cale.
Demonstrează ambele rezultate cu două cereri
Testează fluxul permis și fluxul refuzat separat și citește eșecul, nu pagina lipsă. Un refuz care vine repede este o decizie de politică, în timp ce un timeout este mai probabil o rută lipsă sau un serviciu care nu ascultă. Comenzile de mai jos rulează ambele cereri și arată regulile în vigoare.
Test-NetConnection 10.60.4.20 -Port 443
Test-NetConnection 10.60.4.20 -Port 445
Get-NetIPsecRule -DisplayName *Vpn*
Get-VpnConnection -Name Corp
Un refuz rapid la testul SMB cu un test HTTPS reușit este rezultatul pe care filtrul trebuia să îl producă. Un refuz pe ambele porturi înseamnă că listei îi lipsește ceva de care sesiunea are nevoie, iar un timeout pe ambele indică rutare, nu filtrare. Dacă fluxurile protejate arată nicio asociere de securitate în ieșirea IPsec, cerința de protecție nu este îndeplinită nici când conexiunea reușește. Citește toate cele patru ieșiri împreună, pentru că fiecare singură susține o altă poveste.
Înregistrează profilul efectiv, setul de reguli și politica celeilalte părți împreună cu rezultatele. Notele istorice de compatibilitate despre clienți Windows mai vechi nu descriu ce susțin funcțiile de profil administrat de azi pe un anumit gateway. Comportamentul specific versiunii aparține înregistrării, nu presupunerii.