AES-256-GCM олдоогүй: клиентийн чадвар уу, хэлэлцээр үү?
OpenVPN-ийн хоёр алдаа ижил харагдана: алгоритмгүй бүтээц ба нийтлэг шифргүй талууд. Профайлыг засахын өмнө --show-ciphers ба data-ciphers-ийг уншина уу.
Өөр газар ажилладаг OpenVPN профайл AES-256-GCM олдоогүй эсвэл талуудад нийтлэг шифр байхгүй гэж мэдээлэхэд эхний бодол профайлыг засах байдаг. Эдгээр хоёр мессеж өөр өөр бүтэлгүйтлийг дүрсэлдэг. Нэг нь орон нутгийн программд ийм алгоритм байхгүй гэж хэлдэг; нөгөө нь хоёр талд алгоритм байгаа ч нийтлэг сонголт байхгүй гэж хэлдэг. Аль нь байгааг мэдэхгүй л бол профайл засах нь аль нэгийг ч шийдэхгүй.
Алдааны яг текстийг болон түүнийг гаргасан програмыг уншина уу.
Аль алдаа байгааг тодорхойл
Олдоогүй шифрийн тухай мессеж орон нутгийн машинд ямар ч пакет илгээхээс өмнө сонголтын шинжилгээнээс гардаг. Энэ нь таны өмнөх гүйцэтгэх файл эсвэл түүнтэй холбогдсон сан тэр алгоритмыг санал болгохгүй байгааг илтгэнэ. Нийтлэг шифр байхгүй гэсэн мессеж дараа нь, хэлэлцээрийн үеэр ирдэг бөгөөд хоёр тал шифрийг дэмждэг ч нэг дээр тохирч чадахгүй гэсэн үг.
Ялгаа нь чухал, учир нь нэг нь програмын хувилбарын асуудал, нөгөө нь тохиргооны асуудал. Эхнийхийг хувилбарын дугаар шийднэ. Хоёрдахийг хоёр жагсаалтыг харьцуулж шийднэ.
Орон нутгийн чадварын дутагдал
Хуучин нийгэмлэгийн бүтээцүүд орчин үеийн өгөгдмөл утгуудаас өмнөх бөгөөд ширээний програм нь хажууд суулгасан командын мөрийн багцаас өөр өөрийн хөдөлгүүрийг авчирч болно. Шалгалтыг холболтыг үнэхээр эхлүүлсэн гүйцэтгэх файл дээр хийж, дараа нь хуучин программд шинэ алгоритм заахын оронд дэмжигдсэн бүтээцийг сонго.
openvpn --version openvpn --show-ciphers | grep -i gcm openvpn --show-tls | head -5
Хэрэв тэр жагсаалтад AES-256-GCM байхгүй бол ямар ч профайлын мөр үүнийг нэмэхгүй. Шийдэл нь илүү шинэ клиент эсвэл өөр бүтээц бөгөөд хуучин талын хязгаарлалт нь тусдаа дизайны асуулт болно.
OpenVPN 3-д суурилсан клиентүүдэд хөдөлгүүр болон хүлээн зөвшөөрөгдөх заавар нь нийгэмлэгийн 2.x шугамаас ялгаатай тул ижил профайлын текст шифрийн жагсаалттай ямар ч холбоогүй шалтгаанаар бүтэлгүйтэж болно.
Хэлэлцээрийн дутагдал
Хоёр тал алгоритмыг жагсаахад үлдэх асуулт нь аль тал ямар жагсаалт санал болгох вэ. Нийгэмлэгийн OpenVPN хэлэлцээрийн зааврын нэрийг өөрчилсөн: 2.4 дахь ncp-ciphers 2.5-д data-ciphers болов, 2.6-д хуучин cipher мөр нь голчлон тохирцол болон буцаалтад үйлчилдэг, хэлэлцсэн багцыг тодорхойлоход биш.
Тиймээс зөвхөн хуучин cipher мөрийг өөрчлөхөд хэлэлцээрийн жагсаалт хөндөгдөхгүй үлдэж болно. Хуучин мөр буцаалтад одоо ч чухал бөгөөд энэ нь тусдаа ажил. Хоёрыг холих нь харагдах юу ч өөрчлөхгүй засваруудыг бий болгоно.
openvpn --version | head -2 grep -n -E '^(data-ciphers|ncp-ciphers|cipher|tls-cipher)' server.conf client.ovpn
Хоёр үзүүрийн жагсаалт болон серверийн татгалзах мессежийг харьцуул. Хэрэв огтлолцол хоосон бол өөр хувилбарт зориулж бичсэн нийтлэлээс утга хуулахын оронд жагсаалтуудыг санаатайгаар зэрэгцүүл. Хэт өргөн жагсаалт холболт бүрийг чимээгүйгээр сулруулна. Хэт нарийн жагсаалт хадгалахыг хүссэн талыг чинь хасана.
Тохирцлыг тодорхой байлга
Нэг хуучин талын төлөө буцаалт нь зардалтай шийдвэр: нэг төхөөрөмж холбогдохын тулд бүх байршуулалт сул сонголтыг хүлээн авна. Үүнийг тийнхүү бичиж, түүнд хэрэгтэй талд л хязгаарла.
Үр дүнг хоёр нөхцөл шийднэ. Хэрэв алдаа орон нутгийн бол бүтээцийг соль. Хэрэв алдаа хэлэлцээрийн бол хоёр үзүүрт жагсаалтуудыг зэрэгцүүлж, ямар хувилбаруудыг дэмжиж байгаагаа бич.
Дараа нь хувилбар болон чадварын гаралтыг хавсаргаж, яг алдааг мэдээл. Энэ хос дутуу алгоритмыг санал зөрөлдөөнөөс ялгаж, дараагийн таамаглалт засварын үеийг эхлэхээс өмнө зогсооно.