Dvi klientų grupės, vienas serveris: kur taikyti politiką
Potinkliai žymi grupes; jie jų neizoliuoja. Nuspręskite, kuris perdavimo kelias valdo taisyklę, tada parašykite matricą, kurią įgyvendinimas turi vykdyti.
Dviejų klientų grupių talpinimas skirtinguose potinkliuose atrodo kaip izoliacija, bet ja nėra. Adresai apibūdina, iš kur paketas tarsi ateina, o leidimas yra sprendimas, kurį priima jį persiunčiantis subjektas. Į šį klausimą atsako konfigūracija, o ne kaukė, todėl nuspręskite, kuris komponentas persiunčia lygiaverčių srautą, prieš rašydami bet kokią taisyklę.
Potinklis yra žymė, o ne taisyklė
Vieno baseino skyrimas grupei suteikia lengvai skaitomus adresus ir nieko daugiau. Klientas, priėmęs papildomą maršrutą, įgijo pasiekiamumą, o pasiekiamumas nėra autorizacija. Leidimas kalbėtis yra perdavimo sprendime, kuris gali gyventi dėmone arba branduolyje priklausomai nuo to, kaip sukonfigūruotas serveris.
Adreso nuosavybė yra tai, kas leidžia priešdėlį naudoti kaip grupės parinkiklį. Kiekviena autentifikuota tapatybė turi atitikti nuspėjamą adresą arba diapazoną, ir tas atitikimas sugenda, kai tik keli įrenginiai dalijasi vienu prisijungimo duomeniu ir vienu priskyrimu. Išspręskite tapatybę ir lygiagretumą prieš pasikliaudami šaltinio priešdėliu, nes politika, kuri spėja, kuri mašina skambina, netinkamu momentu autorizuoja ne tą.
Pasirinkite kelią, kuriuo eina lygiaverčių srautas
Kai dėmonas persiunčia lygiaverčių paketus savo procese, tie paketai niekada nepasiekia mazgo perdavimo kablio, todėl branduolio taisyklė jų nemato. Išjunkite tą vidinį persiuntimą ir branduolys taps perdavimo tašku, kuriame galioja įprastos perdavimo taisyklės.
# peer forwarding inside the daemon: enforce with per-group policy instead of FORWARD rules
client-to-client
# kernel forwarding path: remove the line above, then filter in the forward chain
Nukelti duomenų kanalai ir produkto valdomi serveriai skelbia savo vykdymo modelius, todėl patvirtinkite, kurį naudojate, o ne manykite bendruomenės elgseną. Gedimas, kurio verta vengti, yra taisyklė, kuri peržiūroje atrodo teisinga ir niekada nepaklausiama vykdymo metu.
Parašykite matricą prieš taisykles
Trumpa matrica lengviau peržiūrima nei taisyklių rinkinys, ir tai yra sutartis, kurią įgyvendinimas turi įvykdyti: tos pačios grupės lygiaverčiai leidžiami, tarp grupių esantys lygiaverčiai draudžiami, abi grupės leidžiamos į vieną pavadintą bendrą paslaugą, visa kita draudžiama. Užrašykite tas keturias eilutes prieš atidarydami ugniasienės redaktorių. Peržiūrėtojas, kuris neskaito taisyklių sintaksės, vis tiek gali patikrinti matricą. Tada įgyvendinimui belieka tik atitikti eilutes.
| Source | Destination | Decision |
|---|---|---|
| Group A address | Another Group A address | Allow |
| Group A address | A Group B address | Deny |
| Either group | The shared internal service | Allow |
| Either group | Anything not listed | Deny |
Rašydami laikykite tris paskirties klases atskirai. Paslauga VPN mazge yra vietinė įvestis, kitas klientas yra lygiaverčių tranzitas, o mašina už tinklų sietuvo yra kitas perdavimo kelias. Viena dosni taisyklė gali atsitiktinai suteikti visas tris, ir taip grupės politika virsta plokščiu tinklu su papildomais žingsniais. Rašykite klasę prie kiekvienos eilutės, kad ketinimas išliktų po kito redagavimo.
Sudėkite taisykles ten, kur jos išlieka
Pridėkite sprendimus ten pat, kur prižiūrima likusi ugniasienė, prieš bet kurią leidžiančią taisyklę, kuri kitaip juos prarytų. Taisyklių tvarka yra politikos dalis, o teisinga taisyklė, įdėta po plataus leidimo, nieko nevykdo. Užsirašykite taisyklių numerius prieš ir po pakeitimo. Politika, kuri egzistuoja redaktoriuje, bet ne veikiančiame taisyklių rinkinyje, yra planas, o ne kontrolė.
Nuspręskite, kas nutinka jau esamiems srautams, kai politika pasikeičia, nes sesija, atidaryta prieš pakeitimą, gali tęstis po jo. Jei išvykstantis narys turi iškart prarasti prieigą, taisyklių rinkiniui reikia būdo užbaigti tą būseną, o ne laukti, kol ryšys užsidarys pats.
Padarykite taisykles ilgalaikes per mechanizmą, kuris valdo likusią ugniasienę, ir užrašykite matricą šalia jų. Neužregistruota politika kito incidento metu vėl išvedama iš atminties, dažniausiai skubančio žmogaus.
Įrodykite iš abiejų pusių
Išbandykite pasiekiamumą toje pačioje grupėje, nesėkmę tarp grupių ir bendrą paslaugą iš po vieną klientą kiekvienoje grupėje. Vienas bandymas iš vieno kliento įrodo pusę matricos, o praleista pusė dažniausiai yra neteisingoji. Pakartokite draudimo kryptį du kartus, nes podėlyje laikoma sesija gali paslėpti vykdymo klaidą. Užrašykite, kurią porą tikrinote, kad kitas žmogus jos nekartotų.
Pakartokite patikrą IPv6, jei tunelis jį neša, ir palikite įprastą programų autentifikaciją. Šaltinio priešdėlis nėra paskyra, todėl tinklo politikos perėjimas nereiškia, kad paslauga turi pasitikėti skambinančiuoju.