Cloudflare-ийн прокси яагаад OpenVPN-ийг нэг нэрээр зөөж чадахгүй вэ
Прокси хийсэн бичлэг HTTP болон HTTPS-ийг хариуцдаг. Нэрсийг тусгаарлаж, хоёр сонсогчийг хадгалж, холболт бүрт түүний эсрэг тал үнэхээр итгэдэг сертификатыг өгнө үү.
Нэг машин вебсайт болон OpenVPN серверийг хоёуланг нь ажиллуулдаг бөгөөд нэг хост нэрийг түүн рүү чиглүүлж, улбар шар үүл трафикийг цэгцэлнэ гэж найдах нь уруу таталт юм. Прокси нь HTTP болон HTTPS-ийг цэгцэлдэг. OpenVPN сессийг цэгцэлдэггүй, тэр сесс ямар порт хэрэглэсэн ч. Хоёр нэр, нэг нь шууд, нөгөө нь проксигоор дамжсан, юу ч зарцуулахгүй бөгөөд энэ бүхэн төөрөгдлийн ангиллыг арилгана.
Хоёр нэр, хоёр зөөвөр
Вебсайтад прокси хийсэн бичлэг өгч, түүний HTTP ба HTTPS трафик Cloudflare-ээр дамжина. VPN-д зөвхөн DNS бүхий бичлэг өгч, энэ нь шууд нийтийн VPN орох хэсэгт шийдэгдэнэ, харин клиент өөрт нь тохируулсан UDP эсвэл TCP портыг ашиглана.
Хоёр нэр хоёулаа нэг эх машинд хүрч болно. Ялгаа нь клиент болон тэр машины хооронд юу болдогт байгаа бөгөөд энэ ялгаа нь хуваалтын утга юм.
Cloudflare-ийн сүлжээний портын лавлагаа энгийн веб прокси аль портуудыг хүлээж авдгийг жагсаадаг. Тэр жагсаалт нь эдгээр порт дээрх HTTP ба HTTPS-ийн тухай, санамсаргүйгээр нэг тоог хуваалцдаг дур зоргоороо протоколуудын тухай биш.
Порт бол протокол биш
OpenVPN-ийг TCP 443 руу зөөх нь түүнийг HTTPS болгодоггүй. Прокси холболтын эхэнд HTTP хүсэлтийг хүлээсээр байгаа бөгөөд OpenVPN клиент оронд нь хоёртын удирдлагын мессеж илгээдэг. Холболт сүлжээний хаалт мэт харагдах байдлаар бүтэлгүйтдэг, учир нь логт ямар ч хэрэгтэй зүйл хүрдэггүй.
Хэрэв шаардлага нь үнэхээр VPN-ийн өгөгдлийн замд Cloudflare бүтээгдэхүүн тавих бол, танд хэрэгтэй протоколын дэмжлэгийг баримтжуулсан бүтээгдэхүүнийг үнэлээрэй. Улбар шар үүлийг ерөнхий TCP эсвэл UDP туннель гэж бүү бодоорой, учир нь тэр нь тодорхой ажилтай веб трафикийн урвуу прокси юм.
Зөвхөн DNS бүхий бичлэг ажилладаг уйтгартай хариулт бөгөөд хамгийн түрүүнд түүн рүү тэмүүлэх хэрэгтэй.
Нэг машин хоёр сонсогч хэрэгтэй хэвээр
Тусдаа нэрс нь хоёр процесс нэгэн зэрэг нэг хаяг, порт, зөөврийг эзлэх боломжийг олгодоггүй. Хэрэв веб сервер бүх хаяг дээр TCP 443-ыг аль хэдийн эзэмшиж байгаа бол OpenVPN жишээ нь санаатай тохиролцоо гүйгээр түүнийг бас авч чадахгүй.
VPN сонсогчийг өөр порт эсвэл өөр хаягт холбох, эсвэл урд нь баримтжуулсан мультиплексор тавьж, түүнтэй хамт ирэх үйл ажиллагааны зардлыг хүлээн зөвшөөрөх хэрэгтэй. Эдгээр сонголт бүр галт ханын дүрэмд харагдах ёстой, учир нь хэн ч баримтжуулаагүй сонсогч нь ослын үеэр алдагдах сонсогч юм. Сонгосон холболтыг туннелийг тайлбарласан ижил runbook-д бичээрэй. Тэгвэл дараагийн хүн шөнийн хоёр цагт түүнийг дахин нээхгүй.
Сертификатууд өөрсдийн хамгаалж буй холболтыг дагадаг
Хөтчийн Cloudflare руу хийх TLS холболт ба Cloudflare-ийн таны эх сурвалж руу хийх холболт нь хоёр тусдаа сертификаттай хоёр тусдаа харилцаа юм. Хөтөч ирмэгийн сертификатыг хардаг. Эх сурвалж өөрийн сертификатыг Cloudflare-д танилцуулж, Cloudflare Origin CA сертификат нь яг тэр хоёр дахь харилцаанд зориулагдсан.
Тэр эх сертификатад Cloudflare Full (strict) горимд итгэдэг бөгөөд энэ нь ерөнхийдөө итгэмжлэгдсэн хөтчийн сертификат биш. Хэрэв хэн нэгэн зөвхөн DNS хост нэр рүү шууд орж анхааруулга авбал энэ нь итгэлцлийн зам өөрчлөгдсөний хүлээгдэж буй үр дагавар, шифрлэлт зогссоны баталгаа биш.
Тиймээс шууд зочилдог вебсайтад түүний хөтчүүд итгэдэг сертификатын гинжин хэлхээ хэрэгтэй. Энэ нь эх сурвалж руу нь огт зочлохыг зорьдоггүй прокси хийсэн сайттай зэрэгцэн оршиж болно.
OpenVPN нь өөрийн серверийн таних тэмдэг болон клиентийн баталгаажуулалтыг өөрийн сертификатын байгууллага, өөрийн удирдлагын сувгийн хамгаалалттайгаар зөөдөг. Вебсайт дээрх цоож эдгээрийн аль нэгийг ч өгдөггүй бөгөөд хоёр бэлтгэлийн процесс тусдаа байх ёстой.
Илрэлт нэрийг дагадаг
Зөвхөн DNS VPN бичлэг нь өөрийн заасан хаягийг нийтэлдэг. Хэрэв тэр хаяг нь мөн вебийн эх сурвалж бол эх сурвалж нууцлагдмал биш бөгөөд нөгөө нэр прокси хийгдсэн учраас үүнийг нууц гэж тодорхойлох нь хэн нэгэн сканнердах хүртэл үргэлжлэх алдаа юм.
Ямар веб хүсэлтүүд эх сурвалжид шууд хүрч болохыг шийдэж, үүнийг эх сурвалж дээр хэрэгжүүл, дараа нь VPN сонсогчийг өөрийн нөхцлөөр зөвшөөр. Удирдлагын хуудас, профайл татах, өгөгдлийн сонсогч нь нэг багц гурвыг нь өгсөн ч гурван өөр илрэлтийн шаардлагатай байж болно.
Үүсгэсэн холбоосыг нийтийн веб нэр болон HTTPS схем дээр байлгаж, клиентийн профайлыг VPN нэр дээр бодит протокол, порттой нь байлга. Хэвийн ажиллагааны үед аль ч үйлчилгээ нөгөөгийнхөө прокси тохиргоог эргүүлэхээс хамааралтай байх ёсгүй.
Ажлын дараалал: сайтад прокси хийсэн нэр, VPN-д зөвхөн DNS нэр, тусдаа сонсогчид, харилцаа бүрт сертификат, дараа нь нэр бүр зөвхөн өөрийн хүрэх ёстой үйлчилгээнд хүрдгийг нотлох нэг тест.