Niyə VPN vəziyyətinə bağlı firewall qapısı yalnız ping qaydası deyil
Adlı VPN qoşulmuş halda yalnız ping-ə cavab verən qayda əlaqəsiz vəziyyətə bağlanmış ümumi ünvan siyasətidir, tunelə aid icazə deyil.
Təsəvvür edin ki, adlı VPN profili qoşulanda serverin ümumi ünvanı üçün ICMP echo-nu açan firewall qaydası var. Bu, «yalnız tuneldən ping» kimi oxunur və bu oxunuş vacib şəkildə səhvdir. Qayda kimin hosta çata biləcəyini məhdudlaşdırmır; başqa bir bağlantı açıq olanda ümumi interfeysin nəyə cavab verdiyini dəyişir. Bunlar fərqli siyasətlərdir və biri sükutla məruz qalmanı genişləndirir.
Sizin yazdığınızı düşündüyünüz qayda
Nəzərdə tutulan tələb adətən dardır: monitorinq sistemi və ya VPN-dəki yeganə administrator serverin sağ olduğunu təsdiqləyə bilməlidir. Cümlə kimi yazıldıqda tuneldə giriş nəzarəti kimi səslənir. Firewall obyekti kimi yazıldıqda isə ümumi profildə şərtə çevrilir, çünki echo sorğusu məhz ora gəlir.
Şərt mənbə ünvanı deyil, bağlantı vəziyyəti olduqdan sonra icazə verilən göndərənlər çoxluğu artıq VPN həmyaşıdları çoxluğu deyil. Ümumi ünvana çata bilən hər kəs qapı açıq olduqda echo sorğusu göndərə bilər. Tunel yol olmadı; tunel açar oldu.
Bu fikri təbliğ edənlər adətən istədikləri effekt barədə yalan danışmırlar. Onlara yalnız kanal sağlam olanda cavab verən yoxlama lazım idi və kanalın sağlamlığını ən asan VPN vasitəsilə müşahidə etmək olurdu. Səhv, mövcudluq siqnalını giriş qərarı kimi qəbul edib sonra onu avtomatlaşdırmaqdır.
Qapının əslində nəyə nəzarət etdiyi
Bu dizayn iki müstəqil şeyi birləşdirir və onları ayırmaq düzəlişin çox hissəsidir. Birincisi əhatədir: hansı yerli ünvan, hansı uzaq ünvanlar, hansı protokol və hansı ICMP tipi. İkincisi şərtdir: qayda obyektinin hazırda aktiv olub-olmaması. Əhatə firewallun hər paket üzrə qiymətləndirdiyi şeydir; şərt isə skriptin siyasət anbarına yazdığı şeydir və ikisi tamamilə fərqli saatlarla uzlaşdırılır.
Əgər tələb həqiqətən yalnız VPN həmyaşıdlarıdırsa, əhatə bunu heç bir bağlantı vəziyyəti məntiqi olmadan cavablandırır: qaydanı tunel interfeysinə və ya tunel ünvan diapazonuna bağlayın, uzaq ünvanları müştəri hovuzu ilə məhdudlaşdırın və «ICMP» yerinə echo tipini göstərin. Bu qayda heç bir VPN açıq olmayanda da düzgün qalır və əlaqəsiz profil tərəfindən açıla bilməz.
Əgər tələb həqiqətən ümumi qapıdırsa, bunu siyasət mətnində deyin, çünki qəbul meyarları dəyişir. Ümumi qapı dəqiq profili adlandırmalı, «qoşulmuş» anlayışını müəyyən etməli və ümumi göndərənlərin dizayn üzrə əhatədə olduğunu bildirməlidir. Çaşqınlığın çoxu kimisə həmin cümləni yazmağa məcbur etdiyiniz anda yox olur.
Obyekti bir dəfə qurun, sonra onu açıb-bağlayın
Sabit kimlikli bir qaydanı əvvəlcədən, deaktiv vəziyyətdə hazırlayın və nəzarətçi yalnız onun aktivlik vəziyyətini dəyişsin. Hər işə salmada qaydaları göstərilən adla yaratmaq siyasət anbarının beş demək olar ki, eyni obyektlə və onları silməyin etibarlı yolu olmadan qalmasına səbəb olur.
New-NetFirewallRule -Name "VpnGateEchoV4" -DisplayName "Public echo gated on VPN state" -Direction Inbound -Action Allow -Protocol ICMPv4 -IcmpType 8 -LocalAddress 203.0.113.10 -RemoteAddress Any -Enabled False
Set-NetFirewallRule -Name "VpnGateEchoV4" -Enabled True
Ad davamlı identifikatordur; göstərilən ad insanın redaktə edə biləcəyi sənədləşmədir. -Name üzrə uzlaşdırın və skript dublikatlar yaratmağı dayandırır. Eyni əmr forması IPv6 halını -Protocol ICMPv6 -IcmpType 128 ilə əhatə edir; bu ayrı qaydadır, çünki echo tip nömrələri iki ailə arasında fərqlənir.
Ünvan ailəsini və ICMP tipini açıq saxlamağın ikinci səbəbi var: -Protocol ICMPv4 tipsiz olaraq profilin icazə verdiyi hər ICMPv4 mesajına yol verir, o cümlədən heç vaxt qəbul etmək istəmədiklərinizə. Tip 8-i adlandırmaq qaydanı echo sorğusuna daraldır, çünki çatımlılıq yoxlaması yalnız onu göndərir.
Avtomatlaşdırmanın niyyətlə ziddiyyət təşkil etdiyi yer
Müştəri profilini bir neçə dəqiqədən bir sorğulamaq dərhal sərhəd yarada bilməz. Bağlantı düşəndən növbəti sorğuya qədər qayda hələ də ümumi ünvanda cavab verir; bağlantı qalxandan növbəti sorğuya qədər isə cavab vermir. Bu gecikməni dilə gətirmək dürüstdür, dizaynın ciddi invariant tətbiq etdiyini iddia etmək isə deyil.
Vəziyyət yoxlamasının özündə əhatə tələsi var. Get-VpnConnection maşında konfiqurasiya edilmiş müştəri profillərini göstərir: standart olaraq cari istifadəçi üçün, -AllUserConnection ilə isə bütün istifadəçilər üçün. O, hazırda RRAS serverinə qoşulmuş uzaq istifadəçiləri göstərmir; bu, başqa əmrlə edilən başqa müşahidədir. Səhv olanın üzərində qurulmuş qapı heç nəyə bağlı deyil.
Sonra heç kimin skriptləşdirmədiyi halları əhatə edin: qaydanın əvvəlki işə salmadan artıq aktiv olması ilə başlanğıc, qapı açıq ikən nəzarətçinin çökməsi və qaydası işlək qalarkən profilin silinməsi. Hər biri üçün müəyyən edilmiş standart lazımdır və ümumi icazə üçün təhlükəsiz standart deaktivdir. Əgər tələb sorğu pəncərəsinə həqiqətən dözmürsə, vəziyyətə bağlı qayda yanlış alətdir və icra tuneldə, ümumi interfeysdə deyil, olmalıdır.
Nəhayət, ümumi sorğunu iki dəfə sınayın: bir dəfə seçilmiş bağlantı açıq, bir dəfə qapalı halda, VPN-də olmayan hostdan. Tunelin içindən uğurlu ping bu siyasət barədə heç nə sübut etmir və bu, əksər yerləşdirmələrin atladığı ölçmədir.