Az SSTP rétegei magyarázva: mit árul el még a belső csomag
Az SSTP PPP-t és egy belső csomagot csomagol TLS-be, de a külső TCP-kapcsolat továbbra is megmutatja, ki kivel beszélt. Címkézze fel az egyes rétegeket, mielőtt egy mentést elolvas.
Két tény a SSTP-ről összeolvad a legtöbb magyarázatban, és éppen ez az összeolvadás teszi zavaróvá a mentéseket. Az alkalmazás csomagja túlél a védett csatornán belül, és a csatornát vivő TCP-kapcsolat végig megtartja a saját címeit. A vezetéken egy hordozó és annak rakománya halad, soha nem helyettesítője bármelyiknek. Járja végig a vermet kívülről befelé, és címkézze fel minden határt, amelyet átlép.
Kezdje a külső hordozónál
Az első dolog a vezetéken egy közönséges TCP-kapcsolat a 443-as porthoz, valódi címekkel, amelyeket az útválasztók továbbítanak. Ez a kapcsolat az, amely túléli a hálózati címfordítást, és amelyet egy hozzáférési szolgáltató megszámolhat. A hasznos teher védelme nem távolítja el a hordozót, és nem rejti el a mennyiséget vagy az időzítést.
Minden, ami e pont után következik, hordozva van, nem pedig útválasztva. A hordozó akkor is működik, amikor a belső csere meghiúsul.
Kövesse a beágyazást befelé
A védett csatornán belül egy SSTP vezérlőcsere ül, majd egy PPP-munkamenet, majd a hálózati csomag, amelyet az ügyfél kézbesíteni szeretne. Minden rétegnek megvan a maga egyeztetése, a saját hibaüzenetei és a saját állapotgépe. Ezért egy hiba az egyik nézőpontból TLS-hibának, a másikból PPP-hibának tűnhet. A rétegek sorrendben való olvasása megmondja, melyik állapotgép állt le.
Egyetlen mentés ritkán mutatja a teljes vermet. A külső fejlécek csak a végponton kívül láthatók, a belsők pedig csak a kicsomagolás után. Ez az aszimmetria onnan jön, ahol áll, nem a protokollból.
Az alábbi ábra csoportosítja a rétegeket, hogy egyáltalán beszélni lehessen róluk. Nem bájt-elrendezés, nem ígér egy rekordot csomagonként, és semmit sem mond arról, hány kriptográfiai műveletet hajt végre egy megvalósítás.
outer IP header
TCP to port 443
TLS record layer
SSTP control and data packets
PPP frames
inner IP packet
application transport and payload
Címkézze fel a megfigyelőt, mielőtt egy mentést elolvas
Egy munkamenet két mentése különböző kérdésekre válaszol, és hogy melyikekre, azt az a felület dönti el, amelyen készültek. A hozzáférési úton a hordozót és a TLS-rekordokat látja, és méreteket és időközöket mérhet anélkül, hogy belső címet látna. A végponton, a kicsomagolás után a belső csomag közönséges forgalom a privát továbbítási szabályzat alatt.
Írja fel a felületet és az irányt minden mentésre, mielőtt értelmezi. Egy fizikai adapterről vett nyom soha nem fogja a belső alkalmazás címeit közönséges külső mezőkként megmutatni, és ezt a hiányt titkosítási hibaként olvasni gyakori tévedés. A belső alagútból vett nyom egyáltalán nem mutat hordozót, így nem válaszolhat a szolgáltató nézőpontjára vonatkozó kérdésre. Ugyanez a fegyelem vonatkozik a végpont naplóira, amelyek az egyeztetés sorrendjét rögzítik, nem a tartalmat.
Tartsa meg azokat az ellenőrzéseket, amelyeket az ábra nem tud bizonyítani
A rétegek sorrendje nem bizonyítja, hogy egy telepítés ellenőrzi a kiszolgáló tanúsítványát, támogatott TLS-verzióról tárgyal vagy engedélyezi a fiókot. Ezek mindegyike konfigurációs döntés, amely a beágyazástól függetlenül meghiúsul.
Ellenőrizze őket olyan ügyféllel, amely jelenti, miről tárgyalt, ahelyett hogy rajzból következtetne. Kezdje a TLS-kézfogással, majd az SSTP-cserével, majd a PPP-vel, és álljon meg az első szakasznál, amely hibát jelez. Az első parancs kiírja a láncot és az egyeztetett verziót, a második pedig felsorolja a mentésben jelen lévő kézfogásokat.
openssl s_client -connect vpn.corp.internal:443 -servername vpn.corp.internal
tshark -r sstp.pcap -Y "tls.handshake.type == 1"