Talpykla šalia VPN serverio skamba kaip nemokamas pralaidumas visiems už tunelio. Taip nėra, nes baitai, einantys per tą tašką, lieka apsaugoti TLS sesijos, kurios galai yra naršyklė ir svetainė. VPN tarpinė pašalina tik savo išorinį šifravimą, o ne programos. Prieš pridėdami techninės įrangos, nuspręskite, kurį pasikartojantį objektą norite naudoti iš naujo.

TLS sesija priklauso naršyklei

Įprastame HTTPS naršyklė derasi dėl raktų su svetaine, o kiekvienas įrašas po rankos paspaudimo užšifruojamas tai galų porai. VPN tarpinė iššifruoja jos sukurtą tunelį, tada persiunčia nepermatomus TLS įrašus. Ji mato paskirties vietas, laiką ir apimtį, bet ne užklausos eilutę ar atsakymo turinį. Tai riba, su kuria turi gyventi kiekviena talpykla.

Bet kokia konstrukcija, kuri ją laužo, yra TLS perėmimo konstrukcija, turinti savo pasekmes sertifikatų pasitikėjimui ir įrenginių valdymui.

CONNECT yra tunelis, o ne talpykla

Aiškus tiesioginis tarpinis serveris paprastai gauna HTTP CONNECT užklausą ir tada persiunčia baitus abiem kryptimis. Persiuntimas yra pagrindinis žodis: tarpinis serveris neanalizuoja užšifruoto pokalbio.

curl -sSI -x http://proxy.example:3128 https://example.com/

Atsakymo antraštės ateina iš tarpinio serverio tunelio apdorojimo, o ne iš talpykloje saugomos puslapio kopijos. Sėkmingas CONNECT reiškia, kad kelias veikia, o ne kad kažkas buvo saugoma pakartotiniam naudojimui. 443 prievado nukreipimas į talpyklą taip pat neišmokys jo kalbėti TLS, nes talpinimui reikia perskaitomų pranešimų. Kliento konfigūracija turi naudoti palaikomą aiškų tarpinio serverio nustatymą, o ne nepaaiškintą peradresavimą.

Talpinkite tai, ką valdote, o ne tai, ką naršote

Kai turinys yra jūsų, atvirkštinis tarpinis serveris gali užbaigti TLS ir sąmoningai saugoti patvirtintus atsakymus. Kai jis priklauso paketų saugyklai, naudokite veidrodį, kurį palaiko projektas.

nginx -T | grep -n "proxy_cache"
curl -sSI https://mirror.example/pkg/index.json | grep -i -E "cache-control|age"

Pirmoji komanda parodo, ar talpyklos zona sukonfigūruota ir kur ji galioja, o antroji parodo šaltinio pačias talpinimo direktyvas vienam objektui. Bendra talpykla turi gerbti šviežumą, talpyklos valdymą ir užklausos atributus, kurie skiria atvaizdavimus; private ir no-store reiškia skirtingus dalykus ir nė vieno negalima pašalinti siekiant padidinti pataikymo rodiklį. HTTP talpinimo taisyklės taip pat riboja atsakymų saugojimą autentifikuotoms užklausoms, ir būtent ten suasmenintas puslapis tampa duomenų atskleidimu. Laikykite tarpinį serverį apribotą patvirtintais klientais, o ne atviru relay.

Matuokite pataikymą, o ne chronometrą

Greitesnė antroji užklausa neįrodo, kad nauja talpykla ką nors padarė, nes naršyklės ir operacinės sistemos pačios agresyviai talpina. Paprašykite tarpinio serverio pataikymų ir praleidimų skaitiklių ir stebėkite šaltinio srautą kontroliuojamo pakartojimo metu. Naudokite vieną pakartotinį žinomo objekto atsisiuntimą, pirmiausia su įjungta talpykla, paskui ją apeinant, ir palyginkite šaltinio pateiktus baitus, o ne praėjusį laiką. Tada patikrinkite autorizacijos ribą: išteklius, kuriam reikia prisijungimo, neturi būti teikiamas kitam klientui.

Užrašykite apkrovą, talpyklos raktą ir politiką, kuri leido pakartotinį naudojimą. Talpykla yra duomenų dalijimosi sprendimas optimizavimo kostiumu.

Susiję straipsniai