Galarazi VPN bezeroei tunelaren bidez elkar iristen
Zerbitzu bat iristea bide bat da, beste bezero bat iristea politika da. Aurkitu pareen trafikoa erabakitzen duen birbidalketa puntua, eta gero frogatu ukatzea bezero batetik.
Bi bezerok jauzi-ostalaria ireki dezakete eta, hala ere, ez dute elkar irekitzeko inolako konturik. Zerbitzu bat iristea birbidalketa-erabakia da, pare bat iristea politika-erabakia den bitartean, eta VPN pila gehienek objektu bereizietan gordetzen dituzte. Lehenengorako konfiguratzen duzun ezerk ez du bigarrena betearazten. Beraz, lana ez da arau bat gehitzea, baizik eta zerbitzari honetan pareen trafikoa erabakitzen duen objektua aurkitzea, ukatzea han idaztea eta bezero batetik frogatzea.
Zerbitzu partekaturako bidea ez da pareen arteko baimena
Bezeroen azpisarea iragartzeak pareari esaten dio nola jarri pakete bat kablean beste bezero baten helbiderantz. Pakete hori entregatuko den ala ez geroago erabakitzen da, birbidaltzen duenaren arabera. Linux atean FORWARD katea da; erabiltzaile-espazioko daemon baten barruan tunelaren beraren saio-taulak dira. Bide batek irisgarritasunari erantzuten dio eta baimena ukitugabe uzten du.
Horregatik, bideak soilik irakurtzen dituen isolamendu-probak ez du ezer frogatzen. /24 bat bezero guztiei bultza dakieke, pareen arteko pakete bakoitza birbidalketa-kakoan baztertzen den bitartean. Kasu arriskutsua alderantzizkoa da: arau espresik ez, lehenetsitako balio baimengarria eta inork probatu ez duelako soilik existitzen den isolamendua.
Idatzi baldintza lerro bakarrean terminala ireki aurretik. Iritsi zerbitzu-blokera eta jauzi-ostalarira, ez iritsi ezer gehiagora bezero-blokearen barruan.
Jakizu nor den parearen paketea benetan birbidaltzen duena
Zerbitzariaren bi jokabide berdinak dirudite bezeroaren aldetik eta arau desberdinak behar dituzte. Edo kernelak paketea tunelaren interfazetik berriro birbidaltzen du, edo daemonak saioen artean kopiatzen du eta kernelek ez du sekula ikusten.
WireGuard lehen taldekoa da: ez du pareen arteko etengailurik, beraz 10.8.0.4tik 10.8.0.5era pakete bat wg0-n iristen da, birbidalketa-kakoa jotzen du eta wg0tik berriro bideratzen da AllowedIPs bi helbideak estaltzen dituenean. OpenVPN bigarren taldea da, client-to-client zerbitzariaren konfigurazioan ezartzen denean, direktiba horrek paketea saioen artean ematen baitu erabiltzaile-espazioan. Egiaztatu kargatutako konfigurazioa direktiba horren bila ezer idatzi aurretik. Sekula trafikoa ikusten ez duen kernel-araua ezin da funtzionatzen duen arautik bereizi, eta horrela amaitzen da inplementazio bat isolamendurik gabe.
Irakurri konfigurazio eraginkorra, kargatuta dagoela suposatzen duzun fitxategia beharrean, banaketa-paketeek beren gehigarriak dakartzatelako. Daemonak birbidaltzen badu, ukatzea beraren bezero bakoitzeko kontroletan dago, eta ostalariaren suebakiak ostalarira zuzendutako trafikoa soilik iragazten du. Kernelak birbidaltzen badu, birbidalketa-kakoa da garrantzitsua den leku bakarra.
Bideratutako eta itzulitako inplementazioek beste proba bat behar dute: bezero urrun batek ikusten duen iturria ez da agian espero duzuna. Orduan bezeroen azpisarearekin bat datorren arauak ez du bat egiten ezerrekin. Idatzi itzulketatik bizirik ateratzen den helbidea bat-etortzea idatzi aurretik, eta hobetsi interfaze-parea bat etortzea NAT helbideak asmatu beharrean.
Eman helbide bakoitzari bere kabuz baliogabetu daitekeen identitatea
Isolamendua erori egiten da bi gailuk kredentzial bat partekatzen duten unetik. Identitate horri lotutako arauak ezin ditu bereizi, eta galdutako ordenagailu eramangarri bat baliogabetzeak talde osoa baliogabetzen du. Gailu bakoitzeko ziurtagiriak edo pare bakoitzeko gakoek baliogabetzea lokala eta politika irakurgarria mantentzen dituzte, helbide bakoitza pertsona edo makina bakar bati baitagokio. Diseinuak hori egin ezin duenean, esan eragiketa-eskuliburuan, ez deskribatu araua xehetzat.
Helbideen esleipenak politikarekin bat egin behar du. Erreserbatu bloke bat zerbitzuentzat, bloke bat bezeroentzat, eta banatu bezeroen helbideak kontrolatzen duzun multzo batetik, lehenengo-etorri-lehenengo-hartu barrutitik beharrean. Zerbitzariak itzultzen edo zubiak egiten baditu, eduki mapaketa-taula konfigurazioaren ondoan, taula hori baita hurrengo irakurleak araua berriro eratorri ahal izateko behar duena.
Jarri ukatzea paketeak tunela zeharkatzen duen lekuan
WireGuard trafikoa birbidaltzen duen atean, bi arauk estaltzen dute kasua: baimendu zerbitzu-blokea, eta gero baztertu bezero-blokearen gainerakoa. Interfaze-parea helbideak adina da garrantzitsua, helmugan soilik bat etortzeak LANetik datorren trafikoa ere harrapatzen baitu. Kargatu ordenean, baimena lehenengo ebaluatu dadin.
nftablesekin parea lehendik dagoen inet filter taula batean sartzen da, baimena lehenengo eta baztertzea geroago. Bi bat-etortzeek interfaze-parea eta helbideak finkatzen dituzte.
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
Irakurri katea atzera kargatu ondoren, irteera-egoeran fidatu beharrean, eta egiaztatu bi arauak zure asmoaren ordenan daudela. Gehitu ip6 arau egokiak IPv6 multzorako, bestela v4 parea apaindura besterik ez da pila biko tunel batean. Zerbitzariak jada birbidalketa-politika baimengarria badu, gehitu baztertzea katea osorik ordeztu beharrean.
OpenVPN zerbitzarian client-to-client gaituta dagoenean, birbidalketa-arau hauek ez datoz inoiz bat pareen trafikoarekin eta ukatzeak daemonaren beraren kontroletan bizi behar du. Mantendu kernel-arauak ostalarira zuzendutako trafikoarentzat, baina ez zenbatu isolamendu-kontrol gisa.
Frogatu ukatzea bezero batetik, ez zerbitzaritik
Atetik probatzeak ez du ezer frogatzen, tokian sortutako trafikoak irteera-bidea hartzen baitu eta sekula ez du birbidalketa-kakoa zeharkatzen. Erabili bi benetako bezero: zerbitzura iritsi behar duena eta ukatu behar dena. Exekutatu baimenduaren kasua lehenengo, tunel hautsi bat funtzionatzen duen politikatzat har ez dadin.
Baimendutako bezerotik, egiaztatu zerbitzuak bere portuan erantzuten duela. Bezero beretik, saiatu parearen helbidea eta espero isiluneko baztertzea, ukazioa beharrean:
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
Baztertutako pakete bat eta lineaz kanpoko pare bat denbora-muga bezala ikusten dira biak, beraz begiratu kontagailuak ondorio bat atera aurretik. Egiaztatu baztertze-arauaren kontagailua handitzen dela parea frogagarriki martxan dagoen bitartean. Errepikatu IPv6 bidez, non falta den ip6 arauak v4 ukatzea eraginkorra dirudien. Idatzi onartutako eta ukatuako emaitzak eskuliburuan datarekin, hurrengo migrazioak araua berriro eratorriko baitu.