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"

Kapcsolódó cikkek