Egy gyorsítótár a VPN-kiszolgáló mellett ingyenes sávszélességnek hangzik mindenkinek az alagút mögött. Nem az, mert az ezen a ponton áthaladó bájtok továbbra is egy TLS-munkamenet védelme alatt állnak, amelynek végpontjai a böngésző és a webhely. A VPN-átjáró csak a saját külső titkosítását távolítja el, nem az alkalmazásét. Döntse el, melyik ismétlődő objektumot akarja újra felhasználni, mielőtt hardvert ad hozzá.

A TLS-munkamenet a böngészőé

A szokásos HTTPS-ben a böngésző kulcsokat egyeztet a webhellyel, és a kézfogás utáni minden rekord ehhez a végpontpárhoz titkosított. A VPN-átjáró visszafejti az általa létrehozott alagutat, majd átláthatatlan TLS-rekordokat továbbít. Látja a célokat, az időzítést és a mennyiséget, de nem a kérés sorát vagy a válasz törzsét. Ez az a határ, amellyel minden gyorsítótárnak együtt kell élnie.

Minden olyan terv, amely megtöri, TLS-elfogási terv, saját tanúsítvány-bizalmi és eszközkezelési következményekkel.

A CONNECT alagút, nem gyorsítótár

Egy explicit előremenő proxy általában HTTP CONNECT kérést kap, majd bájtokat továbbít mindkét irányba. A továbbítás a kulcsszó: a proxy nem elemzi a titkosított beszélgetést.

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

A válaszfejlécek a proxy alagútkezeléséből származnak, nem az oldal gyorsítótárazott példányából. A sikeres CONNECT azt jelenti, hogy az útvonal működik, nem azt, hogy valamit eltároltak újrafelhasználásra. A 443-as port gyorsítótárra irányítása sem tanítja meg TLS-t beszélni, mert a gyorsítótárazáshoz olvasható üzenetek kellenek. Az ügyfélkonfigurációnak a támogatott explicit proxybeállítást kell használnia, nem egy megmagyarázatlan átirányítást.

Azt gyorsítótárazza, amit üzemeltet, nem azt, amin böngészik

Ahol a tartalom a sajátja, egy fordított proxy lezárhatja a TLS-t és szándékosan tárolhat jóváhagyott válaszokat. Ahol csomagtárolóhoz tartozik, használja a projekt által támogatott tükröt.

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

Az első parancs megmutatja, hogy van-e beállított gyorsítótár-zóna és hol érvényes, a második pedig az eredet saját gyorsítótárazási irányelveit mutatja egy objektumra. A megosztott gyorsítótárnak tiszteletben kell tartania a frissességet, a gyorsítótár-vezérlőket és azokat a kérésattribútumokat, amelyek megkülönböztetik a reprezentációkat; private és no-store különböző dolgokat jelentenek, és egyiket sem szabad eltávolítani a találati arány növeléséért. A HTTP gyorsítótárazási szabályai korlátozzák a válaszok tárolását hitelesített kérésekhez, és pont ott válik egy személyre szabott oldal adatszivárgássá. Tartsa a proxyt jóváhagyott ügyfelekre korlátozva, ne tegyen közzé nyílt továbbítót.

A találatot mérje, ne a stoppert

Egy gyorsabb második kérés nem bizonyítja, hogy az új gyorsítótár bármit tett, mert a böngészők és operációs rendszerek maguk is agresszívan gyorsítótáraznak. Kérjen találat- és hibaszámlálókat a proxytól, és figyelje az eredet forgalmát egy ellenőrzött ismétlés során. Használjon egy ismételt letöltést egy ismert objektumról, először bekapcsolt, majd megkerült gyorsítótárral, és hasonlítsa össze az eredet által kiszolgált bájtokat, ne az eltelt időt. Aztán ellenőrizze az engedélyezési határt: a bejelentkezést igénylő erőforrást nem szabad más ügyfélnek kiszolgálni.

Jegyezze fel a terhelést, a gyorsítótár-kulcsot és azt a szabályzatot, amely engedélyezte az újrafelhasználást. A gyorsítótár adatmegosztási döntés optimalizáló jelmezben.

Kapcsolódó cikkek