WireGuard-társak csoportjai a hubon: forrástulajdon és szabályzat
Tartsa külön a tárcsoportokat szűk, társankénti forrás-címekkel és továbbítási szabályzattal, külön alagút-interfész nélkül minden csoporthoz.
A WireGuardot futtató hub külön tudja tartani a tárcsoportokat anélkül, hogy csoportonként külön interfészre vagy útválasztási táblára lenne szükség. Két mechanizmus végzi a munkát, és ezek összekeverése a szokásos oka annak, hogy egy szabályzat helyesnek látszik, és mégsem tesz semmit. Az egyik réteg eldönti, ki igényelhet forrás-címet. A másik eldönti, hová mehet ez a csomag.
Két feladat, külön tartva
Az alagút-réteg szűk kérdésre válaszol: engedélyezte-e ennek a társnak a kulcsa ezt a belső forrás-címet. A továbbítási réteg tágabbra válaszol: elhagyhatja-e ez a csomag abba az irányba. Egyik sem válaszol a másik kérdésére, és egyik sem önmagában teljes hozzáférési szabályzat.
Ez a szétválasztás az oka, hogy egy társ lehet hitelesített, helyesen címezett, és mégsem érhet el egy gazdagépet, amelyet nem lenne szabad elérnie. A fordítottját is megmagyarázza: egy mindent engedélyező tűzfal-szabály semmit sem bizonyít arról, ki melyik címet igényelheti.
Tervezze meg a két réteget együtt, majd tesztelje mindkettőt. Az a konfiguráció, amely az egyik rétegen helyes, a másikon pedig tesztelés nélküli, nyitottan vagy zártan hibázik az alapértéktől függően.
Csak a saját címét adja minden társnak
A többgazdagépes társak arra csábítják, hogy a kiszolgáló oldalon a teljes csoporttartományt megadja. Ez az engedély forrás-cím igénylése, ezért egy kompromittált vagy hibásan beállított kliens bármely címet bemutathat a tartományból, és az alagút elfogadja. Társanként /32-t rendeljen a saját belső címéhez. Csoporttartományokat csak a klienseken állítson be, ahol azok azt írják le, mely célokat érheti el az a kliens és nem azt, milyen forrásokat használhat.
A tűzfal ezután olyan forráshoz illeszti, amelyben megbízhat. A csoport tartományára írt szabály továbbra is hasznos csoportosítás, és csak akkor válik értelmessé, ha egyetlen társ sem igényelheti egy másik taghoz tartozó címet.
Írja meg a csoportokat szétválasztó továbbítási szabályzatot
Az érdekes forgalom itt ugyanazon az alagút-interfészen lép be és ki, tehát a továbbítási útvonalat járja be, nem a gazdagép bemeneti útvonalát. A szabályok ahhoz a meglévő továbbítási lánchoz tartoznak, amelyik tűzfal-kezelő a gazdagép birtokában van, és ezek töredékek, nem teljes szabálykészlet.
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
Az első két szabály engedélyezi a forgalmat az egyes csoportokon belül. Az utolsó minden mást blokkol, ami ezen az interfészen áthalad, és ez hozza létre a csoportok közötti elkülönítést. Adjon hozzá kifejezett szabályokat a másik címcsaládhoz, ha szüksége van rájuk, mert az IPv4-hez írt drop nem engedélyezi és nem is írja le az IPv6 viselkedését.
A sorrend dönti el, hogy a szabályzat érvényesül-e
A szabályok sorrendje fontosabb magánál a töredéknél. Egy általános szabály, amely elfogadja a létrejött kapcsolatokat, és e bejegyzések elé került, engedi, hogy egy régi csoportok közötti folyam folytatódjon, így az elkülönítés csak az új kapcsolatokra vonatkozik. Döntse el, melyik kimenetelt szeretné a kettő közül, mielőtt újratölt.
Az elfogadó ítélet sem mindig végleges a láncok között ugyanazon a horgon. Ha egy másik alap-lánc később fut, a tényleges szabályzat a kombináció, ezért a számlálókat vizsgálja, ne a szerkesztett fájlt. A számlálók a legolcsóbb elérhető bizonyíték. Egy csomagszámlálás nélküli szabály nem illeszkedik, és az a szabály, amely illeszkedik, miközben egy későbbi lánc elfogad, azt mondja meg, hogy a drop rossz helyen van.
A mátrixot tesztelje, ne a fájlok számát
Építsen egy kis mátrixot a várt eredményekből, és ellenőrizze minden cellát. Az A csoportból az A csoportba működnie kell, a B csoportból a B csoportba működnie kell, és A-ból B-be nem szabad, mindkét irányban és mindkét címcsaládra, ha támogatja őket.
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
Az első kettő megmutatja, mi van beállítva. Egy rossz csoport tagjától indított ping megmutatja, mi történik valójában. A conntrack lista megmutatja, hogy egy régebbi folyam még elfogadásra kerül-e, és így marad el csendben egy elkülönítési változás hatályba lépése.
A hub gazdagép-szolgáltatásai és a mögötte lévő LAN elérése külön útvonalak külön szabályzattal. Jegyezze fel, melyeket fedi le a mátrix, mert egy csak társ-társ forgalmat ellenőrző teszt egyikről sem mond semmit.