Во повеќето објаснувања два факти за SSTP се спојуваат, и токму тоа спојување ги прави снимките збунувачки. Пакетот на апликацијата опстојува внатре во заштитениот канал, а TCP врската што го носи тој канал ги задржува сопствените адреси постојано. По жицата патува носач заедно со својот товар, никогаш замена за едно од двете. Помине низ стекот однадвор навнатре и означете ја секоја граница што ја преминувате.

Започнете од надворешниот носач

Првото нешто на жицата е обична TCP врска кон портата 443, со вистински адреси што рутерите ги препраќаат. Токму таа врска го преживува преведувањето на мрежните адреси и е она што давателот на пристап може да го изброи. Заштитата на товарот не го отстранува носачот, и таа не го крие обемот ниту времето.

Сѐ по оваа точка се носи наместо да се насочува. Носачот продолжува да работи дури и кога внатрешната размена не успева.

Следете ја инкапсулацијата навнатре

Внатре во заштитениот канал стои контролна размена на SSTP, потоа PPP сесија, потоа мрежниот пакет што клиентот сака да му биде доставен. Секој слој има свои преговори, свои пораки за грешки и своја машина на состојби. Затоа дефектот од едно гледиште може да изгледа како дефект на TLS, а од друго како дефект на PPP. Читањето на слоевите по ред ви кажува која машина на состојби запре.

Еден снимак ретко го покажува целиот стек. Надворешните заглавија се видливи само надвор од крајната точка, а внатрешните само по декапсулацијата. Таа асиметрија доаѓа од местото каде што стоите, а не од протоколот.

Дијаграмот подолу ги групира слоевите за воопшто да може да се зборува за нив. Тој не е бајтов распоред, не ветува еден запис по пакет и не кажува ништо за тоа колку криптографски операции извршува некоја имплементација.

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

Означете го набљудувачот пред да прочитате снимак

Два снимка од иста сесија одговараат на различни прашања, а интерфејсот на кој се направени одлучува на кои. На патеката за пристап ги гледате носачот и записите на TLS, и можете да мерите големини и интервали без да видите внатрешна адреса. На крајната точка, по декапсулацијата, внатрешниот пакет е обичен сообраќај според приватната политика за препраќање.

Запишете го интерфејсот и насоката на секој снимак пред да го протолкувате. Трагата од физички адаптер никогаш нема да ги прикаже адресите на внатрешната апликација како обични надворешни полиња, а читањето на тоа отсуство како дефект во шифрирањето е честа грешка. Трагата од внатрешноста на тунелот не покажува никаков носач, па не може да одговори на прашање за гледиштето на давателот. Истата дисциплина важи и за дневниците на крајната точка, кои го запишуваат редот на преговорите, а не содржината.

Задржете ги проверките што дијаграмот не може да ги докаже

Редот на слоевите не докажува дека некое распоредување го валидира сертификатот на серверот, преговара за поддржана верзија на TLS или го овластува сметката. Секое од нив е конфигурациска одлука што пропаѓа независно од инкапсулацијата.

Проверете ги со клиент што известува за што преговарал, наместо да заклучувате од цртеж. Започнете со ракувањето на TLS, потоа размената на SSTP, потоа PPP и застанете на првата фаза што пријавува грешка. Првата наредба ја печати веригата и преговараната верзија, а втората ги набројува ракувањата присутни во снимак.

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

Поврзани статии