Дзе TLS месціцца ўсярэдзіне OpenVPN і што змяняе форму
OpenVPN запускае TLS для свайго канала кіравання ўнутры ўласнай рамкі, таму першыя байты — не вэб-рукапацісканне. Тры варыянты сапраўды змяняюць тое, што бачна.
OpenVPN сапраўды выкарыстоўвае TLS, і людзі звычайна пашыраюць гэта да сцвярджэння, якое яно не трымае: што тунель таму выглядае як браўзер, які наведвае сайт. Першая частка праўдзівая. Другая — не. TLS тут належыць каналу кіравання, які ідзе ўнутры ўласнага кантэйнера OpenVPN, побач з каналам карыснай нагрузкі з цалкам іншай крыптаграфіяй, таму той, хто даследуе пачатковыя байты, бачыць OpenVPN.
Дзве размовы ў адным канверце
Уявіце сесію як дзве размовы, што дзеляць адзін канверт. Адна правярае сертыфікаты і выводзіць ключавы матэрыял. Другая шыфруе тое, што вы насамрэч адпраўляеце, выкарыстоўваючы вынік першай.
Канверт — гэта пратакол. Кожны пакет пачынаецца з невялікага загалоўка, які называе яго тып, і гэты загаловак прыходзіць раней за ўсё астатняе.
Што насамрэч прыходзіць першым
З-за гэтага парадку першае, што з'яўляецца на провадзе, — не запіс TLS. Гэта загаловак OpenVPN, за якім ідзе змест таго канала, які абвяшчае загаловак. ClientHello там ёсць, проста не ў нулявым байце. Каб заўважыць розніцу, не патрэбна ніякага расшыфроўвання, бо форма сама выдае яе.
Значэнні па змаўчанні тут таксама важныя. Паток ідзе па UDP на 1194, калі профіль не выбраў TCP. У любым выпадку знешні выгляд — гэта тунель, а не вэб-запыт.
Тры сумленныя спосабы змяніць форму
Тэрмінатар TLS, такі як stunnel, прымае TLS на порце з кожнага канца і перадае расшыфраваны паток OpenVPN лакальна, таму сетка бачыць TLS на гэтым порце. Пратакол, які з'яўляецца TLS з першага байта, паводзіць сябе інакш: сумяшчальны з AnyConnect абмен, які рэалізуе ocserv, нагадвае карпаратыўны аддалены доступ, якога многія сеткі ўжо чакаюць. SSTP, які пастаўляецца з Windows, мае тую ж уласцівасць у іншым прадукце.
У Linux опцыя -w у SSH пераносіць сувязь пункт-у-пункт усярэдзіне сесіі SSH, што карысна, калі SSH — адзіны дазволены пратакол. Гэта самы танны з чатырох, калі SSH ужо працуе з гэтай сеткі, і найменш карысны, калі не.
Чаго не змяняе ніводзін з іх
Нішто з гэтага не змяняе таго, да чаго тунель можа дабрацца. Яны не робяць заблакаваны адрас даступным, не аўтэнтыфікуюць нікога і не вырашаюць маршруты.
Абгортка таксама каштуе вам кампанент. Два слухачы і два файлы канфігурацыі — гэта два месцы для збою, і абодва выглядаюць аднолькава з месца карыстальніка. Заложыце гэта ў бюджэт, перш чым выбраць адну. Сесія застаецца адным доўгім шыфраваным патокам да адной мэты, і яе аб'ём і час застаюцца бачнымі.
Спачатку дыягнаст, потым выбар
Таму спачатку дыягнаст. Адкінуты UDP закрываецца рэжымам TCP, а пазнаны подпіс — іншым пратаколам або абгорткай. Выбар інструмента да таго, як вы ведаеце блакаванне, — гэта як людзі ў рэшце рэшт трымаюць тры ўзроўні, якія ўсе церпяць няўдачу з адной прычыны.
Сетка, якая дазваляе толькі вэб-парты, звужвае выбар да пратакола на аснове TLS на 443. Ужыванне ўсіх трох адначасова дае стос, які ніхто не зможа адладзіць, таму змяніце адну рэч і паўторна праверце той жа паток.
Калі нішто з гэтага не падыходзіць, дакладны адказ такі: гэтая сетка не будзе несці тунель для вас. Гэта выснова, а не няўдача намаганняў. Перабор большай колькасці варыянтаў не адмяняе палітычнага рашэння, прынятага вышэй.
Адна мяжа стаіць перад усім гэтым. Дазвол на запуск тунеля ў чужой сетцы — гэта пытанне палітыкі, якое вырашаецца асобна ад таго, ці працуе механізм. Гэтыя факты тлумачаць, што бачыць назіральнік, і яны не даюць дазволу.