Plasti SSTP razložene: kaj še vedno razkrije notranji paket
SSTP ovije PPP in notranji paket v TLS, a zunanja povezava TCP še vedno kaže, kdo se je pogovarjal s kom. Označite vsako plast, preden preberete zajem.
V večini razlag se dve dejstvi o SSTP zlijeta skupaj in prav to zlitje naredi zajeme zmedene. Paket aplikacije preživi znotraj zaščitenega kanala, povezava TCP, ki ta kanal nosi, pa ves čas ohranja svoje naslove. Po žici gre nosilec skupaj s svojim tovorom, nikoli nadomestilo za katerega od njiju. Prehodite sklad od zunaj navznoter in označite vsako mejo, ki jo prestopite.
Začnite pri zunanjem nosilcu
Prva stvar na žici je običajna povezava TCP na vrata 443, z resničnimi naslovi, ki jih usmerjevalniki posredujejo. Prav ta povezava preživi prevajanje omrežnih naslovov in je tisto, kar ponudnik dostopa lahko prešteje. Zaščita tovora nosilca ne odstrani in ne skrije prostornine ali časa.
Vse po tej točki se nosi, ne usmerja. Nosilec deluje naprej, tudi ko notranja izmenjava spodleti.
Sledite inkapsulaciji navznoter
Znotraj zaščitenega kanala sedi krmilna izmenjava SSTP, nato seja PPP, nato omrežni paket, ki ga želi odjemalec prejeti. Vsaka plast ima svoja pogajanja, svoja sporočila o napakah in svoj stroj stanj. Zato je lahko okvara z enega vidika videti kot okvara TLS, z drugega pa kot okvara PPP. Branje plasti po vrsti pove, kateri stroj stanj se je ustavil.
En zajem le redko pokaže celoten sklad. Zunanje glave so vidne le zunaj končne točke, notranje pa šele po dekapsulaciji. Ta asimetrija izhaja iz tega, kje stojite, ne iz protokola.
Spodnji diagram združuje plasti, da se o njih sploh da govoriti. Ni bajtna postavitev, ne obljublja enega zapisa na paket in ne pove ničesar o tem, koliko kriptografskih operacij izvede izvedba.
outer IP header
TCP to port 443
TLS record layer
SSTP control and data packets
PPP frames
inner IP packet
application transport and payload
Označite opazovalca, preden preberete zajem
Dva zajema iste seje odgovarjata na različna vprašanja, o tem, na katera, pa odloča vmesnik, na katerem sta bila zajeta. Na dostopni poti vidite nosilca in zapise TLS, velikosti in intervale pa lahko merite, ne da bi videli notranji naslov. Na končni točki je po dekapsulaciji notranji paket običajen promet po zasebni politiki posredovanja.
Na vsak zajem napišite vmesnik in smer, preden ga razložite. Sled s fizičnega vmesnika nikoli ne bo prikazala naslovov notranje aplikacije kot običajnih zunanjih polj, branje te odsotnosti kot okvare šifriranja pa je pogosta napaka. Sled iz notranjosti tunela ne pokaže nobenega nosilca, zato ne more odgovoriti na vprašanje o pogledu ponudnika. Ista disciplina velja za dnevnike končne točke, ki beležijo vrstni red pogajanj in ne vsebine.
Ohranite preverjanja, ki jih diagram ne more dokazati
Vrstni red plasti ne dokaže, da namestitev preverja strežniško potrdilo, pogaja podprto različico TLS ali pooblasti račun. Vsako od tega je konfiguracijska odločitev, ki spodleti neodvisno od inkapsulacije.
Preverite jih z odjemalcem, ki poroča, o čem se je pogajal, namesto da sklepate iz risbe. Začnite s stiskom rok TLS, nato z izmenjavo SSTP, nato s PPP, in ustavite se na prvi stopnji, ki sporoči napako. Prvi ukaz izpiše verigo in pogajano različico, drugi pa našteje stiske rok, ki so v zajemu.
openssl s_client -connect vpn.corp.internal:443 -servername vpn.corp.internal
tshark -r sstp.pcap -Y "tls.handshake.type == 1"