„Ne vjerujem ovom VPN-u“ obično su tri tvrdnje odjevene 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čunala. Uvjerenje koje vrijedi ispraviti jest da pravilo vatrozida, virtualni stroj ili pažljiv odabir operacijskog sustava odgovara na sva tri. Svaka mjera odgovara toč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 odabiru kontrolu kojoj već vjeruju, primjenjuju je i smatraju rizik riješenim: vatrozid je uključen, radni prostor je jednokratan, klijent dolazi od uglednog dobavljača.

Te se kontrole ne preklapaju onako kako pretpostavka implicira. Vatrozid na hostu ograničava do čega udaljeni partner može doći i ne čini ništa protiv operatera koji prekida vaš TLS. Virtualni stroj odvaja radni prostor od datoteka hosta i ne čini ništa protiv klijentske komponente kojoj je dopušteno prekonfigurirati mrežni stog 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 pogreška, i ona svakog lokalnog slušatelja 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 radnje koje odobreni zadatak zahtijeva. Držite prosljeđivanje, premošćivanje i proxy aplikacija eksplicitnima, 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. Dijeljene mape, 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 načelo koje 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 tko još dijeli tu mrežu.

Što operater na putu može vidjeti

VPN premješta vaš promet na drugo mjesto na putu; on ne dodaje šifriranje aplikacija. Ako pružatelj prekida vaš TLS, pružatelj može čitati ono što bi vaš preglednik inače zaštitio, i nijedno lokalno pravilo vatrozida to ne mijenja.

Zadržite uobičajenu provjeru certifikata za stvarno odredište i razumite put razrješivača 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 šifriran“ 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.

Što lokalni klijent smije mijenjati

Ovo je granica koju ljudi propuštaju, i ona je ta koja druge dvije čini besmislenima. Na Linuxu CAP_NET_ADMIN pokriva konfiguraciju sučelja, administraciju vatrozida 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 sustav 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 privilegirane komponente pod kontrolom administratora. Virtualni stroj može biti dio kvalificirane granice procjene, a da ne postane dopuštenje za pokretanje neobjašnjenog instalatera pokraj 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 kôd, 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, operacijski sustav 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 dokumentirali.

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