Ubuntu жаңартылғаннан кейін OpenVPN неге қосылуды тоқтатты?
Ubuntu 22.04 пен 22.10 OpenSSL саясатын, әдепкі шифр келіссөзін және пакет әдепкілерін өзгертті. Профильді өңдеу алдында сәтсіздікке ұшыраған кезеңді оқыңыз.
Өткен аптада жұмыс істеген VPN профильдері Ubuntu шығарылымын жаңартқаннан кейін бұзылады, ал журнал жаңартуды сирек ескереді. Ол атайтыны — сәтсіздікке ұшыраған қабат: TLS қол алысуы, деректер арнасы үшін келісілген шифр, орнатылған пакет немесе бағдарлама іске қосылғанда жүктейтін OpenSSL көшірмесі. Әр қабаттың өз қате пішіні мен өз жөндеуі бар, сондықтан жіктеу бірінші жұмыс, ал өңдеу екінші жұмыс. Журнал оны атамайынша профильді кінәсіз деп санаңыз.
Қай қабат сәтсіз болды: қол алысу, шифр, пакет пе әлде кітапхана ма
Профильге тимес бұрын клиент журналын оқыңыз. Шығыстағы ең ерте қате қабатты анықтайтын қате; одан кейін басылғанның бәрі әдетте сол бірінші сәтсіздіктің салдары. Клиент мүлдем іске қосылмаса, VPN журналы — ашуға болатын дұрыс емес файл.
Сертификаттар мен қолтаңбалар туралы шағымдар немесе кілт ұзындығы туралы хабарлама басқару арнасынан және оны реттейтін кітапхана саясатынан келеді. Ал DEPRECATED OPTION деп басталатын ескерту деректер арнасының келіссөзіне жатады.
Мұндай жол Unrecognized option үшінші санат: жаңа бағдарлама ескісі көтерген нұсқаулықты енді қабылдамайды, сондықтан кітапхананы босаңсытудың орнына профильді қайта жазу керек. Пакет ақаулары тағы басқаша көрінеді, өйткені олар туннель коды жүрмес бұрын болады. Жоқ бағдарлама, жүктелмейтін плагин немесе қате кодтық атқа сілтейтін қойма — барлығы сол пішінді береді. Төрт белгі, қарайтын төрт орын және жөндеулер арасында айтарлықтай қабаттасу жоқ.
Қол алысу сәтсіз болса, TLS саясаты сертификатты қабылдамайды
Ubuntu 22.04 жүйені OpenSSL 3-ке көшірді, ал сол тармақтағы әдепкі қауіпсіздік деңгейі сертификат қолтаңбалары мен кілт өлшемдеріне 20.04-тегіден қаттырақ қарайды. Ескі дайджестпен қол қойылған CA сертификаты немесе қазіргі шектен төмен кілт енді қол алысу кезінде сәтсіз болады. Әзірге ештеңе аутентификацияланбағандықтан, қате қате құпиясөз немесе өлі сервер сияқты оқылады.
Тар жөндеу шифр жолын тек осы қосылымға тіркейді. Жұмыс үстелі редакторында профильді ашып, кеңейтілген параметрлерге өтіп, DEFAULT:@SECLEVEL=0 мәнін TLS шифр өрісіне қойыңыз. NetworkManager кілт файлы [vpn] бөлімінде сол мәнді қабылдайды:
[vpn]
tls-cipher=DEFAULT:@SECLEVEL=0NetworkManager-ді қайта іске қосып, қайта қосылыңыз, өйткені демон талданған профильдерді кэштейді, әйтпесе қолындағы көшірмені пайдалана береді. Жолдың не істейтінін сақтамас бұрын біліңіз: бұл параметр шифр атауы емес, бірнеше сертификат және кілт параметріне қатысты шек, сондықтан оны төмендету жалғыз профиль қабылдайтын ауқымды кеңейтеді. Қай сервер талап еткенін жазып қойыңыз және оператор өзекті материалды қайта шығарғанда параметрден бас тартыңыз. Ал /etc/ssl/openssl.cnf өзгерту сол файлды оқитын әр бағдарлама үшін бірдей шекке жетеді, бұл VPN-нен әлдеқайда алыс.
OpenVPN 2.6 шифрдің келіссөз үшін тізімделуін талап етеді
Ubuntu 22.10 OpenVPN 2.6 әкелді, және сол шығарылымда --cipher деректер арнасын өзі таңдауды тоқтатады. Шифр келісілген data-ciphers тізімінде де болуы керек, әйтпесе клиент ескіру туралы ескерту басып, содан кейін туннельді көтере алмайды.
Сол кезеңдегі NetworkManager плагині әлі күнге тек ескі нұсқаулықты жазатын. Бұл бөлшек диагностиканы екіге бөледі, өйткені қолмен түзетілген профиль қабықтан қосылып, жұмыс үстелі қолданбасынан әлі де сәтсіз болуы мүмкін. Тізімді қосылым файлына [vpn] бөліміне қосыңыз:
data-ciphers=AES-256-CBCСервер жариялайтын мәнді пайдаланыңыз, есте қалғанын емес; AES-256-GCM ұсынатын сервер тек CBC атайтын клиент тізімімен келіспейді. Менеджерді қайта іске қосып, қайта қосылыңыз, содан кейін қабықтан әрекетті қайталап, шифрды келіссөз бен қосалқы нұсқа үшін де анық беріңіз:
sudo openvpn --config client.ovpn --data-ciphers AES-256-CBC --data-ciphers-fallback AES-256-CBCЕгер сол команда туннельді көтерсе, сервер, сертификаттар және тіркелгі деректері сау, ал қалған жалғыз ақау — менеджердің сақталған параметрі. keysize нұсқаулығы туралы ескерту сол тазалауға жатады: оны түсініктемеге айналдырып, түпнұсқа файлды профильдің қасында ұстаңыз.
Пакет және плагин ақаулары VPN ақауларына ұқсайды
Жаңартудан кейінгі әр сәтсіздік криптографиялық емес. Шығарылым пайдаланбайтын кодтық атпен қосылған OpenVPN қоймасы ешқашан орнатылмайтын пакет береді, сондықтан lsb_release -a не хабарлайтынын қосқан тізім файлымен салыстырыңыз. Жоқ universe компоненті немесе қауіпсіздік қалтасы мүлдем табылмайтын пакет береді. Екі жағдайда да профиль тиіспеген күйде, туннель мүмкін емес күйде қалады.
VPN журналынан бұрын пакет менеджерінің қатесін оқыңыз. Клиент ешқашан орнатылмаған болса, профильді өңдеудің ешбір мөлшері қол алысу бермейді.
Сұрауды тоқтататын екі факторлы профильдер — сол әңгіменің плагин нұсқасы. Шақыру аутентификация плагинінен келеді, ал оны алып тастаған немесе ауыстырған жаңарту профильді бүлінбеген күйде қалдырып, сұраныс жоғалады. Қосылым жұмыс істеуі үшін екінші факторды жойудың орнына қолдау көрсетілетін плагинді қайта орнатыңыз.
Жеткізуші кітапханасы саясат қатесінің артына жасырынуы мүмкін
Бір үлгі назарға лайық, өйткені ол кез келген саясат жөндеуін жеңеді. Аппараттық жабдық жеткізушісінің конфигурация құралы өз OpenSSL кітапханаларын орнатып, оларды жүктеушінің іздеу жолында жүйелік көшірмелерден бұрын қоя алады. Сонда клиент ешкім жаңартпаған кітапханаға қарсы іске қосылады, ал іске қосу ақауы қабылданбаған сертификатқа дәл ұқсайды.
VPN пакетін қайта орнату қай кітапхана бірінші табылатынын өзгертпейді, ал TLS деңгейін төмендету жүйеден ешқашан келмеген кітапханаға жете алмайды. Жүктеушіден бағдарлама шын мәнінде қандай крипто нысандарын шешетінін сұраңыз:
ldd /usr/sbin/openvpn | grep -i -E 'ssl|crypto'Жеткізуші көшірмесін жойыңыз немесе қайта бағыттаңыз, содан кейін сол тексеруді қайта жүргізіңіз. Профильге оралмас бұрын күтілетін нұсқа пайдаланылып жатқан нұсқа болуы керек.
Ескі клиентті бекіту уақыт сатып алады, шешім емес
Алдыңғы клиент нұсқасын ұстау бекіту жалғасқанша туннельді қалпына келтіреді. Ол сол пакеттің қауіпсіздік жаңартуларын мұздатып, келесі жаңартуға дәл сол сынуды жоспарлайды, сондықтан оны шешім емес, күні бар уақытша шара деп қараңыз.
Егер бәрібір бекітсеңіз, пакетті ашық түрде ұстаңыз, қадағалаусыз жаңарту бекітуді жоя алмасын, себебі мен қайта қарау күнін жазыңыз және жеткізушінің келесі профиль шығарылымына еске салғыш қойыңыз. Назар аударарлық шарт — ағымдағы шифрды келісетін сервер профилі; ол пайда болған соң бекітудің еш негізі қалмайды. Ал тіркелмеген бекіту жарты жылдан кейін ешкім түсіндіре алмайтын үзіліске айналады, өйткені оны қолданған адам кеткен, ал файл ештеңе жазбайды.
Келесі жолы VPN шығарылым жаңартуынан кейін өлсе, бес сұрақты ретімен қойыңыз: қай қабат бірінші қатені берді, TLS саясаты сертификатты қабылдамады ма, шифр екі бағытта да келісіле ме, пакет пен оның плагині шынымен орнатылды ма, және процесс қай кітапхананы жүктейді. Бесеуі де таза оралған соң ғана нұсқаны төмендетудің мағынасы бар.