Bakit ang firewall gate na nakatali sa estado ng VPN ay hindi patakarang ping sa tunnel lamang
Ang patakarang sumasagot sa ping habang nakakonekta lamang ang pinangalanang VPN ay patakaran ng pampublikong address na nakatali sa walang kaugnayang estado, hindi permiso para sa tunnel lamang.
Isipin ang isang patakaran ng firewall na nagbubukas ng ICMP echo para sa pampublikong address ng server tuwing nakakonekta ang isang pinangalanang profile ng VPN. Binabasa ito na «ping sa tunnel lamang», at mali ang pagbasang iyon sa paraang mahalaga. Hindi nililimitahan ng patakaran kung sino ang makakaabot sa host; binabago nito ang isinasagot ng pampublikong interface habang may ibang koneksyon na aktibo. Dalawang magkaibang patakaran ito, at ang isa sa kanila ay tahimik na nagpapalawak ng pagkakalantad.
Ang patakarang akala mo ay isinulat mo
Ang sinasadyang pangangailangan ay karaniwang makitid: ang sistema ng pagmamanman, o ang nag-iisang administrador sa VPN, ay dapat makumpirma na buhay ang server. Kung isusulat na pangungusap, parang kontrol sa pag-access sa tunnel. Kung isusulat na bagay ng firewall, nagiging kundisyon sa pampublikong profile, dahil doon dumarating ang kahilingang echo.
Kapag ang kundisyon ay estado ng koneksyon at hindi pinagmulang address, ang hanay ng pinapayagang nagpapadala ay hindi na hanay ng mga kapares ng VPN. Sinumang makakaabot sa pampublikong address ay makapagpapadala ng kahilingang echo habang bukas ang gate. Ang tunnel ay hindi naging daan; ang tunnel ay naging switch.
Ang mga nagtataguyod ng ideyang ito ay karaniwang hindi nagsisinungaling tungkol sa epektong gusto nila. Kailangan nila ng pagsusuring sumasagot lamang kapag malusog ang link, at ang kalusugan ng link ay pinakamadaling maobserbahan sa pamamagitan ng VPN. Ang pagkakamali ay ituring ang hudyat ng pagkakaroon bilang desisyon sa pag-access, at pagkatapos ay awtomatikohin ito.
Ano ba talaga ang kinokontrol ng gate
Pinagsasama ng disenyong ito ang dalawang magkahiwalay na bagay, at ang paghihiwalay sa kanila ang malaking bahagi ng pagwawasto. Ang una ay saklaw: aling lokal na address, aling malalayong address, aling protocol at aling uri ng ICMP. Ang pangalawa ay kundisyon: kung ang bagay ng patakaran ay pinagana sa sandaling ito. Ang saklaw ang sinusuri ng firewall bawat packet; ang kundisyon ang isinusulat ng script sa imbakan ng patakaran, at ang dalawa ay pinagtatapat sa ganap na magkaibang orasan.
Kung ang pangangailangan ay talagang mga kapares ng VPN lamang, sinasagot ito ng saklaw nang walang anumang lohika ng estado ng koneksyon: itali ang patakaran sa interface ng tunnel o sa saklaw ng address ng tunnel, limitahan ang malalayong address sa pool ng kliyente, at tukuyin ang uri ng echo sa halip na «ICMP». Nananatiling tama ang patakarang iyon kapag walang VPN na aktibo at hindi ito mabubuksan ng walang kaugnayang profile.
Kung ang pangangailangan ay talagang pampublikong gate, sabihin ito sa teksto ng patakaran, dahil nagbabago ang pamantayan sa pagtanggap. Ang pampublikong gate ay dapat magpangalan ng eksaktong profile, tukuyin kung ano ang ibig sabihin ng «nakakonekta», at ideklara na ang mga pampublikong nagpapadala ay nasa saklaw ayon sa disenyo. Karamihan ng pagkalito ay nawawala sa sandaling mapilitan ang isang tao na isulat ang pangungusap na iyon.
Itayo ang bagay nang isang beses, pagkatapos ay i-toggle ito
Maglaan nang maaga ng isang patakarang may matatag na pagkakakilanlan, hindi pinagana, at hayaang baguhin ng controller ang estado ng pagpapagana lamang. Ang paglikha ng mga patakaran ayon sa pangalang ipinapakita sa bawat pagtakbo ang paraan kung paano nagtatapos ang imbakan ng patakaran na may limang halos magkaparehong bagay at walang mapagkakatiwalaang paraan upang alisin ang mga ito.
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
Ang pangalan ang matibay na tagatukoy; ang pangalang ipinapakita ay dokumentasyong maaaring i-edit ng tao. Itapat sa -Name at titigil ang script sa paglikha ng mga kopya. Sinasaklaw ng parehong hugis ng utos ang kaso ng IPv6 sa -Protocol ICMPv6 -IcmpType 128, ngunit hiwalay na patakaran iyon dahil magkaiba ang mga numero ng uri ng echo sa dalawang pamilya.
Panatilihing tahasan ang pamilya ng address at ang uri ng ICMP dahil sa pangalawang dahilan: ang -Protocol ICMPv4 na walang uri ay nagpapahintulot sa bawat mensaheng ICMPv4 na pinapayagan ng profile, kabilang ang mga hindi mo kailanman sinadyang tanggapin. Ang pagpangalan ng uri 8 ay nagpapaliit ng patakaran sa kahilingang echo, at iyon lamang ang ipinapadala ng pagsusuri ng maaabot.
Kung saan kontra ang awtomasyon sa layunin
Ang pag-poll ng profile ng kliyente tuwing ilang minuto ay hindi makalilikha ng agarang hangganan. Sa pagitan ng pagbagsak ng koneksyon at ng susunod na poll, sumasagot pa rin ang patakaran sa pampublikong address; sa pagitan ng pagbangon ng koneksyon at ng susunod na poll, hindi ito sumasagot. Ang pag-amin sa pagkaantala ay tapat, ang pagsabing ipinipilit ng disenyo ang mahigpit na invariant ay hindi tapat.
May bitag sa saklaw sa loob mismo ng pagsusuri ng estado. Iniulat ng Get-VpnConnection ang mga profile ng kliyenteng na-configure sa makina, bilang default para sa kasalukuyang gumagamit at para sa lahat ng gumagamit sa -AllUserConnection. Hindi nito iniulat ang mga malalayong gumagamit na kasalukuyang nakapasok sa isang server ng RRAS; iba iyon pagmamasid na may ibang cmdlet. Ang gate na itinayo sa mali ay hindi konektado sa anuman.
Pagkatapos, saklawin ang mga estadong walang nag-iiskrip: pagsisimula na pinagana na ang patakaran mula sa nakaraang pagtakbo, pag-crash ng controller habang bukas ang gate, at profile na binura habang buhay pa ang patakaran nito. Bawat isa ay nangangailangan ng tinukoy na default, at ang ligtas na default para sa pampublikong permiso ay hindi pinagana. Kung talagang hindi matiis ng pangangailangan ang bintana ng poll, maling kasangkapan ang patakarang nakatali sa estado at ang pagpapatupad ay kabilang sa tunnel, hindi sa pampublikong interface.
Sa huli, subukan ang pampublikong kahilingan nang dalawang beses, isang beses na buhay ang piniling koneksyon at isang beses na patay ito, mula sa host na wala sa VPN. Ang matagumpay na ping mula sa loob ng tunnel ay walang pinapatunayan tungkol sa patakarang ito, at iyon ang pagsukat na nilalaktawan ng karamihan ng deployment.