Өнгөрсөн долоо хоногт ажиллаж байсан 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=0

NetworkManager-ийг дахин эхлүүлж дахин холбогдоорой, учир нь демон шинжилсэн профайлуудыг кэшлэдэг бөгөөд эс бөгөөс өөрт байгаа хуулбарыг үргэлжлүүлэн ашиглана. Мөрийг үлдээхийн өмнө юу хийдгийг нь мэдээрэй: энэ тохиргоо нь шифрийн нэр биш, хэд хэдэн гэрчилгээ, түлхүүрийн параметрийн босго тул буулгах нь ганц профайлын хүлээн авах хүрээг өргөтгөнө. Аль сервер үүнийг шаардсаныг тэмдэглэж, оператор одоогийн материалыг дахин гаргасны дараа тохиргоог орхино уу. Харин /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 бодлого гэрчилгээг татгалзсан уу, шифр хоёр чиглэлд тохиролцогдох уу, багц ба түүний залгаас үнэхээр суулгагдсан уу, процесс аль санг ачаалж байна. Тав нь бүгд цэвэр буцсаны дараа л хувилбар буулгах нь утга учиртай.

Холбоотой нийтлэлүүд