OpenVPN tls-ciphersuites жана tls-version-min: ар бири эмнени талап кылат
TLS 1.3 пакеттер тизмеси протокол версиясын чектебейт, ал show-tls жергиликтүү колдоону гана көрсөтөт. Саясатты, пакеттерди жана макулдашылган жыйынтыктарды өзүнчө текшериңиз.
Көпчүлүк OpenVPN TLS талкууларында үч башка факт бир сапка биригет: кардар курулушуңуз эмне кыла алат, профиль эмнеге жол берет жана сессия чындыгында эмне жөнүндө макулдашты. Кыска TLS 1.3 пакеттер тизмеси ортоңку суроого жарым гана жооп берет жана протокол версиясынын төмөнкү чеги жөнүндө эч нерсе айтпайт. Төмөнкү текшерүүлөрдү ирети менен аткарыңыз жана биринчи аткарылбаган жерде токтоңуз, анткени ар бир кийинки текшерүү мурункулары чечилген деп эсептейт.
Каалаган тизмени окуудан мурун курулушту текшериңиз
Конфигурация директивасы протокол колдоосу жок бинардык файлга аны кошо албайт. Версия баннеринен баштаңыз, ал компиляцияланган криптографиялык китепкананы атайт:
openvpn --version
OpenSSL менен байланган 2.6 курулушу tls-cipher жана tls-ciphersuites экөөнү тең кабыл алат. mbed TLS менен курулушта TLS 1.3 пакеттерин тандоо такыр жок, жана 2.6 колдонмосу tls-ciphersuites параметрин OpenSSL опциясы катары белгилейт. Эгер сервер башка backend менен кайра курулса, ошол эле профиль конфигурациянын бир сабын да өзгөртпөстөн жүрүм-турумун өзгөртүшү мүмкүн.
Ушул жерде турганыңызда openvpn --show-tls иштетип, чыгарылышты сактаңыз. Бул кийин салыштыра турган инвентарь, жана бирөө профилдерди оңдой баштаганга чейин аны кармап калуу арзан.
Баннерди жана тизмени чат терезесине эмес, өзгөртүү билетине жазыңыз. Эки адам кардар алты жумадан кийин пакет сунуштай алабы деп талашканда, кармалган чыгарылыш муну бир сапта чечет.
Версия чектерин шифр тизмелеринен өзүнчө кармаңыз
2.6 колдонмосунда булар бир эмес, үч башкаруу элементи:
tls-cipherTLS 1.2 жана андан эски версиялар үчүн шифр саясатын белгилейт жана OpenSSL шифр тизмесине берилет;tls-ciphersuitesTLS 1.3 пакеттерин тандайт;tls-version-minжанаtls-version-maxтуташуу колдоно ала турган протокол версияларын чектейт.
Ошондуктан кылдат кыркылган TLS 1.3 пакеттер тизмеси эски версиянын дагы эле уруксат экени жөнүндө эч нерсени далилдебейт. Эгер талап «TLS 1.3 гана» болсо, аны версиянын төмөнкү чеги көтөрөт, ал эми пакеттер тизмеси ошол чектин ичиндеги тандоолорду гана куушурат:
tls-version-min 1.3
tls-ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
Бул жуп эки иш аткарат. Бир сапты өчүрсөңүз, экинчиси сиз ойлогондон аз талап кылат, жана дал ушул ийгиликсиздикти кармоо үчүн бул текшерүүнүн баары бар.
Дайындар каналы төртүнчү башкаруу элементи. data-ciphers туннелдин ичиндеги симметриялык шифрди макулдашат, жана анын жыйынтыгы башкаруу каналынын TLS версиясы жөнүндө эч нерсе айтпайт. Сессия корутундусунда AES-256-GCM көрүү эки багытта тең TLS 1.3 далили эмес.
show-tls ти колдонмолук инвентарь катары окуңуз
--show-tls ушул бинардык файл байланган криптографиялык китепкана колдогон пакеттерди артыкчылык тартибинде тизмелейт. Бул шлюзден келген отчет эмес. Колдонмо тизме жергиликтүү китепканадан келерин ачык айтат, башкача айтканда OpenSSL 3.x бар ноутбук менен эскирээк курулуштагы маршрутизатор бир эле сервер менен сүйлөшүп жатып ар башка тизмелерди басып чыгарат.
| Evidence | What it actually describes |
|---|---|
--show-tls output | Capabilities of this client build and its library |
| Profile directives | What this attempt is allowed to offer |
| Session log line | What this one negotiation selected |
Кардар A, B жана C пакеттерин колдойт, ал эми бир сессия Bны тандайт деп коёлу. Бул сервердин A же Cга уруксат берерин да, B анын жалгыз уруксат берилген тандоосу экенин да негиздебейт. Үч сапты өзүнчө кармаңыз, жана чаташтырган TLS темаларынын көбү өзүнөн өзү чечилет.
Инвентарды сактоо баары бир татыктуу. Сессия ийгиликсиз болгондо, китепкана тизмесин профиль тизмеси менен салыштыруу кардардын сервер каалаганды сунуштоого мүмкүнчүлүгү болдубу, ошону көрсөтөт. Ошондой эле backend өзгөрүүсү эски кардарлар таянган топтомдон TLS_CHACHA20_POLY1305_SHA256 ды унчукпай алып салдыбы, ошону көрсөтөт — башкалар эч нерсе байкабай жатканда, бир аз колдонуучунун туташа албай калышы катары көрүнгөн регрессиянын түрү.
Шлюзга ал жооп бере ала турган суроо бериңиз
Эгер кызматты өзүңүз башкарсаңыз, дисктеги файлды эмес, иштеп жаткан инстанциянын натыйжалуу конфигурациясын текшериңиз. OpenVPN башка --config жолу менен башталган, кошулмаларды тарткан жана оңдоодон бери кайра башталбаган болушу мүмкүн. Кардарлар кезиктире турган нерсе — иштеп жаткан демондун саясаты.
Эгер аны башкарбасаңыз, оператордон колдоого алынган кардар талаптарын же чектелген кабыл алуу тестин сураңыз. Четке кагылган аракет автоматтык түрдө четке кагылган пакет эмес: версиянын төмөнкү чеги, remote-cert-tls сыяктуу сертификаттын инсандыгын текшерүү же tls-auth менен tls-crypt ортосундагы дал келбестик пакет тандоо маанилүү боло электе алмашууну бүтүрүшү мүмкүн. Кардардын тизмесин өзгөртүүдөн мурун сервердин катасын окуңуз, анткени «handshake failed» төрт башка себепти камтыйт жана алардын бири гана шифр дал келбестиги.
openssl s_client ди VPN портуна багыттоо да суроону кайра жаратпайт. Башкаруу каналы OpenVPNдин өз фрейминин ичинде иштейт, ошондуктан чийки TLS зонду башка нерсени күткөн портто башка протоколду текшерет. Андан чыгарылган каалаган корутунду зонд жөнүндө, туннель жөнүндө эмес.
Эки жыйынтыкты жазып алыңыз жана аларды өзүнчө кармаңыз
Жаңы уруксат берилген сессия протокол версиясын жана тандалган шифрди атаган башкаруу каналынын сабын жана туннелдин шифрин атаган өзүнчө дайындар каналынын сабын жаратат. Экөөнү тең кардар версиясы жана профиль аталышы менен кармап, кайсы сервер инстанциясы жооп бергенин жазыңыз:
openvpn --config office.ovpn --verb 4 2>&1 | tee session.txt
Андан кийин эки сапты эстен эмес, ошол файлдан окуңуз. Жуп — далил; пакеттин аталышы жалгыз өзү артыкчылык, ал эми версия чеги сервер эмнени четке кагары жөнүндө өзүнчө билдирүү.
Текшерүүлөрдү ушул ирети менен аткарыңыз. --version менен курулушту жана backendди ырастаңыз. Бир нерсени өзгөртүүдөн мурун --show-tls ди кармаңыз. Керектүү версиянын төмөнкү чегин пакеттер тизмесинен өзүнчө айтыңыз. Иштеп жаткан инстанциянын натыйжалуу саясатын анын ээси менен ырастаңыз. Бир уруксат берилген сессияны жана план уруксат берсе, эски версия менен бир четке кагылган аракетти байкаңыз. Башкаруу каналы жана дайындар каналы боюнча жыйынтыктарды өзүнчө табылгалар катары жазыңыз.
Эгер керектүү кардар жаңы минимумду канааттандыра албаса, жайылтуу бүткөндөй көрүнүшү үчүн байланышсыз кабыл алуу эрежесин унчукпай төмөндөтүүнүн ордуна ошол көчүрүү же өзгөчөлүк чечимин ачык кабыл алыңыз.