Əksər izahlarda SSTP ilə bağlı iki fakt birləşdirilir və bu birləşmə tutmaları çaşdırıcı edən şeydir. Tətbiq paketi qorunan kanalın içində yaşayır və o kanalı daşıyan TCP bağlantısı boyunca öz ünvanlarını saxlayır. Telin üzərində gedən şey daşıyıcı və onun yüküdür, heç biri digərinin əvəzi deyil. Yığına xaricdən içəriyə doğru gedin və keçdiyiniz hər sərhədi adlandırın.

Xarici daşıyıcıdan başlayın

Telin üzərində ilk görünən şey 443 portuna adi TCP bağlantısıdır və ünvanlar realdır, marşrutlaşdırıcılar onları ötürür. Məhz bu bağlantı şəbəkə ünvan çevrilməsindən sağ çıxır və giriş provayderinin saya biləcəyi şeydir. Yükün qorunması daşıyıcını aradan qaldırmır və həcmi ya da vaxtı da gizlətmir.

Bu nöqtədən sonra hər şey marşrutlaşdırılmaq əvəzinə daşınır. Daxili mübadilə uğursuz olsa da daşıyıcı işləməyə davam edir.

Kapsullaşdırmanı içəriyə doğru izləyin

Qorunan kanalın içində SSTP idarə mübadiləsi, sonra PPP sessiyası, sonra müştərinin çatdırılmasını istədiyi şəbəkə paketi durur. Hər qatın öz danışığı, öz xəta mesajları və öz vəziyyət maşını var. Buna görə nasazlıq bir baxış nöqtəsindən TLS nasazlığı, digərindən PPP nasazlığı kimi görünə bilər. Qatları sıra ilə oxumaq hansı vəziyyət maşınının dayandığını deyir.

Tək bir tutma bütün yığını nadir hallarda göstərir. Xarici başlıqlar yalnız son nöqtədən kənarda görünür, daxili başlıqlar isə yalnız kapsuldan çıxarıldıqdan sonra. Bu asimmetriya protokoldan deyil, sizin durduğunuz yerdən gəlir.

Aşağıdakı diaqram qatları qruplaşdırır ki, onlar haqqında ümumiyyətlə danışmaq mümkün olsun. O, bayt düzümü deyil, hər paketə bir qeyd vəd etmir və bir tətbiqin neçə kriptoqrafik əməliyyat yerinə yetirdiyi barədə heç nə demir.

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

Tutmanı oxumazdan əvvəl müşahidəçini adlandırın

Bir sessiyanın iki tutması fərqli suallara cavab verir və hansının hansına cavab verdiyini çıxarıldıqları interfeys müəyyən edir. Giriş yolunda daşıyıcını və TLS qeydlərini görürsünüz, daxili ünvanı görmədən ölçüləri və intervalları ölçə bilərsiniz. Son nöqtədə, kapsuldan çıxarıldıqdan sonra daxili paket şəxsi yönləndirmə siyasəti altında adi trafikdir.

Hər tutmanın üzərinə şərh etməzdən əvvəl interfeysi və istiqaməti yazın. Fiziki adapterdən götürülmüş iz heç vaxt daxili tətbiqin ünvanlarını adi xarici sahələr kimi göstərməyəcək və bu yoxluğu şifrələmə nasazlığı kimi oxumaq geniş yayılmış səhvdir. Tunelin içindən götürülmüş iz heç bir daşıyıcı göstərmir, ona görə provayderin görüşü barədə suala cavab verə bilməz. Eyni intizam son nöqtə jurnallarına da aiddir; onlar məzmunu deyil, danışıq sırasını qeyd edir.

Diaqramın sübut edə bilmədiyi yoxlamaları saxlayın

Qat sırası hansısa yerləşdirmənin server sertifikatını yoxladığını, dəstəklənən TLS versiyası üzərində danışdığını və ya hesaba icazə verdiyini təsbit etmir. Bunların hər biri kapsullaşdırmadan asılı olmayaraq uğursuz olan konfiqurasiya qərarıdır.

Onları rəsmdən nəticə çıxarmaq əvəzinə nə üzərində danışdığını bildirən bir müştəri ilə yoxlayın. TLS əl sıxışması ilə başlayın, sonra SSTP mübadiləsi, sonra PPP və xəta bildirən ilk mərhələdə dayanın. Birinci əmr zənciri və danışılmış versiyanı çap edir, ikincisi tutmada olan əl sıxışmalarını sadalayır.

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

Əlaqəli məqalələr