Dijagrami dobavljača obično staju na kriptovanom slušaocu, jer to je dio s javnom adresom. Pitanje koje određuje sigurnosni stav je šta se dešava nakon dešifrovanja, kada paket postane običan IP i može dosegnuti sve što usmjerivačka tabela dopušta. Ako niko nije nacrtao tu dionicu, niko je ni ne posjeduje. Runbook ispod je prvo crta, a zatim poredi smještaje po tome šta dešifrovani zahtjev zaista prelazi.

Nacrtaj paket nakon dešifrovanja, ne prije

Vanjski put je dio koji dobavljači dokumentuju: javna krajnja točka, transportna politika koja dopušta vezu i servis koji je terminira. Unutrašnji put počinje u trenutku kada paket izgubi zaglavlje tunela, i odatle ga vode rute i filter pravila koja nemaju veze s tunelom. Stavi oba na istu stranicu, jer dijagram samo s prvim implicira da su prijem i autorizacija jedna odluka. Nisu, a jaz između njih je mjesto gdje većina smještaja pogriješi.

Napiši unutrašnju dionicu kao numerisanu sekvencu s imenovanim tipovima uređaja, a ne kao strelicu. Strelica skriva da li zahtjev prelazi filter, a prelazak ili neprelazak je cijelo pitanje. Svaki korak ispod imenuje uređaj i skup pravila koji tamo djeluje, pa se filter koji nedostaje pojavljuje kao praznina, a ne kao nešto što linija implicira.

  1. Udaljeni klijent: korisnički uređaj koji stvara tunel.
  2. Rubna politika: skup pravila koji dopušta vanjski transport do javnog slušaoca.
  3. Terminirajući uređaj: VPN krajnja točka koja dekapsulira i predaje paket običnom IP-u.
  4. Unutrašnji filter: skup pravila prosljeđivanja ili sigurnosnih grupa koji ograničava saobraćaj od klijenta do servisa.
  5. Host aplikacije: servis koji prima dešifrovani zahtjev.

Dvije politike, dva vlasnika

Vanjska politika odgovara ko smije uspostaviti tunel i izražava se u pravilima koja dopuštaju transport do terminirajućeg servisa. Unutrašnja politika odgovara do kojeg servisa autentificirani korisnik smije doći i živi u pravilima prosljeđivanja, sigurnosnim grupama ili u samoj aplikaciji. Jedan uređaj može ugostiti obje, a dizajn s više uređaja i dalje ima obje. Upravo njihovo odvojeno imenovanje omogućava da kažeš koja je zakazala kada korisnik ne može doći do aplikacije.

Kontrole prijema poput certifikata i višefaktorske autentifikacije odgovaraju na identitet i ništa drugo. One ne odlučuju o smještaju i ne daju dozvolu po resursu kada je korisnik unutra.

Smještaj odlučuje koju granicu zahtjev prelazi

Tri smještaja su uobičajena i svaki mijenja koju granicu dešifrovani zahtjev prelazi. Uporedi ih po tome šta tamo terminira, šta može vidjeti čisti tekst, koja kontrola još može odbiti zahtjev i šta pada zajedno s uređajem. Tabela ispod koristi te četiri kolone umjesto općenitog pitanja, jer je svaki odgovor zasebna dizajnerska odluka.

PlacementWhat terminates thereWhat sees plaintextWhich control can still denyFailure domain
Termination in a dedicated segmentA dedicated VPN endpointThe endpoint and anything on its segmentThe filter between that segment and the applicationThe segment path can bypass the filter if no rule sits on it
Termination on the edge firewallThe firewall's public listenerThe firewall, after decapsulationThe firewall's inner rule setAdmission and inspection fail together
Termination on the protected LANThe appliance's LAN legEvery host on the protected LANOnly a host control or a downstream gatewayThe appliance and the protected hosts fail together

Treći smještaj je onaj koji tiho uklanja provođenje, jer dionica na zaštićenom segmentu daje uređaju direktan put koji dijagram možda ne prikazuje. Pregledaj interfejse i rute, a ne sliku: ip route get 10.20.5.10 govori kroz koji interfejs bi paket izašao, a odgovor često nije onaj koji je dizajn pretpostavio. Klasična uloga firewall-a da kontroliše saobraćaj između postura, kako je opisano uNIST SP 800-41, koristan je test ovdje, jer uređaj s neograničenom dionicom prema zaštićenoj mreži ne kontroliše mnogo. Traženje rute je iskreniji dijagram od onog u prezentaciji.

Administracija pripada svom vlastitom izričito dopuštenom putu. Dopuštanje korisnicima da dođu do aplikacije nikada ne zahtijeva dopuštanje pristupa kontrolnom interfejsu uređaja, a te dvije dozvole treba dodijeliti različitim pravilima. Provjeri oba puta odvojeno, jer zajedničko pravilo skriva koji je otvoren.

Prevođenje mijenja šta nizvodna pravila mogu vidjeti

Prevođenje izvora je zgodno i uništava informacije. Nakon maskarade svaki klijent izgleda kao uređaj, pa nizvodno pravilo napisano da razlikuje korisnike to više ne može. To nije samo problem zapisa, to je problem politike: pravilo vezano za adresu klijenta tiho postaje pravilo vezano za gateway. Ako je politika po korisniku važna, sačuvaj izvor ili primijeni politiku prije prevođenja.

Povratni put zaslužuje istu pažnju. Zabilježi koju rutu odredište bira za povratni paket, jer asimetričan povratak zaobilazi inspekciju stanja i stvara vezu koja se uspostavi i zatim zaglavi. Oba smjera moraju preći granicu koju si nacrtao, inače je granica dekoracija.

sudo tcpdump -ni inside0 host 10.20.5.10
ip route get 10.20.5.10
sudo iptables -t nat -S POSTROUTING

Prihvati dopuštenu i odbijenu operaciju

Testiraj s pravog udaljenog klijenta, a ne s administrativnog hosta, jer administrativni host obično stoji negdje gdje korisnik nikada neće biti. Jedna dopuštena operacija dokazuje da put radi, a jedna odbijena dokazuje da politika uopšte nešto radi. Pokreni obje nakon svake promjene smještaja i zabilježi identitet izvora i odredište koje si koristio. Test koji dokazuje samo uspjeh ne može razlikovati ispravno pravilo od onog koje nedostaje.

Zatim testiraj slučajeve koji mijenjaju stanje: ponovno povezivanje, sesiju koja nadživi rotaciju ključa i otkaz samog uređaja. Uporedi ažuriranja, kapacitet i oporavak kao dio istog rasporeda, jer jedan uređaj koji drži nekoliko logičkih kontrola je jedna domena otkaza s nekoliko oznaka. Ni drugi uređaj nije nezavisan kada zajednička administrativna vjerodajnica ili neograničena ruta pobijedi granicu koju je trebao stvoriti.

Dokumentuj krajnju točku, dešifrovani put i kontrolu koja ga ograničava. Ta tri reda ostaju smislena kako god se implementacija zvala.

Povezani članci