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-cipherнь TLS 1.2 болон түүнээс хуучин хувилбарын шифрийн бодлогыг тогтоож, OpenSSL-ийн шифрийн жагсаалтад дамжуулна;tls-ciphersuitesнь TLS 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-ыг барь. Шаардлагатай хувилбарын доод хязгаарыг багцын жагсаалтаас тусдаа хэл. Ажиллаж буй инстанцын үр дүнтэй бодлогыг эзэнтэй нь батал. Нэг зөвшөөрөгдсөн сессийг, төлөвлөгөө зөвшөөрвөл хуучин хувилбартай нэг татгалзсан оролдлогыг ажигла. Удирдлагын суваг болон өгөгдлийн сувгийн үр дүнг тусдаа олдвор гэж тэмдэглэ.
Хэрэв шаардлагатай клиент шинэ доод хэмжээг хангаж чадахгүй бол нэвтрүүлэлт дууссан мэт харагдуулахын тулд хамааралгүй хүлээн авалтын дүрмийг чимээгүй буулгахын оронд тэр шилжилт эсвэл үл хамаарах шийдвэрийг тодорхой гарга.