Du faktoj pri SSTP kunfandiĝas en la plej multaj klarigoj, kaj ĝuste tiu kunfandiĝo igas kaptaĵojn konfuzaj. La aplikaĵa paketo pluvivas ene de la protektita kanalo, kaj la TCP-ligilo, kiu portas tiun kanalon, konservas siajn proprajn adresojn la tutan tempon. Sur la drato vojaĝas portilo kun sia ŝarĝo, neniam anstataŭaĵo por iu el ili. Trapaŝu la stakon de ekstere enen kaj etikedu ĉiun limon, kiun vi transiras.

Komencu ĉe la ekstera portilo

La unua afero sur la drato estas ordinara TCP-ligilo al pordo 443, kun realaj adresoj, kiujn enkursigiloj plusendas. Ĝuste tiu ligilo pluvivas la tradukon de retaj adresoj kaj estas tio, kion provizanto de aliro povas nombri. Protekti la ŝarĝon ne forigas la portilon, kaj ĝi ne kaŝas volumon nek tempon.

Ĉio post ĉi tiu punkto estas portata anstataŭ enkursigata. La portilo daŭre funkcias eĉ kiam la interna interŝanĝo malsukcesas.

Sekvu la enkapsuligon enen

Ene de la protektita kanalo sidas SSTP-kontrola interŝanĝo, poste PPP-sesio, poste la reta paketo, kiun la kliento volas ricevi. Ĉiu tavolo havas sian propran intertraktadon, siajn proprajn erarmesaĝojn kaj sian propran statan maŝinon. Do paneo povas aspekti kiel TLS-paneo el unu vidpunkto kaj kiel PPP-paneo el alia. Legi la tavolojn laŭ ordo diras al vi, kiu stata maŝino haltis.

Unu sola kaptaĵo malofte montras la tutan stakon. Eksteraj kaplinioj videblas nur ekster la finpunkto, kaj internaj nur post malkapsuligo. Tiu nesimetrio venas de kie vi staras, ne de la protokolo.

La suba diagramo grupigas la tavolojn, por ke oni povu paroli pri ili. Ĝi ne estas bajta aranĝo, ĝi ne promesas unu rikordon por paketo, kaj ĝi diras nenion pri tio, kiom da kriptografiaj operacioj efektivigo plenumas.

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

Etikedu la observanton antaŭ ol legi kaptaĵon

Du kaptaĵoj de la sama sesio respondas al malsamaj demandoj, kaj la interfaco, sur kiu ili estis faritaj, decidas al kiuj. Sur la alira vojo vi vidas la portilon kaj la TLS-rikordojn, kaj vi povas mezuri grandojn kaj intervalojn sen vidi internan adreson. Ĉe la finpunkto, post malkapsuligo, la interna paketo estas ordinara trafiko sub la privata plusenda politiko.

Skribu la interfacon kaj la direkton sur ĉiu kaptaĵo antaŭ ol interpreti ĝin. Spuro de fizika adaptilo neniam montros la adresojn de la interna aplikaĵo kiel ordinarajn eksterajn kampojn, kaj legi tiun mankon kiel ĉifran paneon estas ofta eraro. Spuro el la interno de la tunelo montras tute neniun portilon, do ĝi ne povas respondi demandon pri la vidpunkto de la provizanto. La sama disciplino validas por protokoloj de la finpunkto, kiuj registras la ordon de intertraktado kaj ne la enhavon.

Konservu la kontrolojn, kiujn la diagramo ne povas pruvi

La ordo de la tavoloj ne pruvas, ke iu instalado validigas la servilan atestilon, intertraktas subtenatan version de TLS aŭ rajtigas la konton. Ĉiu el tiuj estas agorda decido, kiu paneas sendepende de la enkapsuligo.

Kontrolu ilin per kliento, kiu raportas, pri kio ĝi intertraktis, anstataŭ konkludi el desegnaĵo. Komencu per la TLS-manpremo, poste la SSTP-interŝanĝo, poste PPP, kaj haltu ĉe la unua etapo, kiu raportas eraron. La unua komando presas la ĉenon kaj la intertraktitan version, kaj la dua listigas la manpremojn ĉeestajn en kaptaĵo.

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

Rilataj artikoloj