Centrmezgls, kurā darbojas WireGuard, var turēt vienaudžu grupas atsevišķi bez atsevišķas saskarnes vai maršrutēšanas tabulas katrai grupai. Šo darbu veic divi mehānismi, un to sajaukšana ir ierastais iemesls, kāpēc politika izskatās pareiza un neko nedara. Viens slānis izlemj, kas drīkst pieprasīt avota adresi. Otrs izlemj, kur šim paketei drīkst iet.

Divi darbi, turēti atsevišķi

Tuneļa slānis atbild uz šauru jautājumu: vai šā vienaudža atslēga autorizēja šo iekšējo avota adresi. Pārsūtīšanas slānis atbild uz plašāku: vai šī pakete drīkst iziet uz minēto galamērķi. Neviens neatbild uz otra jautājumu, un neviens pats par sevi nav pilnīga piekļuves politika.

Šī atdalīšana ir iemesls, kāpēc vienaudzis var būt autentificēts, pareizi adresēts un tomēr nevarēt sasniegt resursdatoru, kuru tam nevajadzētu sasniegt. Tā izskaidro arī pretējo: ugunsmūra noteikums, kas atļauj visu, neko nepierāda par to, kas drīkst pieprasīt kuru adresi.

Projektējiet abus slāņus kopā, pēc tam pārbaudiet abus. Konfigurācija, kas ir pareiza vienā slānī un nepārbaudīta otrā, neizdodas atvērti vai slēgti atkarībā no noklusējuma.

Dodiet katram vienaudzim tikai tā paša adresi

Vienaudži ar vairākiem resursdatoriem kārdina servera pusē piešķirt visu grupas diapazonu. Šī atļauja ir avota adreses pieprasījums, tāpēc kompromitēts vai nepareizi konfigurēts klients var uzrādīt jebkuru diapazona adresi, un tunelis to pieņems. Piešķiriet /32 katram vienaudzim tā paša iekšējai adresei. Grupas diapazonus iestatiet tikai klientos, kur tie apraksta kurus galamērķus šis klients drīkst sasniegt, nevis kādus avotus tas drīkst izmantot.

Tad ugunsmūris salīdzina avotu, kuram tas var uzticēties. Noteikums, kas rakstīts grupas diapazonam, joprojām ir noderīgs grupējums, un tas kļūst nozīmīgs tikai tad, kad neviens atsevišķs vienaudzis nevar pieprasīt adresi, kas pieder citam dalībniekam.

Uzrakstiet pārsūtīšanas politiku, kas atdala grupas

Interesantā satiksme šeit ieiet un iziet pa to pašu tuneļa saskarni, tāpēc tā šķērso pārsūtīšanas ceļu, nevis resursdatora ievades ceļu. Noteikumi pieder esošajai tā ugunsmūra pārvaldnieka pārsūtīšanas ķēdei, kuram pieder resursdators, un tie ir fragmenti, nevis pilnīgs noteikumu kopums.

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

Pirmie divi noteikumi atļauj satiksmi katrā grupā. Pēdējais bloķē visu pārējo, kas šķērso šo saskarni, un tieši tas rada izolāciju starp grupām. Pievienojiet skaidrus noteikumus otrai adrešu saimei, ja tie ir vajadzīgi, jo IPv4 rakstīts drop neautorizē un neapraksta IPv6 uzvedību.

Secība izlemj, vai politika tiek piemērota

Noteikumu secība ir svarīgāka par pašu fragmentu. Vispārīgs noteikums, kas pieņem izveidotus savienojumus un atrodas pirms šiem ierakstiem, ļauj vecai starpgrupu plūsmai turpināties, tāpēc izolācija attiecas tikai uz jauniem savienojumiem. Izlemiet, kuru no šiem diviem iznākumiem vēlaties, pirms pārlādējat.

Pieņemšanas spriedums arī ne vienmēr ir galīgs starp ķēdēm tajā pašā āķī. Ja vēlāk darbojas cita bāzes ķēde, faktiskā politika ir kombinācija, tāpēc pārbaudiet skaitītājus, nevis failu, kuru rediģējāt. Skaitītāji ir lētākais pieejamais pierādījums. Noteikums bez pakešu skaita nesakrīt, un noteikums, kas sakrīt, kamēr vēlāka ķēde pieņem, pasaka, ka drop ir nepareizajā vietā.

Pārbaudiet matricu, nevis failu skaitu

Izveidojiet nelielu gaidāmo rezultātu matricu un pārbaudiet katru šūnu. A grupa uz A grupu jādarbojas, B grupa uz B grupu jādarbojas, un A uz B nedrīkst, abos virzienos un abām adrešu saimēm, ja tās atbalstāt.

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

Pirmie divi parāda, kas ir konfigurēts. Ping no nepareizās grupas dalībnieka parāda, kas patiesībā notiek. conntrack saraksts parāda, vai vecāka plūsma joprojām tiek pieņemta, un tieši tā izolācijas izmaiņas klusi nestājas spēkā.

Resursdatora pakalpojumi centrmezglā un piekļuve LAN aiz tā ir atsevišķi ceļi ar atsevišķu politiku. Pierakstiet, kurus no tiem matrica aptver, jo tests, kas pārbauda tikai vienaudžu savstarpējo satiksmi, neko nepasaka par nevienu no tiem.

Saistītie raksti