Cineva cere un serviciu la care pot ajunge doar utilizatorii VPN, iar implementarea evidentă este să permită o listă de adrese de ieșire. Lista face ceva real: restricționează cine se poate conecta. Ea nu demonstrează că s-a folosit un tunel, pentru că adresa aparține celui care operează ieșirea, iar acel operator poate redirecționa traficul oricui. Diferența dintre aceste afirmații este întreaga problemă de proiectare.

Serverul vede o adresă pe conexiune

O conexiune sosește cu o adresă de sursă și un port de destinație, și atât raportează stratul de rețea. Când un client folosește un tunel, pachetele care ajung la listenerul tău vin de la ieșire sau de la traducerea din fața ei. Adresa clientului însuși, de obicei privată, nu apare niciodată. O regulă de firewall scrisă pentru intervalul LAN al clientului nu face, așadar, absolut nimic.

Tot ce urmează acelei adrese de sursă sunt date de aplicație, iar aplicația poate avea încredere în ele doar în măsura în care le autentifică.

Testează cum arată ieșirea ta

Privește calea de la ambele capete înainte de a scrie o regulă. Vederea clientului asupra ieșirii sale și vederea serverului asupra conexiunii sunt cele două fapte care contează.

curl -sS https://api.ipify.org; echo
ss -tn state established '( sport = :443 )' | head

Prima comandă raportează adresa publică sub care apare clientul, și aceasta este valoarea pe care trebuie să o conțină orice listă de permisiuni. A doua arată conexiunile stabilite pe server cu adresele partenerilor lor, și exact cu aceasta se va potrivi regula. Dacă cele două nu se potrivesc cu modelul tău mental, corectează modelul înainte de a edita politica. Un firewall de bază de date în cloud, o listă de permisiuni a aplicației și un echilibrator de încărcare pot vedea fiecare un alt strat de traducere.

Doar una dintre cele două mulțimi de ieșire poate fi listată

Un caz poate fi verificat în momentul cererii, iar celălalt nu, ceea ce produce garanții foarte diferite.

curl -sS https://check.torproject.org/torbulkexitlist | wc -l

Lista publicată de ieșiri Tor poate fi obținută și comparată, în funcție de vechimea listei și de politica fiecărei ieșiri, așa că o regulă de refuz împotriva ieșirilor cunoscute este aplicabilă și verificabilă. Nu există un registru echivalent pentru VPN-urile comerciale. Adresele se rotesc, mulți furnizori nu publică nimic, iar un tunel poate rula pe o adresă de cloud închiriată care nu a aparținut niciodată unei VPN. Lista pe care o compui este o instantanee a adreselor observate, iar extinderea ei la intervale de găzduire adaugă sarcini nelegate fără a adăuga dovezi.

Folosește adresele ca intrare de politică, nu ca dovadă

Decide pentru ce este regula. O restricție de rețea ar trebui să rămână îngustă, să înregistreze adresa observată cu data și motivul, și să le dea utilizatorilor legitimi o cale de recuperare când li se schimbă ieșirea. Controlul accesului are nevoie de un cont autentificat sau de un token semnat, pentru că doar acestea leagă o cerere de o identitate. Scorul de risc poate folosi adresa ca un singur semnal nesigur, acceptând pozitivele false și punctele lui oarbe. A scrie regula ca decizie de produs este onest; a o scrie ca verificare că există un tunel nu este.

Cererea în oglindă, recuperarea adresei reale a utilizatorului din spatele unei VPN, eșuează din același motiv: o conexiune poartă o adresă, iar o schimbare între sesiuni este compatibilă cu mai multe explicații. Tratează valoarea anterioară ca istoric, nu ca adevăr.

Articole similare