Dve klientske skupiny, jeden server: kde uplatniť politiku
Podsiete označujú skupiny, ale neizolujú ich. Rozhodnite, ktorá cesta preposielania vlastní pravidlo, potom napíšte maticu, ktorú musí implementácia presadiť.
Umiestnenie dvoch klientskych skupín do rôznych podsietí vyzerá ako izolácia, a nie je. Adresy opisujú, odkiaľ paket zdanlivo prichádza, zatiaľ čo povolenie je rozhodnutie toho, kto ho preposiela. Na túto otázku odpovedá konfigurácia, nie maska, takže rozhodnite, ktorý komponent preposiela prevádzku medzi rovesníkmi, skôr než napíšete akékoľvek pravidlo.
Podsieť je označenie, nie pravidlo
Pridelenie jedného fondu na skupinu vám dá čitateľné adresy a nič viac. Klient, ktorý prijme dodatočnú trasu, získal dosiahnuteľnosť, a dosiahnuteľnosť nie je autorizácia. Povolenie hovoriť spočíva v rozhodnutí o preposielaní, ktoré môže žiť v démone alebo v jadre podľa toho, ako je server nakonfigurovaný.
Vlastníctvo adresy je to, čo robí prefix použiteľným ako selektor skupiny. Každá overená identita musí zodpovedať predvídateľnej adrese alebo rozsahu, a toto mapovanie zlyhá, len čo niekoľko zariadení zdieľa jeden údaj a jedno pridelenie. Vyriešte identitu a súbežnosť skôr, než sa spoliehate na prefix zdroja, pretože politika, ktorá hádže, ktorý stroj volá, oprávni ten nesprávny v najhoršom okamihu.
Vyberte cestu, ktorá prenáša prevádzku medzi rovesníkmi
Keď démon preposiela pakety rovesníkov vo svojom procese, tieto pakety nikdy nedosiahnu hák preposielania hostiteľa, takže ich pravidlo jadra nemôže vidieť. Vypnite toto vnútorné preposielanie a jadro sa stane bodom preposielania, kde platia bežné pravidlá preposielania.
# 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
Odľahčené dátové kanály a servery spravované produktom zverejňujú vlastné modely presadzovania, takže overte, ktorý z nich prevádzkujete, namiesto toho, aby ste predpokladali správanie komunity. Zlyhanie, ktorému sa oplatí vyhnúť, je pravidlo, ktoré vyzerá správne pri kontrole a nikdy sa za behu nevyhodnotí.
Napíšte maticu skôr než pravidlá
Krátka matica sa kontroluje ľahšie ako sada pravidiel a je to zmluva, ktorú musí implementácia splniť: rovesníci rovnakej skupiny povolení, rovesníci medzi skupinami zakázaní, obe skupiny smú k jednej pomenovanej zdieľanej službe, všetko ostatné zakázané. Napíšte tieto štyri riadky, než otvoríte editor firewallu. Recenzent, ktorý nečíta syntax pravidiel, predsa maticu skontroluje. Implementácia potom musí len zodpovedať riadkom.
| 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 |
Pri písaní držte tri triedy cieľov oddelené. Služba na hostiteľovi VPN je lokálny vstup, iný klient je tranzit medzi rovesníkmi a stroj za bránou je iná cesta preposielania. Jedno štedré pravidlo môže omylom povoliť všetky tri, a tak sa skupinová politika mení na plochú sieť s krokmi navyše. Napíšte triedu vedľa každého riadku, aby zámer prežil ďalšiu úpravu.
Umiestnite pravidlá tam, kde prežijú
Pridávajte rozhodnutia na to isté miesto, kde sa udržiava zvyšok firewallu, pred každé povoľujúce pravidlo, ktoré by ich inak pohltilo. Poradie pravidiel je súčasťou politiky a správne pravidlo za širokým povolením nepresadí nič. Poznamenajte si čísla pravidiel pred zmenou a po nej. Politika, ktorá existuje v editore, ale nie v bežiacej sade pravidiel, je plán, nie kontrola.
Rozhodnite, čo sa stane s už existujúcimi tokmi, keď sa politika zmení, pretože relácia otvorená pred zmenou môže pokračovať ďalej. Ak odchádzajúci člen musí okamžite stratiť prístup, sada pravidiel potrebuje spôsob, ako tento stav ukončiť, namiesto čakania, kým sa spojenie samo zavrie.
Uchovajte pravidlá mechanizmom, ktorý vlastní zvyšok firewallu, a maticu zaznamenajte vedľa nich. Nezaznamenaná politika sa pri ďalšom incidente znova odvodzuje z pamäti, zvyčajne niekým v zhone.
Dokážte to z oboch strán
Otestujte dosiahnuteľnosť v rámci skupiny, zlyhanie medzi skupinami a zdieľanú službu z jedného klienta v každej skupine. Jediný test z jedného klienta dokáže polovicu matice a polovica, ktorú vynechá, je zvyčajne tá nesprávna. Zopakujte smer zakázania dvakrát, pretože uložená relácia môže skryť chybu presadzovania. Zaznamenajte, ktorú dvojicu ste testovali, aby ju ďalší človek neopakoval.
Zopakujte kontrolu na IPv6, ak ho tunel prenáša, a ponechajte bežné overovanie aplikácií. Prefix zdroja nie je účet, takže prejdenie sieťovej politiky neznamená, že by služba mala dôverovať volajúcemu.