Nepouzdan VPN su tri odvojene granice, a ne jedna
Udaljeni partneri, operater na putu i klijent na vašem hostu tri su različite prijetnje. Pravilo firewall-a odgovara samo na prvu od njih.
„Ne vjerujem ovom VPN-u“ obično su tri izjave obučene u jednu rečenicu. Udaljeni partneri na toj mreži mogu doseći usluge na vašem hostu, operater koji vodi tunel može promatrati promet koji kroz njega prolazi, a klijentski softver koji ste instalirali može mijenjati mrežnu politiku vašeg računala. Uvjerenje koje vrijedi ispraviti jest da pravilo firewall-a, virtualna mašina ili pažljiv odabir operativnog sistema odgovara na sva tri. Svaka mjera odgovara tačno na jedno od njih.
Mit: jedna kontrola pokriva cijeli rizik
Uobičajena pretpostavka jest da je pridruživanje nepouzdanoj mreži jedna odluka s jednom mjerom ublažavanja. Ljudi biraju kontrolu kojoj već vjeruju, primijene je i smatraju rizik riješenim: firewall je uključen, radni prostor je jednokratan, klijent dolazi od uglednog dobavljača.
Te se kontrole ne preklapaju onako kako pretpostavka implicira. Firewall na hostu ograničava do čega udaljeni partner može doći i ne čini ništa protiv operatera koji prekida vaš TLS. Virtualna mašina odvaja radni prostor od datoteka hosta i ne čini ništa protiv klijentske komponente kojoj je dopušteno prekonfigurirati mrežni stek ispod oboje. Imenovati granicu koju svaka kontrola zapravo stvara jest cijela vježba.
Njihovo razdvajanje također vam kaže koji ste rizik odlučili prihvatiti. Većina stvarnih odluka ublažava jednu granicu i trpi drugu, što je u redu dokle god zapis o promjeni kaže koja je koja.
Do čega udaljeni partner zapravo može doći
Počnite s uslugama koje slušaju. Tunelsko sučelje koje se smatra široko pouzdanim jer su njegovi paketi stigli šifrirani uobičajena je greška, i ona svakog lokalnog slušaoca pretvara u moguću metu za svakoga drugog na toj mreži. Šifriranje štiti žicu između dvije krajnje točke; ono ne govori ništa o namjeri partnera na drugoj strani.
ss -tulpn sudo nft list ruleset ip -br addr
Vežite usluge na adresu koja im je potrebna, a ne na svako sučelje, i dopustite samo operacije koje odobreni zadatak zahtijeva. Držite prosljeđivanje, premošćivanje i proxy aplikacija eksplicitnim, jer dva mrežna priključka sama po sebi ne stvaraju tranzitni put, ali proxy pravilo to svakako može.
Odobreni jednokratni radni prostor smanjuje do čega udaljena mreža može doći, ali samo kada njegova konfiguracija dijeljenja odgovara tvrdnji. Dijeljeni folderi, integracija međuspremnika, agenti za vjerodajnice i upravljački kanali svi prelaze granicu koju je radni prostor trebao stvoriti. Oznaka radnog prostora ne dokazuje ništa o tome koji su od njih otvoreni.
NIST-ova arhitektura nultog povjerenja iznosi princip koji stoji iza svega ovoga: sama mrežna lokacija ne daje implicitno povjerenje. Autentifikacija resursa i dalje ima posla nakon što je tunel dopušten, kao i pitanje ko još dijeli tu mrežu.
Šta operater na putu može vidjeti
VPN premješta vaš promet na drugo mjesto na putu; on ne dodaje šifriranje aplikacija. Ako provajder prekida vaš TLS, provajder može čitati ono što bi vaš pregledač inače zaštitio, i nijedno lokalno pravilo firewall-a to ne mijenja.
Zadržite normalnu provjeru certifikata za stvarno odredište i razumite put rezolvera i metapodataka, jer DNS upit može otkriti više od korisnog tereta koji mu prethodi. Sami metapodaci, to jest koje ste adrese kontaktirali i kada, često odgovaraju na pitanje operatera bez ikakve potrebe za čitanjem sadržaja. Zato su „promet je šifrovan“ i „promet je privatan“ različite tvrdnje.
Ako je ta vidljivost neprihvatljiva za zadatak, odgovor je druga odobrena arhitektura, a ne više lokalnog filtriranja. Lokalno filtriranje ne može ukloniti promatrača s puta na kojem još sjedi.
Šta lokalni klijent smije mijenjati
Ovo je granica koju ljudi propuštaju, i ona je ta koja druge dvije čini besmislenim. Na Linuxu CAP_NET_ADMIN pokriva konfiguraciju sučelja, administraciju firewall-a i promjene ruta unutar svog mrežnog konteksta. Softver s tom sposobnošću može prepisati politiku koju ste upravo napisali.
getcap /usr/sbin/openvpn systemd-analyze security vpn-client.service ip netns list
Mrežni imenski prostor prava je granica za mrežno stanje i loša za sve ostalo: ne izolira datotečni sistem ni spremište vjerodajnica. Tretirajte ga kao jedan sloj, a ne kao kontejner za cijeli problem.
Nabavite klijent i njegovu konfiguraciju iz održavanog izvora, pregledajte ovlaštenja koja traži i držite privilegovane komponente pod kontrolom administratora. Virtualna mašina može biti dio kvalifikovane granice procjene, a da ne postane dopuštenje za pokretanje neobjašnjenog instalatera pored vrijednih vjerodajnica. Instalater radi s ovlaštenjima koja mu date, a ta ovlaštenja su granica.
Zapišite koju ste granicu prihvatili
Završite rečenicom koja imenuje četiri stvari: pouzdani lokalni kod, dopušteni udaljeni pristup, zaštićene podatke aplikacija i odnos s operaterom koji ostaje. Ta rečenica vrijedi više od sveobuhvatne tvrdnje da su VM, operativni sistem ili antivirusni proizvod učinili neprijateljsku mrežu sigurnom.
Zatim potvrdite da uska operacija radi i da traženo odbijanje još stoji, uključujući i nakon što tunel padne. Granica koja postoji samo dok je tunel podignut nije granica koju ste dokumentovali.
Nijedan test ne dokazuje da su sve ranjivosti odsutne, i pregled koji tvrdi suprotno previše obećava. Iskren izlaz imenuje preostali rizik i osobu koja ga je prihvatila.