Sisu teisendav puhverserver võib vastust teel brauserini muuta: pilti uuesti pakkida, märgistust ümber kirjutada või täiendavat JavaScripti sisestada. Leht, mis töötab ühes võrgus ja saab teises tundmatut märgistust, võib kokku puutuda just selle vahendaja käitumisega.

Saidi jaoks, mida haldad, pakub HTTP selgesõnalise vastuse direktiivi:

Cache-Control: no-transform

RFC 9111 nõuab, et selle vastusedirektiivi saanud vahendaja jätaks sisu teisendamata, olenemata sellest, kas vahendaja rakendab vahemälu. See on asjakohane piltide uuesti pakkimise ja märgistuse sisestamise puhul, mitte ainult selle puhul, kas objekt salvestatakse.

Hoidke seda olemasoleva vahemälupoliitika juures

Kui vastusel on juba vahemälu direktiivid, lisage nõue teadlikult, selle asemel et ülejäänud poliitika kõrvale heita. Näiteks avalikult vahemällu salvestataval varal võib olla:

Cache-Control: public, max-age=3600, no-transform

See näide säilitab ühe tunni värskusepoliitika ja keelab samal ajal sisu teisendamise. no-transform ei tähenda no-store ega lülita välja tavalist edastustöötlust. Määrake see vastustele, mille algne sisu on oluline, sealhulgas vajaduse korral eraldi pildivastustele.

Direktiiv toimib vahendaja nõusoleku kaudu. See ei takista krüptograafiliselt võrguseadmel juhist eirata.

Kaitske ka transporti

HTTPS annab brauserile ühenduse autentimise ja terviklikkuse kaitsega oma TLS-vastaspoole suhtes. Tavaline operaatori puhverserver, mis laseb krüptitud liiklust läbi, ei saa sellesse kaitstud ühendusse vaikselt skripti sisestada. Jätke sertifikaadi kontrollimine alles; TLS-i lõpetav kohalikult usaldusväärne kontrollpuhverserver on teine lahendus.

Teenindage lehte ja selle sõltuvaid ressursse HTTPS-i kaudu. Suunake HTTP külastajad HTTPS-ile ja kaaluge HSTS-i juurutuse jaoks, mis suudab seda järjekindlalt toetada. Ainult ümbersuunamine algab kaitsmata HTTP vahetusega külastaja jaoks, kes kasutas HTTP URL-i; varem õpitud või eellaaditud HSTS poliitika muudab seda esialgset valikut.

Sisestatud skripti blokeerimine võib vähendada selle nähtavaid mõjusid, kuid vastus võib juba sisaldada muudetud HTML-i või ümber kirjutatud pildi URL-e. Ühe vana funktsiooninime asendamine, ebatavalise kommentaari lisamine või ajaloolise sisestusaadressi kaardistamine ei loo sisu terviklikkust järgmise vahendaja jaoks.

Raportit uurides võrrelge saadud vastust lätte kavandatud sisuga ja tehke kindlaks, kus TLS lõpeb. See tõend on kasulikum kui käsitleda iga tundmatut skripti saidi enda rakendusekoodi veana.

Seotud artiklid