Waqqaf lill-klijenti VPN milli jilħqu lil xulxin fit-tunnel
Jasal għal servizz hija rotta, jasal għal klijent ieħor hija politika. Sib il-punt tal-ġarr li jiddeċiedi t-traffiku bejn il-pari, imbagħad ipprova ċ-ċaħda minn klijent.
Żewġ klijenti jistgħu t-tnejn jiftħu l-jump host u xorta waħda ma jkollhomx x'jaqsmu jiftħu lil xulxin. Jasal għal servizz hija deċiżjoni tal-ġarr, filwaqt li jasal għal pari hija deċiżjoni tal-politika, u l-biċċa l-kbira tal-munzelli VPN iżommuhom f'oġġetti separati. Xejn minn dak li tikkonfigura għall-ewwel ma jinfurza t-tieni. Għalhekk il-ħidma mhix li żżid regola, iżda li ssib l-oġġett li jiddeċiedi t-traffiku bejn il-pari fuq dan is-server, tikteb iċ-ċaħda hemmhekk, u tippruvaha minn klijent.
Rotta lejn is-servizz kondiviż mhix permess bejn il-pari
L-avviż tas-subnet tal-klijenti jgħid lil pari kif ipoġġi pakkett fuq il-wajer lejn l-indirizz ta' klijent ieħor. Jekk dak il-pakkett jitwassalx jiġi deċiż wara, minn dak li jġarru. Fuq gateway Linux dik hija l-katina FORWARD; ġewwa daemon fl-ispazju tal-utent dik hija t-tabella tas-sessjonijiet tat-tunnel stess. Rotta twieġeb għall-aċċessabbiltà u tħalli l-permess ma jitmissx.
Għalhekk verifika tal-iżolament li taqra biss rotot ma tipprova xejn. /24 jista' jiġi mibgħut lil kull klijent filwaqt li kull pakkett bejn il-pari jiġi mwarrab fil-ganċ tal-ġarr. Il-każ perikoluż huwa l-oppost: l-ebda regola espliċita, valur awtomatiku permissiv, u iżolament li jeżisti biss għax ħadd ma ppruvah.
Ikteb ir-rekwiżit f'linja waħda qabel ma tiftaħ terminal. Ilħaq il-blokka tas-servizzi u l-jump host, ma tilħaqx xejn ieħor ġewwa l-blokka tal-klijenti.
Skopri min tassew iġarru l-pakkett tal-pari
Żewġ imġiba tas-server jidhru l-istess mill-ġenb tal-klijent u jeħtieġu regoli differenti. Jew il-qalba tġarru l-pakkett mill-interface tat-tunnel għal darba oħra, jew id-daemon jikkupjah bejn is-sessjonijiet u l-qalba qatt ma tarah.
WireGuard huwa fl-ewwel grupp: m'għandux swiċċ bejn il-pari, allura pakkett minn 10.8.0.4 għal 10.8.0.5 jasl fuq wg0, jolqot il-ganċ tal-ġarr u jerġa' jiġi dirett barra minn wg0 meta AllowedIPs ikopri ż-żewġ indirizzi. OpenVPN huwa t-tieni grupp kif client-to-client jiġi stabbilit fil-konfigurazzjoni tas-server, għax dik id-direttiva tgħaddi l-pakkett bejn is-sessjonijiet fl-ispazju tal-utent. Iċċekkja l-konfigurazzjoni mgħobbija għal dik id-direttiva qabel ma tikteb xejn. Regola tal-qalba li qatt ma tara traffiku ma tistax tiġi distinta minn regola li taħdem, u hekk tispiċċa implimentazzjoni mingħajr ebda iżolament.
Aqra l-konfigurazzjoni effettiva u mhux il-fajl li tassumi li huwa mgħobbi, għax il-pakketti tad-distribuzzjoni jġibu l-inklużjonijiet tagħhom stess. Jekk id-daemon iġarru, iċ-ċaħda tappartjeni lill-kontrolli tiegħu stess għal kull klijent, u firewall tal-host jiffiltra biss traffiku indirizzat lill-host. Jekk il-qalba tġarru, il-ganċ tal-ġarr huwa l-uniku post li jgħodd.
L-implimentazzjonijiet diretti u tradotti jeħtieġu verifika oħra: is-sors li jara klijent imbiegħed jista' ma jkunx dak li tistenna. Imbagħad regola li taqbel mas-subnet tal-klijenti ma taqbel ma' xejn. Innota l-indirizz li jibqa' wara t-traduzzjoni qabel ma tikteb it-tqabbil, u ppreferi tqabbel il-par tal-interfaces milli taħseb indirizzi NAT.
Agħti lil kull indirizz identità li tista' tiġi revokata waħedha
L-iżolament jiġġarraf malli żewġ apparati jaqsmu kredenzjali waħda. Regola marbuta ma' dik l-identità ma tistax tifridhom, u r-revoka ta' laptop mitluf tirrevoka l-grupp kollu. Ċertifikati għal kull apparat jew ċwievet għal kull pari jżommu r-revoka lokali u l-politika tinqara, għax kull indirizz jaqbel eżattament ma' persuna jew magna waħda. Fejn id-disinn ma jistax jagħmel dan, għidha fil-manwal operattiv minflok ma tiddeskrivi r-regola bħala fina.
L-allokazzjoni tal-indirizzi trid taqbel mal-politika. Irriżerva blokka għas-servizzi, blokka għall-klijenti, u qassam indirizzi tal-klijenti minn ġabra li tikkontrolla u mhux minn firxa ta' l-ewwel wieħed li jasal. Jekk is-server jittraduċi jew jagħmel pont, żomm it-tabella tal-immappjar ħdejn il-konfigurazzjoni, għax dik it-tabella hija dak li l-qarrej li jmiss jeħtieġ biex jerġa' joħroġ ir-regola.
Poġġi ċ-ċaħda fejn il-pakkett jaqsam it-tunnel
Fuq gateway li jġarru traffiku ta' WireGuard, żewġ regoli jkopru l-każ: ippermetti l-blokka tas-servizzi, imbagħad warrab il-bqija tal-blokka tal-klijenti. Il-par tal-interfaces jgħodd daqs l-indirizzi, għax tqabbil fuq id-destinazzjoni biss jaqbad ukoll traffiku li jiġi mil-LAN. Għabbihom f'dik l-ordni biex il-permess jiġi vvalutat l-ewwel.
B'nftables il-par jidħol f'tabella inet filter eżistenti, permess l-ewwel u mwarrab wara. Iż-żewġ tqabbil jiffissaw il-par tal-interfaces kif ukoll l-indirizzi.
nft add rule inet filter forward iifname "wg0" oifname "wg0" ip saddr 10.8.0.0/24 ip daddr 10.8.2.0/24 accept
nft add rule inet filter forward iifname "wg0" oifname "wg0" ip saddr 10.8.0.0/24 ip daddr 10.8.0.0/24 drop
Aqra l-katina lura wara t-tagħbija minflok tafda l-istat tal-ħruġ, u kkonferma li ż-żewġ regoli jinsabu fl-ordni li ħsibt. Żid regoli ip6 li jaqblu għall-ġabra IPv6, inkella l-par v4 huwa biss dekorazzjoni fuq tunnel b'żewġ stekki. Jekk is-server diġà għandu politika ta' ġarr permissiva, żid il-mwarrab minflok ma tissostitwixxi l-katina kollha.
Meta client-to-client ikun attivat fuq OpenVPN, dawn ir-regoli tal-ġarr qatt ma jaqblu mat-traffiku bejn il-pari u ċ-ċaħda trid tgħix fil-kontrolli tad-daemon stess. Żomm ir-regoli tal-qalba għat-traffiku indirizzat lill-host, iżda tqisx bħala l-kontroll tal-iżolament.
Ipprova ċ-ċaħda minn klijent, mhux mis-server
L-ittestjar mill-gateway ma jipprova xejn, għax it-traffiku ġġenerat lokalment jieħu t-triq tal-ħruġ u qatt ma jaqsam il-ganċ tal-ġarr. Uża żewġ klijenti veri: wieħed li għandu jasal għas-servizz, wieħed li għandu jiġi rrifjutat. Ħaddem l-ewwel il-każ tal-permess, biex tunnel miksur ma jiġix miżmum bħala politika li taħdem.
Mill-klijent permess, ikkonferma li s-servizz iwieġeb fuq il-port tiegħu. Mill-istess klijent, ipprova l-indirizz tal-pari u stenna mwarrab sieket minflok rifjut:
ping -c 3 -W 2 10.8.0.5
nc -z -w 2 10.8.0.5 22
nft list chain inet filter forward
iptables -vnL FORWARD
ping -6 -c 3 -W 2 fd00:8::5
Pakkett imwarrab u pari offline it-tnejn jidhru bħal timeout, għalhekk iċċekkja l-kontaturi qabel ma tikkonkludi xejn. Ikkonferma li l-kontatur tar-regola tal-mwarrab jiżdied waqt li l-pari huwa ovvjament attiv. Errepeti fuq IPv6, fejn regola ip6 nieqsa tħalli ċ-ċaħda v4 tidher effettiva. Innota r-riżultati aċċettati u rrifjutati fil-manwal bid-data, għax il-migrazzjoni li jmiss se terġa' toħroġ ir-regola.