TLS басқару арнасының ішінде жүреді, бүкіл туннельде емес
Тараптар өз пакеттерін алмасады, ал TLS басқару алмасуының ішінде жұмыс істейді. HTTPS-ті түсінетін прокси бұл трафиктің не екенін білмейді.
VPN сипаттамасында TLS сөзін көріп, веб-прокси бұл трафикті түсінеді деп қорытынды жасау — кең таралған қысқа жол. Осы протоколдың ішінде тараптар өз пакеттерін алмасады, ал TLS сол алмасудың ішіндегі бір арнаның бөлігі ретінде жұмыс істейді. Пайдаланушыға маңызды пайдалы жүктеме басқа хабарлама пішімінде жүреді, сондықтан екеуі қарапайым HTTPS сессиясымен ешқашан сәйкес келмейді.
Алдымен конверт келеді
Әрбір туннель пакеті протоколдың өз тақырыбынан басталады: хабарлама түрі, кілт идентификаторы және байт ағыны транспортында пакеттің қайда бітетінін белгілейтін ұзындық префиксі. Бұл конвертті талдамайтын оқырман келесі өріс қайдан басталатынын біле алмайды.
outer transport (UDP datagram or TCP stream)
-> OpenVPN header (opcode, key id, length where needed)
-> control message (reliability wrapper, TLS exchange)
-> data message (protected inner packet)
Бұл нобай карта, байт кестесі емес, өйткені нақты өрістер хабарлама түріне тәуелді, бірақ бірінші октет әрқашан операция коды мен кілт идентификаторын бірге қаптайды. Хабарлама түрін порт нөмірінен болжау — декодерлердің көргенін қате атауының жолы. Диагностика үшін реттілік маңызды: транспорт, содан кейін протокол конверті, содан кейін екі жұмыс түрінің бірі. Одан кейін не болатыны туралы пікір қалыптастырмас бұрын конвертті оқыңыз. Қате жерден бастаған декодер сенімді сандырақ шығарады.
Сенімділік қабаты протоколға тиесілі
Басқару хабарламалары реттелген, расталған жеткізуді қажет етеді, ал протокол мұны өзі растаулар мен қайта жіберулер арқылы қамтамасыз етеді. Растау жеке хабарлама ретінде келуі немесе басқа басқару хабарламасымен бірге жүруі мүмкін, бұл бір таза алмасуды күткендерге іздерді ретсіз көрсетеді.
Артықшылығы — сыртқы транспорт UDP болса да, TLS қол алысуы сенімді тасымалдаушы алады. Құны — бір датаграмма сол әңгіменің тек бір бөлігін ғана қамтуы мүмкін, сондықтан оны жеке TLS жазбасы ретінде қарау сандырақ тудырады. Қайта жинау протокол деңгейінде болуы керек. Сондықтан ұсталған пакет толық қол алысу қадамына сирек ұқсайды.
Сыртқы транспортты TCP-ге ауыстыру бұл қабатты жоймайды. Сенімді транспорт протокол деңгейінде қайта жіберулердің азаюын білдіреді, ал фреймдеудің жоғалуын немесе трафиктің HTTP-ға айналуын емес.
Деректер пакеттері басқа пішімді пайдаланады
Сессия болған кезде пайдалы жүктеме ішкі IP пакеттерін немесе Ethernet фреймдерін тасымалдайтын деректер хабарламалары ретінде келеді. Олар өз кілттерімен және өз өңдеуімен қорғалған, және TLS кітапханасы қабылдайтын ешбір мағынада TLS қолданба жазбалары емес.
Бұл бөліну конфигурацияда көрінеді: басқару арнасы мен деректер арнасының шифр параметрлері бөлек, сондықтан біреуін атайтын журнал жолы екіншісі туралы ештеңе айтпайды. Күшті басқару шифрын күшті деректер шифрының дәлелі ретінде оқу — кең таралған есеп қатесі.
Қатысты қате түсінікті де түсініктемеден тыс ұстаңыз. TLS симметриялық деректер арнасының жанында отырған ашық кілт арнасы емес, өйткені кілттер орнатылғаннан кейін TLS өз жазбаларын симметриялы түрде қорғайды. Нағыз айырмашылық — рөл мен пакет пішімі, әр тараптың қандай криптография қолданатыны емес.
Неліктен HTTPS прокси көмектесе алмайды
TLS-ті аяқтайтын прокси TLS жазбалар ағынын, содан кейін оның ішінде қолданба протоколын күтеді. Бұл протоколдың басқару арнасы өз фреймдеуінің ішінде, айналасында сенімділік қабатымен тасымалданады, сондықтан аяқтайтын прокси бұл фреймдеуді бүлінген кіріс ретінде оқиды.
Байттарды немесе датаграммаларды түсіндірмей өткізетін мөлдір форвардер жұмыс істеуі мүмкін, егер ол ағынды қайта жазбаса және қайта жинамаса. Кез келген делдал туралы қойылатын сұрақ — ол нақты транспорт пен фреймдеуді жеткізе ме, әлде бір жерде TLS-ті қолдай ма емес. Прокси ережелеріне кеш жұмсамас бұрын осыны сұраңыз. Мұндағы сәтсіздіктердің көбісі жетіспейтін параметр емес, сәулеттік.
Ізді дұрыс оқу
Алдымен басқару алмасуын, содан кейін әлдеқайда көп деректер хабарламаларын күтіңіз, екеуі бір транспортты бөліседі. Басқару фазасы аяқталып, деректер фазасы тоқтаса, ақау қол алысуға емес, кілттерге, маршруттауға немесе деректер жолын сүзуге қатысты. Бірнеше деректер хабарламасын ұстап, олардың клиенттен шығатынын тексеріңіз. Сол бір байқау іздеуді екіге бөледі.
Кілт әдістерінің тарихи сипаттамалары протокол құжаттамасында берілген шығарылым әлі де барлық ескі пішімді қолдайды дегенді білдірмейді. Іске қосатын нұсқаңызды тексеріңіз, содан кейін істердің бұрын қалай жұмыс істегенін сипаттайтын абзацқа күту құрмаңыз.