„Ne vjerujem ovom VPN-u“ obično su tri tvrdnje obučene u jednu rečenicu. Udaljeni partneri na toj mreži mogu dosegnuti 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čunara. Uvjerenje koje vrijedi ispraviti jeste da pravilo firewall-a, virtualna mašina ili pažljiv izbor operativnog sistema odgovara na sva tri. Svaka mjera odgovara tačno na jedno od njih.

Mit: jedna kontrola pokriva cijeli rizik

Uobičajena pretpostavka jeste 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 kontrole se 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 da prekonfiguriše mrežni stek ispod oboje. Imenovati granicu koju svaka kontrola zapravo stvara jeste cijela vježba.

Njihovo razdvajanje takođe 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. Tunelski interfejs koji se smatra široko pouzdanim jer su njegovi paketi stigli šifrovani uobičajena je greška, i ona svakog lokalnog slušaoca pretvara u moguću metu za svakoga drugog na toj mreži. Šifrovanje štiti žicu između dvije krajnje tač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 svaki interfejs, i dopustite samo operacije koje odobreni zadatak zahtijeva. Držite prosljeđivanje, bridžovanje 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 šifrovanje 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 da se čita sadržaj. 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 posmatrača s puta na kojem još sjedi.

Šta je lokalnom klijentu dopušteno mijenjati

Ovo je granica koju ljudi propuštaju, i ona je ta koja druge dvije čini besmislenim. Na Linuxu CAP_NET_ADMIN pokriva konfiguraciju interfejsa, 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 izoluje 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.

Povezani članci