Skupine sopotnikov WireGuard na zvezdišču: lastništvo vira in politika
Ohranite skupine sopotnikov ločene z ozkimi naslovi vira za vsakega sopotnika in politiko posredovanja, brez ločenega vmesnika tunela za vsako skupino.
Zvezdišče, ki izvaja WireGuard, lahko ohrani skupine sopotnikov ločene brez ločenega vmesnika ali usmerjevalne tabele za vsako skupino. Delo opravljata dva mehanizma, in njuno zamenjevanje je običajen razlog, da politika izgleda pravilna in ne naredi ničesar. Ena plast odloča, kdo sme zahtevati naslov vira. Druga odloča, kam se temu paketu sme iti.
Dve nalogi, ločeni
Plast tunela odgovarja na ozko vprašanje: ali je ključ tega sopotnika odobril ta notranji naslov vira. Plast posredovanja odgovarja na širše: ali sme ta paket oditi proti tistemu cilju. Nobena ne odgovarja na vprašanje druge in nobena sama po sebi ni popolna politika dostopa.
Ta ločitev je razlog, da je sopotnik lahko overjen in pravilno naslovljen, pa vseeno ne more doseči gostitelja, ki ga ne bi smel doseči. Pojasnjuje tudi nasprotno: pravilo požarnega zidu, ki dovoli vse, ne dokaže ničesar o tem, kdo sme zahtevati kateri naslov.
Načrtujte obe plasti skupaj, nato preizkusite obe. Konfiguracija, ki je pravilna na eni plasti in nepreizkušena na drugi, spodleti odprto ali zaprto glede na privzeto vrednost.
Vsakemu sopotniku dajte le njegov lastni naslov
Sopotniki z več gostitelji vas vabijo, da na strežniški strani dodelite celoten razpon skupine. To dovoljenje je zahteva po naslovu vira, zato lahko ogrožen ali napačno konfiguriran odjemalec predstavi kateri koli naslov iz razpona in tunel ga bo sprejel. Dodelite /32 na sopotnika za njegov lastni notranji naslov. Razpone skupin nastavljajte le na odjemalcih, kjer opisujejo katere cilje sme ta odjemalec doseči in ne katerih virov sme uporabljati.
Požarni zid nato primerja vir, ki mu lahko zaupa. Pravilo, napisano za razpon skupine, ostaja uporabno združevanje in postane smiselno šele, ko noben posamezni sopotnik ne more zahtevati naslova, ki pripada drugemu članu.
Napišite politiko posredovanja, ki loči skupine
Zanimiv promet tu vstopa in izstopa skozi isti vmesnik tunela, zato prečka pot posredovanja in ne vhodne poti gostitelja. Pravila sodijo v obstoječo verigo posredovanja tistega upravitelja požarnega zidu, ki ima gostitelja, in so drobci, ne popoln nabor pravil.
iifname "wg0" oifname "wg0" ip saddr 10.66.10.0/24 ip daddr 10.66.10.0/24 accept iifname "wg0" oifname "wg0" ip saddr 10.66.20.0/24 ip daddr 10.66.20.0/24 accept iifname "wg0" oifname "wg0" drop
Prvi dve pravili dovoljujeta promet znotraj vsake skupine. Zadnje blokira vse ostalo, kar prečka ta vmesnik, in to ustvarja izolacijo med skupinami. Dodajte izrecna pravila za drugo družino naslovov, če jih potrebujete, ker drop, napisan za IPv4, ne odobri in ne opiše vedenja IPv6.
Vrstni red odloča, ali se politika uporabi
Vrstni red pravil je pomembnejši od drobca samega. Splošno pravilo, ki sprejema vzpostavljene povezave in je postavljeno pred temi vnosi, pusti stari medskupinski tok, da se nadaljuje, zato izolacija velja le za nove povezave. Odločite se, kateri od teh dveh izidov želite, preden znova naložite.
Tudi sodba o sprejetju ni vedno dokončna med verigami na istem kavlju. Če se pozneje izvaja druga osnovna veriga, je dejanska politika kombinacija, zato pregledajte števce in ne datoteke, ki ste jo uredili. Števci so najcenejši razpoložljivi dokaz. Pravilo brez štetja paketov se ne ujema, pravilo, ki se ujema, medtem ko poznejša veriga sprejema, pa vam pove, da je drop na napačnem mestu.
Preizkusite matriko, ne števila datotek
Zgradite majhno matriko pričakovanih izidov in preverite vsako celico. Skupina A v skupino A bi morala delovati, skupina B v skupino B bi morala delovati, A v B pa ne bi smela, v obe smeri in za obe družini naslovov, če ju podpirate.
nft list ruleset wg show wg0 allowed-ips ping -c 2 10.66.10.5 conntrack -L -s 10.66.20.7 2>/dev/null | head
Prva dva pokažeta, kaj je konfigurirano. Ping od člana napačne skupine pokaže, kaj se v resnici zgodi. Seznam conntrack pokaže, ali je starejši tok še vedno sprejet, in prav tako sprememba izolacije tiho ne začne veljati.
Gostiteljske storitve na zvezdišču in dostop do omrežja LAN za njim so ločene poti z ločeno politiko. Zabeležite, katere od njih pokriva matrika, ker preizkus, ki preverja le promet med sopotniki, ne pove ničesar o nobeni od njiju.