Počnite od matrice, a ne od sintakse firewall-a. Tabelu s ulogama s jedne strane i uslugama s druge može pregledati vlasnik aplikacije, o njoj raspravljati vlasnik sigurnosti i implementirati je onaj ko drži gateway. Taj pregled je jeftiniji od otklanjanja grešaka u pravilima oko kojih se niko nije dogovorio.

Sat pisanja kasnije štedi sedmicu arheologije pravila. Dizajn govori o tome ko do koje usluge dolazi, a to je dio koji preživi prenumeraciju.

Korak 1: imenujte uloge prije mreža

Počnite od ljudi, a ne od switcha. Zapišite svaku grupu koja se povezuje na daljinu i jednu rečenicu koja opisuje šta ta grupa radi, poput skladišnih radnika koji čitaju stanje zaliha ili izvođača koji održava jednu integraciju. Ako bi dvije grupe dobile identičan pristup, za tu svrhu one su jedna uloga.

Zaustavite se ovdje ako uloga postoji samo zbog organizacione šeme. Uloga bez posebne potrebe za uslugom postaje red identičnih ćelija, a identični redovi nekoga kasnije navedu da radi praktičnosti dodijeli cijelu podmrežu. Dijelite po tome šta ljudi rade, ne po tome ko potpisuje njihove troškove. Šest uloga je obično previše za malu kancelariju, a tri su često tačne.

Korak 2: pretvorite svaku ćeliju u izjavu o usluzi

Ćelija u kojoj piše „Aplikacije“ nije provjerljiva. Ćelija u kojoj piše „HTTPS prema ERP hostu na 443, iz pula zaposlenih“ jeste. Zamijenite svako ime mreže odredištem, protokolom i portom, pa dodajte zavisnost bez koje usluga ne može raditi, poput internog resolvera ili davatelja identiteta.

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

Kolona smjera hvata najskuplje greške. Dozvola da zaposleni otvore aplikaciju ne znači dozvolu da aplikacijski serveri otvore veze natrag prema laptopima zaposlenih, a pravilo sa stanjem koje dopušta prvi smjer često se čita kao dopuštenje drugog.

Korak 3: odlučite gdje identitet postaje politika

Neko mora pretvoriti autentificiranu sesiju u ulogu koju gateway može provesti. Podržane opcije uključuju grupnu politiku koju isporučuje backend za autentifikaciju, pouzdane atribute sesije ili odvojene pulove adresa po ulozi. Sve tri rade; oznaka koju pošalje klijent ne radi. Odaberite mehanizam koji vaš gateway dokumentira, a ne onaj koji opisuje objava na forumu.

Dodjela adrese koja samo izgleda kao da pripada VLAN-u isti je nedostatak odgovora u drugom kostimu. Netgateov vodič kroz firewall pravila OpenVPN-a čini razdvajanje jasnim: dopustiti tunelu da se podigne drugačija je odluka od dopuštanja prometa kroz njega.

Zapišite koji ste mehanizam odabrali i gdje je konfiguriran. Kada se uloga promijeni, ta bilješka je razlika između jedne izmjene i traganja kroz tri interfejsa. Ona također kaže revizoru gdje prvo pogledati.

Korak 4: pazite na izvornu adresu koju vidi odredište

Politika prosljeđivanja mora se podudarati sa stvarnim izvorom na granici. Ako gateway prevodi VPN klijente na vlastitu adresu, svaki nizvodni firewall vidi jedan izvor i gubi mogućnost odlučivanja po ulozi. Ako čuva adresu klijenta, povratni put mora postojati za taj pul.

Testirajte oba smjera prije pisanja konačnih pravila, zatim zabilježite opaženi izvor uz svaku ćeliju. Pokrenite istu provjeru s dvije različite uloge i uporedite rezultat. Ako obje pokažu adresu gatewaya, razlikovanje uloga je već izgubljeno. Matrica koja pretpostavlja sačuvane adrese dok gateway radi prevođenje izvora pada na prvom nizvodnom ACL-u.

Korak 5: testirajte svaku ćeliju prije puštanja

Pretvorite svaku dopuštenu ćeliju u jednu reprezentativnu operaciju, a svaku zabranjenu ćeliju u negativan slučaj. Pokrenite oba s klijenta u stvarnoj ulozi, ne s konzole gatewaya, jer konzola zaobilazi put koji testirate.

# 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'

Negativan slučaj koji se poveže nalaz je, a ne slučajnost, i mjesto mu je u matrici kao neuspjeloj ćeliji dok se pravilo ne popravi. Držite testne komande uz tabelu da ih sljedeći recenzent ponovo pokrene umjesto da iznova gradi obrazloženje.

Gotova tabela nadživljava gateway za koji je napisana. Pravila se mijenjaju s firmverom i dobavljačem, dok red koji kaže da izvođač dolazi do jedne projektne usluge ostaje istinit dok se taj posao ne promijeni.

Povezani članci