Začnite maticou, nie syntaxou firewallu. Tabuľku s rolami na jednej strane a službami na druhej môže skontrolovať vlastník aplikácie, prediskutovať vlastník bezpečnosti a implementovať ten, kto drží bránu. Táto revízia je lacnejšia než ladenie pravidiel, na ktorých sa nikto nedohodol.

Hodina písania ušetrí neskôr týždeň archeológie pravidiel. Návrh hovorí o tom, kto sa dostane ku ktorej službe, a to je časť, ktorá prežije prečíslovanie.

Krok 1: pomenujte roly pred sieťami

Začnite pri ľuďoch, nie pri prepínači. Zapíšte každú skupinu, ktorá sa pripája vzdialene, a jednu vetu opisujúcu, čo tá skupina robí, napríklad skladníci čítajúci stav zásob alebo dodávateľ spravujúci jednu integráciu. Ak by dve skupiny dostali rovnaký prístup, pre tento účel sú jednou rolou.

Zastavte sa tu, ak rola existuje len preto, lebo ju vyžaduje organizačná schéma. Rola bez vlastnej potreby služby sa stane riadkom identických buniek a identické riadky niekoho neskôr zvádzajú prideliť celú podsietu pre pohodlie. Deľte podľa toho, čo ľudia robia, nie podľa toho, kto podpisuje ich výdavky. Šesť rolí je pre malú kanceláriu zvyčajne veľa a tri bývajú správne.

Krok 2: premeňte každú bunku na výrok o službe

Bunka s textom „Aplikácie“ sa nedá overiť. Bunka s textom „HTTPS k hostiteľovi ERP na 443, z fondu zamestnancov“ overiť dá. Nahraďte každý názov siete cieľom, protokolom a portom a potom pridajte závislosť, bez ktorej služba nefunguje, napríklad interný prekladač alebo poskytovateľa identity.

CheckPasses whenStop if
Destination namedHost and port appear in the cellCell names a VLAN or a subnet
Direction statedInitiator and responder are both clearCell implies two-way access
Dependency listedDNS or identity path is explicitWhole infrastructure range is granted
Negative case writtenAt least one denied pair is recordedOnly allow rules exist

Stĺpec smeru zachytí najdrahšie chyby. Povolenie, aby zamestnanci otvorili aplikáciu, neznamená povolenie, aby aplikačné servery otvárali spojenia späť k notebookom zamestnancov, a stavové pravidlo, ktoré povoľuje prvý smer, sa často číta ako povolenie druhého.

Krok 3: rozhodnite, kde sa identita stáva politikou

Niekto musí premeniť overenú reláciu na rolu, ktorú brána dokáže vynútiť. Podporované možnosti zahŕňajú skupinovú politiku dodanú autentifikačným backendom, dôveryhodné atribúty relácie alebo samostatné fondy adries pre každú rolu. Všetky tri fungujú; štítok poslaný klientom nie. Vyberte mechanizmus, ktorý dokumentuje vaša brána, nie ten, ktorý opisuje príspevok na fóre.

Pridelenie adresy, ktorá len vyzerá, že patrí do VLAN, je tá istá neodpoveď v inom kostýme. Príručka Netgate k pravidlám firewallu OpenVPN robí oddelenie jasným: povoliť, aby tunel vznikol, je iné rozhodnutie než povoliť, aby ním prechádzala prevádzka.

Zapíšte, ktorý mechanizmus ste vybrali a kde je nakonfigurovaný. Keď sa rola zmení, tento záznam je rozdiel medzi jednou úpravou a honbou cez tri rozhrania. Tiež povie audítorovi, kam sa pozrieť najprv.

Krok 4: sledujte zdrojovú adresu, ktorú vidí cieľ

Politika preposielania musí na hranici zodpovedať skutočnému zdroju. Ak brána prekladá klientov VPN na svoju vlastnú adresu, každý nižšie položený firewall vidí jediný zdroj a stráca schopnosť rozhodovať podľa roly. Ak adresu klienta zachováva, musí pre tento fond existovať spiatočná cesta.

Otestujte oba smery, než napíšete konečné pravidlá, potom poznamenajte pozorovaný zdroj ku každej bunke. Spustite rovnakú kontrolu z dvoch rôznych rolí a porovnajte výsledok. Ak obe ukazujú adresu brány, rozlíšenie rolí sa už stratilo. Matica, ktorá predpokladá zachované adresy, kým brána robí preklad zdroja, zlyhá na prvom nižšom ACL.

Krok 5: otestujte každú bunku pred nasadením

Premeňte každú povolenú bunku na jednu reprezentatívnu operáciu a každú zakázanú bunku na negatívny prípad. Spustite oba z klienta v skutočnej role, nie z konzoly brány, pretože konzola obchádza cestu, ktorú testujete.

# allowed: staff role reaches the ERP endpoint
curl -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://erp.internal.example/health

# denied: the same role must not reach a management host
nc -vz -w 3 10.30.5.11 22

# observed source address at the destination
sudo tcpdump -ni any 'tcp port 443 and host 10.30.20.15'

Negatívny prípad, ktorý sa spojí, je zistenie, nie náhoda, a jeho miesto je v matici ako zlyhaná bunka, kým sa pravidlo neopraví. Nechajte testovacie príkazy vedľa tabuľky, aby ich ďalší recenzent spustil znova namiesto toho, aby znovu staval úvahu.

Hotová tabuľka prežije bránu, pre ktorú bola napísaná. Pravidlá sa menia s firmvérom a dodávateľom, zatiaľ čo riadok, ktorý hovorí, že dodávateľ dosiahne na jednu projektovú službu, platí, kým sa tá práca nezmení.

Súvisiace články