Daje li vam TLS omotač privatnu mrežu? Obično ne
Omotač štiti jednu konfigurisanu vezu između svojih krajnjih tačaka. Rutirana VPN prenosi saobraćaj za svaku aplikaciju, što je drugačiji model pristupa.
TLS štiti kanal između dvije krajnje tačke i ne govori ništa o tome koje usluge se nalaze unutra. Omotač taj kanal pretvara u jedan konfigurisani prosljeđivač, za jednog slušaoca, prema jednoj destinaciji. Proizvod koji se prodaje kao SSL VPN obično dodaje interfejs, tablicu rutiranja i model pristupa oko istog primitiva. Miješanje to dvoje je način na koji se radni tunel zamijeni za mrežni pristup.
Šta uslužni omotač zapravo povezuje
Omotač sluša na lokalnom portu i prosljeđuje ono što stigne na konfigurisanu destinaciju, bilo da je to host i port ili lokalni program. Tu destinaciju bira onaj ko je napisao konfiguracijsku datoteku, po jedan slušalac odjednom. Instaliranje paketa ne stvara rute, virtuelni interfejs ni dostupnost za bilo šta što nije izričito navedeno. Čitajte konfiguraciju prije opisa paketa, jer opis pokriva klasu upotrebe, a datoteka pokriva vašu.
Zato korisno pitanje o omotaču nije da li šifrira, nego šta stoji na svakom kraju lanca koji gradi.
application -> local listener -> TLS connection -> remote listener -> configured backend
Taj lanac čitajte iz konfiguracije, a ne iz marketinškog naziva. Svaka strelica je zaseban mrežni skok sa svojom adresom i svojim pravilima pristupa.
Nađite gdje se TLS kanal završava
Ako omotač završava TLS, sve što dalje prosljeđuje nova je veza s novim svojstvima. Tok može biti običan tekst na privatnom segmentu ili može nositi drugi zaštićeni protokol u sebi. Pretpostaviti bilo šta od toga bez čitanja konfiguracije pozadinskog sistema je način na koji ljudi zaključe da vanjski sloj štiti podatke koje više nikada ne vidi. Proslijeđeni skok zaslužuje vlastitu provjeru, na svojoj adresi i portu.
Provjerite slušaoca i pozadinski sistem odvojeno, jer uspješno rukovanje na ulaznim vratima ne govori ništa o usluzi iza njih.
ss -ltnp | grep -F 443 openssl s_client -connect svc.example.net:443 -servername svc.example.net </dev/null | openssl x509 -noout -subject -dates
Prva komanda pokazuje koji proces posjeduje port i na kojoj adresi sluša. Druga ispisuje certifikat koji klijent zaista primi, a to je provjera identiteta koju broj porta ne može zamijeniti.
Šta rutirana VPN dodaje, a omotač ne
Rutirana VPN instalira interfejs, preuzima vlasništvo nad odabranim prefiksima i integriše se s rutiranjem i politikom pristupa hosta. Svaka aplikacija na mašini ima koristi, a da ne zna da tunel postoji. Omotač daje taj doseg jednom konfigurisanom slušaocu i tu se zaustavlja.
Prihvat je opet odvojen. VPN koja autentifikuje klijenta još uvijek treba autorizaciju koja kaže kojim resursima klijent smije pristupiti, a omotač koji autentifikuje partnera još uvijek treba pozadinski sistem koji provodi vlastite dozvole.
Postoji legitiman spoj: VPN protokol prenesen unutar TLS omotača na namjerno podržanom TCP rasporedu. To slaže dva sloja i ne čini omotač i VPN istom vrstom objekta.
Uporedite granicu koja ne uspijeva
Zapišite adresu prednjeg kraja, slušaoca, identitet partnera, cilj pozadinskog sistema i operaciju aplikacije prije nego što bilo šta promijenite. Zatim upoređujte uporedivo s uporedivim: uspjeh kroz drugačije ime hosta ili port ne dokazuje da su uslovi zaštitnog zida i certifikata bili identični.
Odbijen zahtjev prema pozadinskom sistemu nikada se ne smije popravljati isključivanjem provjere identiteta prednjeg kraja. To mijenja dijagnostikovanu grešku autorizacije za nedijagnostikovanu grešku povjerenja.
curl -sv --resolve svc.example.net:443:203.0.113.10 https://svc.example.net/health 2>&1 | head -30
Prikvačivanje imena za odabranu adresu razdvaja razrješavanje imena od dostupnosti, a to je obično najbrži način da se otkrije šta je od toga dvoje pokvareno.
Usporedba koja je važna imenuje zaštićeni par krajnjih tačaka, preneseni korisni teret, aplikacije koje ga koriste i dozvolu koja se provodi na odredištu. TLS doprinosi tom opisu, ali ga ne upotpunjuje.