SSTP շերտերը բացատրված՝ ինչ է դեռ բացահայտում ներքին փաթեթը
SSTP-ը փաթաթում է PPP-ն և ներքին փաթեթը TLS-ի մեջ, սակայն արտաքին TCP կապը դեռ ցույց է տալիս, թե ով ում հետ է խոսել։ Նշեք յուրաքանչյուր շերտը, նախքան որևէ գրառում կարդալը։
Երկու փաստ 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"