OpenSSL s_client: проксийн 403 алдаа нь очих газрын TLS-ээс өмнө гардаг
OpenSSL проксиор дамжуулсан CONNECT хүсэлтийн 403 хариуг туннелийн шатны алдаа гэж ойлгож, хэзээ ч эхлээгүй handshake-аас очих газрын гэрчилгээг оношлох хэрэггүй.
Хэрэв openssl s_client проксиор дамжуулсан CONNECT хүсэлтэдээ хариу болгон HTTP 403 авбал, энэ татгалзалаас эхэл. Хүссэн туннель үүсээгүй.
-proxy параметртэй үед s_client эхлээд HTTP проксид -connect параметрээр заасан очих газартай холбогдохыг хүснэ. Зөвхөн амжилттай CONNECT хариу л энэ солилцоог очих газрын TLS handshake-ийн туннель болгоно.
Энэ дараалал нь өөрөөр ойлгомжгүй гаралтыг тайлбарлана: проксийн алдааны дараа TLS-тэй холбоотой гарчгууд, хосын гэрчилгээ байхгүй байх, эсвэл итгэл төрүүлэх мэт харагдах баталгаажуулалтын мөр. Эдгээр талбар нь очих газрын гэрчилгээг хүлээн авч баталгаажуулсныг нотлохгүй. Үйлдэл нь өмнөх шатанд зогссон.
Проксийн хариу болон хүссэн очих газрын хост, портыг бүртгэ. 403 нь анхаарлыг проксийн хандалтын шийдвэрт хандуулна; 407 нь проксид баталгаажуулалт шаарддаг. Аль нь ч очих газрын гэрчилгээний баталгаажуулалтыг унтрааж засагдахгүй.
Солилцоог шалгах зөвшөөрөл байвал s_client-ийн -debug гаралт татгалзалыг илрүүлэхэд тусалж болно. Проксийн аливаа нэвтрэх мэдээллийг хуваалцсан мөрүүдээс гадуур байлга. Амжилттай туннель дараа нь өөрийн TLS болон гэрчилгээний үнэлгээг шаардсан хэвээр, гэхдээ тэр шатанд үнэхээр хүрэх хүртэл оношлох зорилтот гэрчилгээний хэлхээ байхгүй.