SSL VPN ili TLS omotač? Usporedite granicu koja je pala
Dva dizajna mogu staviti TLS na 443 i značiti posve različite stvari. Četiri provjere: konfigurirani put, backend, preneseni promet i granica kvara.
Dva dizajna mogu pokretati TLS na portu 443 i time značiti posve različite stvari. Omotač štiti jednu konfiguriranu vezu između lokalnog porta i udaljenog backenda. Dizajn mrežnog pristupa prenosi odabrani promet i mijenja što klijent može dosegnuti. Prođite četiri provjere ispod redom i znat ćete na što gledate, što je obično dovoljno da znate koja je razina zakazala.
Počnite s vezom koju ste zaista konfigurirali
Zapišite prednji i stražnji kraj prije nego što usporedite proizvode. Omotač sluša na lokalnoj adresi i prosljeđuje na udaljenu ili pokreće program na udaljenoj strani, i taj par je cijeli njegov ugovor. Druge aplikacije klijenta ne znaju ništa o tome osim ako ih ne usmjerite na njega. To nije nedostatak alata, to je svrha alata.
Ugovor mrežnog dizajna drugačiji je i izražen je u rutama i politici, a ne u paru portova.
Zabilježite koji od tih dvaju opisa odgovara vašem dijagramu. Ako je odgovor jedno mapiranje porta s certifikatom u sredini, imate omotač čak i kada naziv proizvoda kaže VPN. Ako je odgovor tunelsko sučelje i promjene ruta, imate mrežni dizajn čak i kada radi na 443.
Provjerite na što se omotač spaja
Pročitajte postavke slušanja i spajanja i pratite ih do stvarnog backenda. Omotač koji prosljeđuje na port baze podataka ne otvara web aplikaciju, a omotač koji izvršava program pokreće taj program umjesto da objavi sve ostalo što host pokreće. Backend je jedino što omotač zna.
Zatim odlučite je li proslijeđeni tok običan tekst nakon što TLS završi. Omotana veza štiti segment između dvaju omotača, a ono što se dogodi nakon udaljenog omotača zasebno je pitanje. Zato je omatanje nečega što već nosi vlastitu zaštitu ponekad razumno, a ponekad samo dodatni pokretni dijelovi. Provjerite sljedeći skok umjesto da pretpostavite bilo koji odgovor.
openssl s_client -connect wrapper.lab.example:443 -servername wrapper.lab.example -verify_return_error
sudo ss -ltnp | grep 443Prva naredba pokazuje certifikat koji se klijentu zaista nudi, a druga pokazuje što sluša na hostu. Usporedite to ime certifikata s onim koje ste očekivali prije nego što pročitate bilo što drugo.
Provjerite koji promet dizajn prenosi
Dizajni mrežnog pristupa prenose odabrani promet i integriraju se s klijentovim usmjeravanjem i politikom pristupa. Prijam nije autorizacija, pa autentificirana veza i dalje treba odluku o tome kojim resursima može dosegnuti. Portal bez klijenta treći je model koji posreduje podržane operacije bez toga da se ikad pojavi kao tun sučelje.
Oznaka proizvoda ne govori koji ste od tih modela kupili, a broj porta govori još manje.
Slojevitost je moguća i ne smije zbuniti usporedbu. Tunelski protokol i sam može biti omotan u TLS u podržanom TCP rasporedu, što dodaje sloj oko tunela bez pretvaranja omotača u tunel. To je dizajnerska odluka s vlastitim ponašanjem izvedbe i kvara i zaslužuje redak u dijagramu. Zabilježite je, pa usporedite osnovne modele, a ne vanjski omotač.
Provjerite granicu kvara, ne oznaku
Zapišite činjenice za jedan neuspjeli pokušaj: adresa prednjeg kraja, slušatelj, identitet koji je klijent provjerio, cilj backenda i zatražena operacija. Uspješno rukovanje dokazuje da je vanjski TLS završen i ne govori ništa o backendu. Odbijanje backenda drugačiji je događaj od kvara identiteta na prednjem kraju, i nijedno se ne popravlja uklanjanjem -verify_return_error iz klijenta. Usporedite slično sa sličnim, jer uspjeh kroz drugo ime hosta ili port ne pokazuje da su uvjeti bili isti.
Port 443 konvencija je koja pušta TLS kroz međusklopove. On ne čini proizvoljan promet sličnim web zahtjevu za uređaj politike.
Završite jednom rečenicom koja imenuje par krajnjih točaka, što se prenosi, koje aplikacije ga koriste i koje dopuštenje odredište provodi. Dizajn koji ne može popuniti te četiri praznine nije završen, što god njegova oznaka tvrdila. Ta je rečenica i najbrži način da objasnite dizajn onome tko posjeduje vatrozid.