Enamikus selgitustes sulanduvad kaks fakti SSTP kohta üheks, ja just see sulandumine teeb salvestused segadusttekitavaks. Rakenduse pakett jääb kaitstud kanali sisse alles ja seda kanalit kandev TCP-ühendus hoiab kogu aeg oma aadresse. Mööda juhet liigub kandja koos oma lastiga, mitte kunagi kummagi asendaja. Käige virn väljastpoolt sissepoole läbi ja märgistage iga piir, mille ületate.

Alustage välimisest kandjast

Esimene asi juhtmel on tavaline TCP-ühendus pordile 443, tõeliste aadressidega, mida ruuterid edasi saadavad. Just see ühendus jääb võrguaadresside tõlkimisest alles ja seda saab juurdepääsupakkuja lugeda. Kasuliku koorma kaitsmine ei eemalda kandjat ja see ei varja mahtu ega ajastust.

Kõik pärast seda punkti kantakse, mitte ei marsruudita. Kandja töötab edasi ka siis, kui sisemine vahetus ebaõnnestub.

Jälgige kapseldust sissepoole

Kaitstud kanali sees on SSTP juhtimisvahetus, seejärel PPP sessioon ja seejärel võrgupakett, mille klient soovib kohale toimetada. Igal kihil on oma läbirääkimine, oma veateated ja oma olekumasin. Seetõttu võib rike ühest vaatepunktist näha välja nagu TLS-i rike ja teisest nagu PPP rike. Kihtide järjekorras lugemine ütleb, milline olekumasin seiskus.

Üks salvestus näitab harva kogu virna. Välimised päised on nähtavad ainult väljaspool lõpp-punkti ja sisemised alles pärast dekapsuleerimist. See asümmeetria tuleb sellest, kus te seisate, mitte protokollist.

Allolev skeem rühmitab kihid, et neist üldse rääkida saaks. See ei ole baidipaigutus, see ei tõota ühte kirjet paki kohta ega ütle midagi selle kohta, kui palju krüptograafilisi toiminguid teostus sooritab.

outer IP header
  TCP to port 443
    TLS record layer
      SSTP control and data packets
        PPP frames
          inner IP packet
            application transport and payload

Märgistage vaatleja enne salvestuse lugemist

Kaks sama sessiooni salvestust vastavad erinevatele küsimustele ja selle otsustab liides, millel need tehti. Juurdepääsuteel näete kandjat ja TLS-i kirjeid ning saate mõõta suurusi ja intervalle ilma sisemist aadressi nägemata. Lõpp-punktis on sisemine pakett pärast dekapsuleerimist tavaline liiklus privaatse edastuspoliitika all.

Kirjutage liides ja suund igale salvestusele enne selle tõlgendamist. Füüsilisest adapterist tehtud jälg ei näita kunagi sisemise rakenduse aadresse tavaliste välimiste väljadena ja selle puudumise lugemine krüpteerimisveaks on tavaline viga. Tunneli seest tehtud jälg ei näita üldse mingit kandjat, seega ei saa see vastata küsimusele teenusepakkuja vaate kohta. Sama distsipliin kehtib lõpp-punkti logidele, mis registreerivad läbirääkimise järjekorra, mitte sisu.

Hoidke alles kontrollid, mida skeem tõestada ei suuda

Kihtide järjekord ei tõesta, et juurutus valideerib serveri sertifikaadi, peab läbirääkimisi toetatud TLS-i versiooni üle või autoriseerib konto. Igaüks neist on konfiguratsiooniotsus, mis ebaõnnestub kapseldusest sõltumatult.

Kontrollige neid kliendiga, mis teatab, mille üle ta läbi rääkis, selle asemel et joonisest järeldada. Alustage TLS-i kätlusest, seejärel SSTP vahetusest, seejärel PPP-st ja peatuge esimesel etapil, mis teatab veast. Esimene käsk trükib ahela ja läbiräägitud versiooni ning teine loetleb salvestuses leiduvad kätlused.

openssl s_client -connect vpn.corp.internal:443 -servername vpn.corp.internal
tshark -r sstp.pcap -Y "tls.handshake.type == 1"

Seotud artiklid