Тек Windows брандмауэры VPN сөндіру ажыратқышы ретінде: шыдай ма?
Интерфейс түрі бойынша ережелер физикалық адаптерлерді бөгей алады, бірақ үшінші тарап туннелі көбіне сымды болып көрінеді. Классификацияны, соңғы нүкте маршрутын, содан кейін DNS-ті тексеріңіз.
Windows брандмауэры жалғыз өзі төтенше ажыратқыш ретінде жұмыс істей ала ма деп сұрасаңыз, екі сенімді әрі үйлеспейтін жауап аласыз. Біреуі интерфейс түрі ережесі бүкіл жұмысты атқарады дейді; екіншісі скриптсіз істемейді дейді. Екеуі де бір механизмнің жартысын сипаттайды. Брандмауэр бөгеуді білдіре алады, ал нәтиженің шынымен жабық күйде сәтсіз болатыны үш нәрсеге байланысты: Windows туннель адаптерін қалай жіктейді, соңғы нүкте ерекшелігі сақтала ма, және атау шешімі мен IPv6 қамтылған ба. Осылардың біреуінде қателессеңіз, машина не ақпарат ағызады, не барлық байланыстан айырылады.
Үш шарт, осы тәртіппен
Бірінші шарт — жіктеу, ол қалаған ереженің тіпті өрнектелуін шешеді. Windows брандмауэр ережелерін интерфейс түрі бойынша шектеуге болады: сымды, сымсыз немесе қашықтан қатынау. Физикалық түрлерде шығыс трафигін бөгеп, туннельге рұқсат беретін саясат тек Windows туннельді қашықтан қатынау деп таныса ғана жұмыс істейді.
Екінші шарт — соңғы нүкте ерекшелігі. Кез келген туннель пайда болмай тұрып, клиент VPN серверіне физикалық адаптер арқылы жетуі керек, сондықтан сол адаптердегі толық бөгеу бөгеуді қажетсіз ететін байланыстың өзін тоқтатады. Ерекшелік сервер мен оның портын атауы керек, ал пакет әлі көтерілмеген туннельге емес, физикалық шлюз арқылы шығуы тиіс.
Үшіншісі — қамту. IPv4-ті бөгеп, IPv6-ны ұмытатын немесе соңғы нүктені іздеу үшін жергілікті шешушіге рұқсат беріп, сол арқылы кез келген басқа іздеуге де рұқсат ететін ережелер жиынтығы дәл ажыратқыш өмір сүретін терезеде ашық түрде сәтсіздікке ұшырайды. Бұл дизайн кемшілігі, брандмауэр ақауы емес. Бұл сондай-ақ үстелдегі әрбір сынақтан аман өтетін кемшілік.
Жіктеу — бірінші қақпа
Бір ереже жазбай тұрып, Windows адаптерлер туралы не ойлайтынын қараңыз. Windows-тың өзіндік VPN байланысы әдетте қашықтан қатынау ретінде көрінеді. Өз виртуалды адаптерін жасайтын үшінші тарап клиенті көбіне сымды болып көрінеді, яғни сымды адаптерлерге шектелген бөгеу туннельді де бөгейді.
Get-NetConnectionProfile | Select-Object Name,InterfaceAlias,NetworkCategory
Get-NetAdapter | Select-Object Name,InterfaceDescription,Status,ifIndex
Get-NetFirewallProfile | Select-Object Name,Enabled,DefaultOutboundAction
Үшінші команда әдепкі шығыс бөгеуінің әлдеқашан күшінде екенін айтады, бұл дизайнның бүкіл пішінін өзгертеді. Егер әдепкі бөгеу болса, сіз рұқсат беретін негізге ерекшеліктер емес, рұқсат ережелерін жазасыз, және бұл туралы ойлау әлдеқайда жеңіл.
Егер туннель адаптеріңіз сымды деп хабарласа, тек брандмауэр жабық сәтсіздік дизайны үшін дұрыс құрал емес, және ережелерді қанша реттесеңіз де бұл өзгермейді. Бұл әр форум тақырыбындағы екінші пікірдің дұрыс болатын жағдайы.
Соңғы нүкте ерекшелігіне ережемен қатар маршрут та керек
Жіктеу жұмыс істейді деп есептейік. Ерекшелік екі бөліктен тұрады және олар әртүрлі ішкі жүйелерде тұрады. Брандмауэр ережесі трафикке рұқсат береді; хост маршруты туннель төменде тұрғанда оны дұрыс интерфейстен шығарады.
New-NetFirewallRule -DisplayName "VPN endpoint allow" -Direction Outbound -Action Allow \
-Protocol TCP -RemoteAddress 203.0.113.9 -RemotePort 443 -InterfaceType Wired,Wireless
New-NetRoute -DestinationPrefix 203.0.113.9/32 -InterfaceIndex 12 -NextHop 192.168.1.1
Get-NetRoute -DestinationPrefix 203.0.113.9/32
Маршрутсыз ерекшелік тек әдепкі маршрут әлі физикалық шлюзге сілтеп тұрғанда ғана көмектеседі. Клиент өзінің әдепкі маршрутын орнатып, содан кейін өшсе, рұқсат етілген пакеттердің баратын ақылға қонымды жері қалмайды және байланысты қайта орнату мүмкін емес. Бұл сәтсіздік бұзылған клиентке ұқсайды, шын мәнінде жоғалған маршрут.
Ерекшелікті клиент рұқсат ететіндей тар ұстаңыз. Бір мекенжай мен бір порт тексеріле алады; провайдердің бүкіл желісін қамтитын ауқым — жоқ. Бұл кеңірек ереже сол провайдерде орналасқан қалғанның бәріне де рұқсат береді, бұл әдетте ойлағаныңыздан көп.
DNS және IPv6 — ол ашық сәтсіздікке ұшырайтын жерлер
Атау шешімі — классикалық ағып кету. Егер соңғы нүкте хост атауы болса, клиент оны туннель пайда болмай тұрып шешуі керек, яғни физикалық адаптерге шешушіге жетуге рұқсат берілуі тиіс. Сол рұқсат туннель төменде тұрғанда кез келген басқа іздеуді сыртқа жібереді, ал бір іздеу не көргелі жатқаныңызды ашуға жетеді.
IPv6 — екіншісі. IPv4 үшін жазылған ережелер екінші отбасын қамтымайды, ал көптеген клиенттер тек IPv4 маршруттарын орнатады. Сондықтан өзіндік IPv6 байланысы бар машина IPv4 жағы мықтап бөгелген күйде интернетпен сөйлесуді жалғастыра алады, ал ажыратқыш бүкіл уақыт бойы табыс туралы хабарлайды.
| Gap | What leaks | Control |
|---|---|---|
| Resolver permitted for endpoint lookup | Every name queried while down | Pin the endpoint as an address, or block non-tunnel DNS |
| Rules only for IPv4 | Full IPv6 connectivity | Add the same rules for the other family |
| Application bound to physical interface | Its own traffic | Firewall cannot fix this; change the binding |
Үшінші жолды айналып өтпей, түсінген жөн. Брандмауэр пакеттер туралы шешеді, қолданба қай интерфейсті сұрағаны туралы емес, және анық байланысатын бағдарламаны ұстау қиын болуы мүмкін. Бұл қолданбаның астында жұмыс істейтін клиент жағындағы ажыратқыштың пайдасына дәлел, көбірек ереженің емес.
Кабельді тартумен емес, клиентті тоқтатумен сынаңыз
Жалғыз мағыналы сынақ — өзіңіз қорғайтын сәтсіздікті имитациялайтыны. Қызметті тоқтатыңыз, процесті өлтіріңіз немесе клиент жасаған адаптерді өшіріңіз, содан кейін интернетке және атауға жетуге тырысыңыз:
Stop-Service -Name "YourVpnService" -Force
Test-NetConnection -ComputerName 1.1.1.1 -Port 443
Resolve-DnsName example.com
Test-NetConnection -ComputerName 2606:4700:4700::1111 -Port 443
Үшеуі де сәтсіз болуы керек. Егер біріншісі сәтті болса, бөгеу күшінде емес; егер екіншісі біріншісі сәтсіз болған жерде сәтті болса, сізде DNS ағып кетуі бар; егер үшіншісі сәтті болса, IPv6 қамтылмаған. Әрбір нәтиже жоғарыдағы кемшіліктердің дәл біреуіне нұсқайды.
Ұйқы мен оянудан кейін сынақты қайталаңыз, өйткені Windows желіні қоғамдық немесе жеке деп шешкенде брандмауэр профилі өзгеруі мүмкін, ал профильге шектелген ережелер оған ереді. Үстелде шыдап, пойызда сәтсіз болатын дизайн — бір рет сыналған дизайн.
Егер жіктеу қақпасы немесе DNS талабы тек-брандмауэр тәсілін қолданусыз етсе, клиент жағындағы ажыратқыш — адал жауап. Егер туннель оның орнына маршрутизаторда аяқталса, саясат маршрутизаторға тиесілі болуы керек, өйткені ондағы бір ереже оның артындағы әрбір құрылғыны қамтиды және Windows адаптерді қалай атайтынына тәуелді емес.