VPN orqasidagi kesh: HTTPS hali ham nimani yashiradi
VPN chiqishidagi proksi hali ham uchdan-uchga HTTPSni o‘qiy olmaydi. Yana bir server qo‘shishdan oldin keshga mos yuklama va ataylab belgilangan TLS chegarasini tanlang.
VPN serveri yonidagi kesh tunnel orqasidagi barchaga bepul o‘tkazish qobiliyati kabi tuyuladi. Unday emas, chunki o‘sha nuqtadan o‘tuvchi baytlar uchlari brauzer va veb-sayt bo‘lgan TLS sessiyasi bilan himoyalangan qoladi. VPN shlyuzi faqat o‘zining tashqi shifrlashini olib tashlaydi, ilovanikini emas. Uskuna qo‘shishdan oldin qaysi takrorlanuvchi obyektni qayta ishlatishni hal qiling.
TLS sessiyasi brauzerga tegishli
Oddiy HTTPSda brauzer sayt bilan kalitlar bo‘yicha kelishadi, va qo‘l berishdan keyingi har bir yozuv o‘sha juft uchlar uchun shifrlanadi. VPN shlyuzi o‘zi yaratgan tunnelni deshifrlaydi, so‘ng shaffof bo‘lmagan TLS yozuvlarini uzatadi. U manzillarni, vaqtni va hajmni ko‘radi, so‘rov satrini yoki javob tanasini emas. Har qanday kesh shu chegara bilan yashashi kerak.
Uni buzadigan har qanday dizayn TLS ushlash dizayni bo‘lib, sertifikat ishonchi va qurilmalarni boshqarishda o‘z oqibatlariga ega.
CONNECT — tunnel, kesh emas
Aniq oldinga proksi odatda HTTP CONNECT so‘rovini oladi va keyin baytlarni ikki yo‘nalishda uzatadi. Uzatish — asosiy so‘z: proksi shifrlangan suhbatni tahlil qilmaydi.
curl -sSI -x http://proxy.example:3128 https://example.com/Javob sarlavhalari proksining tunnelni qayta ishlashidan keladi, sahifaning keshlangan nusxasidan emas. Muvaffaqiyatli CONNECT yo‘l ishlayotganini bildiradi, qayta ishlatish uchun nimadir saqlanganini emas. 443 portini keshga yo‘naltirish ham unga TLS gapirishni o‘rgatmaydi, chunki keshlash o‘qiladigan xabarlarni talab qiladi. Mijoz konfiguratsiyasi qo‘llab-quvvatlanadigan aniq proksi sozlamasidan foydalanishi kerak, izohsiz qayta yo‘naltirishdan emas.
O‘zingiz boshqaradigan narsani keshlang, ko‘radiganingizni emas
Kontent sizniki bo‘lsa, teskari proksi TLSni tugatib, tasdiqlangan javoblarni ataylab saqlashi mumkin. U paket omboriga tegishli bo‘lsa, loyiha qo‘llab-quvvatlaydigan oynadan foydalaning.
nginx -T | grep -n "proxy_cache"
curl -sSI https://mirror.example/pkg/index.json | grep -i -E "cache-control|age"Birinchi buyruq kesh zonasi sozlanganini va qayerda amal qilishini ko‘rsatadi, ikkinchisi bitta obyekt uchun manbaning o‘z keshlash ko‘rsatmalarini ko‘rsatadi. Umumiy kesh yangilik, kesh boshqaruvi va tasvirlarni ajratuvchi so‘rov atributlarini hurmat qilishi kerak; private va no-store har xil ma’nolarni bildiradi va xit darajasini oshirish uchun ikkalasini ham olib tashlamaslik kerak. HTTP keshlash qoidalari autentifikatsiya qilingan so‘rovlarga javoblarni saqlashni ham cheklaydi, va aynan shu yerda shaxsiylashtirilgan sahifa ma’lumot oshkorligiga aylanadi. Proksini ochiq rele sifatida ko‘rsatish o‘rniga tasdiqlangan mijozlar bilan cheklang.
Xitni o‘lchang, sekundomerni emas
Tezroq ikkinchi so‘rov yangi kesh nimadir qilganini isbotlamaydi, chunki brauzerlar va operatsion tizimlar o‘zlari agressiv keshlaydi. Proksidan xit va miss hisoblagichlarini so‘rang va nazoratli takrorlash paytida manba trafigini kuzating. Ma’lum obyektning bitta takroriy yuklab olinishini qo‘llang, avval kesh yoniq, keyin chetlab o‘tilgan holda, va o‘tgan vaqtni emas, manba bergan baytlarni solishtiring. So‘ng avtorizatsiya chegarasini tekshiring: kirish talab qiladigan resurs boshqa mijozga berilmasligi kerak.
Yuklamani, kesh kalitini va qayta ishlatishga ruxsat bergan siyosatni yozib qo‘ying. Kesh — optimallashtirish libosidagi ma’lumot almashish qarori.