OpenVPN-ын TLS шифрийн алдаа: эхлээд хоёр талыг харьцуулна уу
«Нийтлэг шифр байхгүй» гэсэн алдаа нь data-ciphers биш, TLS-ийн удирдлагын сувагт хамаарна. Эхлээд хувилбаруудыг, дараа нь багц жагсаалтуудыг, эцэст нь хэлэлцээрийг нотлоорой.
«Нийтлэг шифр байхгүй» гэсэн алдаа нэг тохиргоог өөрчлөх хэрэгтэй мэт сонсогддог ч, олон хүний өөрчилдөг тохиргоо нь буруу юм. OpenVPN TLS гар барилтыг гүйцэтгэдэг удирдлагын суваг болон туннелий дотор пакет зөөдөг өгөгдлийн сувагт тусдаа бодлого хадгалдаг бөгөөд алдаа эхнийхийг нэрлэх үед хүмүүс хоёрдахьыг засварладаг. Тал бүр юуг зөвшөөрдөг болохыг зөв дарааллаар харьцуулах нь таамаглалыг хоёр эсвэл гурван шийдвэр болгоно: хувилбар, дараа нь багц жагсаалт, дараа нь нэвтрэх мэдээлэл.
Энэ дарааллыг андуурвал хэзээ ч харагдаагүй жагсаалтад AES нэр нэмэхэд нэг цаг зарцуулж болно.
Хоёр шифрийн жагсаалт, гар барилтыг зөвхөн нэг нь эвддэг
Удирдлагын суваг TLS сессийн талаар хэлэлцэж, түүний бодлого дараах байдлаар бичигдэнэ: tls-cipher TLS 1.2-д, tls-ciphersuites TLS 1.3-д. Өгөгдлийн суваг тусдаа дараах байдлаар тохируулагдана: data-ciphers, энд тохирохгүй байдал нь холбогдож, дараа нь урсгалыг дамжуулж чадахгүй холболт үүсгэдэг. Хоёулаа шифрийг дурдсан алдаа гаргадаг тул андуурдаг. Хэзээ ч дуусахгүй гар барилт нь удирдлагын сувгийг заадаг бол, байгуулагдсан туннель пакет алдвал өгөгдлийн сувгийг заана.
Эхний мөрийг биш, бүх мессежийг уншина уу. Хувилбарын зөрүү, дутуу багц, тал няцаадаг гэрчилгээний гарын үсгийн алгоритм, хост нэрийн шалгалтын бүтэлгүйтэл бүгд TLS алдаагаар дуусдаг бөгөөд тэдгээрийн зөвхөн нэг нь таны багц жагсаалтад хамаатай. Эдгээр ангиллыг салгах нь оношилгооны ихэнх хэсэг.
Багцуудыг харьцуулахаас өмнө хувилбаруудыг харьцуул
TLS 1.2-оор хязгаарлагдсан тал болон 1.3 шаарддаг тал нь нийтлэг хувилбаргүй бөгөөд ямар ч шифрийн мөр үүнийг гүүрдэхгүй. Хоёр талд tls-version-min болон tls-version-max бичээрэй, эсвэл ашиглагдаж буй бүтээцийн анхдагч утгуудыг, учир нь түгээлтийн OpenSSL бодлого нь OpenVPN-ийн ямар ч сонголт хэлэхгүйгээр доод хязгаарыг өсгөж болно. Нэг тал төхөөрөмж эсвэл гуравдагч талын клиент бол түүний цонх нь програм хангамж нь зөвшөөрсөн хэмжээ юм. Цонхнууд давхцсаны дараа л багцуудыг харьцуулах утга учиртай.
Эдгээр бүртгэл бодит хоёртын файлуудыг ч нэрлэх ёстой. Зөөврийн компьютер дээрх командын мөрийн openvpn импортолсон профайлыг зохицуулдаг клиент байх албагүй.
TLS 1.2 ба TLS 1.3-ийн жагсаалтууд холилдохгүй
TLS 1.2 багцын нэрс дараах байдалтай: ECDHE-RSA-AES256-GCM-SHA384 бөгөөд тэдгээр нь дараах багцад хамаарна: tls-cipher, энэ нь OpenSSL шифрийн мөрийг хүлээн авдаг. TLS 1.3 багцуудын нэр дараах байдалтай: TLS_AES_256_GCM_SHA384 бөгөөд тэдгээр нь дараах багцад хамаарна: tls-ciphersuites; 1.2-ийн мөрөнд нэгийг нэмэх нь 1.3 жагсаалтыг тохируулахгүй бөгөөд парсер текстийг хэзээ ч тааруулахгүйгээр хүлээн авч болно. Нэг хувилбарт зөв шүүлтүүр нь нөгөөгийнхөө талаар юу ч хэлэхгүй. Аль жагсаалт аль хувилбарт зориулагдсаныг бичээрэй.
openvpn --show-tls орон нутгийн бүтээц юуг дэмждэгийг хэвлэдэг бөгөөд энэ нь жагсаалт бөгөөд амлалт биш: алслагдсан тал тэдгээр багцыг зөвшөөрөхгүй байж болно, идэвхтэй профайл тэдгээрийг идэвхжүүлэхгүй байж болно. Үүнийг ямар ч багц санал болгож чадахгүй бүтээцийг хасахад ашиглаад, дараа нь тохируулсан жагсаалтуудыг харьцуул.
Шинэ холболт дээр хэлэлцээрийг нотлоорой
Амжилттай гар барилт нь тооцогдох цорын ганц нотолгоо бөгөөд жинхэнэ клиентээс жинхэнэ профайлтай ирэх ёстой. Серверийн дэлгэрэнгүй байдлыг өсгөж, нэг удаа холбогдоод, эхний санал болгосон утга ялсан гэж таамаглахгүйгээр логоос хэлэлцсэн протоколын хувилбар болон багцыг уншаарай. Дараа нь туннелиар дамжих урсгалаар өгөгдлийн сувгийг тусад нь баталгаажуул, учир нь ажилладаг гар барилт ба бүтэлгүйтдэг өгөгдлийн суваг нь өөр өөр засвар юм. Аливаа тохиргооны өөрчлөлтийн дараа давтаарай, учир нь хуучирсан клиент профайл нийтлэг хуурамч сөрөг үр дүн юм.
Хэрэв батлагдсан нийтлэг тохиргоо байхгүй бол хариулт нь шинэчлэл эсвэл шилжилтийн төлөвлөгөө, сулруулсан бодлого биш. tls-version-min-ийг буулгах, шалгалтыг унтраах эсвэл бүх хуучин багцыг идэвхжүүлэх нь түүнийг үүсгэсэн аюулгүй байдлын шаардлагыг хангахгүйгээр татгалзлыг арилгана.
Өөрчлөлтийн тасалбарт хэлэлцсэн хувилбар, багц болон өгөгдлийн шифрийг бичээрэй. Дараагийн удаа TLS алдаатай тулгарсан хүн форумын нийтлэлээс олдсон шифрийн мөрөөс биш, тэр бүртгэлээс эхэлнэ.