Mišrus turinys už VPN: taisykite išteklių, o ne tunelį
Spyna apibūdina dokumentą, o ne scenarijus, kuriuos jis įkelia. Skaitykite konsolę, palikite blokavimą, sutaisykite nuorodą jos šaltinyje ir tada dar kartą patikrinkite puslapį.
HTTPS puslapis, įkeliantis scenarijus per HTTP, atlieka dvi užklausas su dviem skirtingais apsaugos lygiais, o spyna apibūdina tik pirmąją. Tunelis to nekeičia, nes jis saugo nešiklį, o ne paties ištekliaus schemą. Naršyklė jau sako, kuri užklausa nepavyko, jei skaitote konsolę, o ne adreso juostą. Trys patikros veda nuo pusiau veikiančio puslapio prie tikro taisymo.
Skaitykite užklausą, o ne adreso juostą
Per HTTPS gautas dokumentas gali nuorodą į scenarijų, stilių lentelę, šriftą ar rėmelį per paprastą HTTP. Ta nuoroda yra atskira užklausa, ir būtent dėl jos skundžiasi naršyklė. Pagrindinio dokumento apsauga nepersikelia atgal į ją, o tunelis, kuris neša abu srautus, nekeičia nė vienos schemos. Todėl puslapis gali vienu metu būti tikrai saugus ir tikrai sulaužytas.
Pavadinti išteklių tiesiog įterptu failu nepadaro jo pakeitimo nekenksmingu.
Jei nesaugų scenarijaus turinį galima pakeliui pakeisti ir tada įvykdyti, jis gali pakeisti puslapio elgseną, o tai didesnė problema nei kosmetinė klaida. Vaizdai kelia mažesnę, bet realią riziką, kai pakeliui pakeičiami. Spyna nemeluoja apie nieką. Ji atsako į siauresnį klausimą nei tas, kurį jai uždavėte.
Žinokite, kurie ištekliai blokuojami, o kurie pakeliami
Naršyklės ne visus išteklių tipus traktuoja vienodai. mišraus turinio gairės atskiria užklausas, kurios pakeliamos į HTTPS, nuo užklausų, kurios blokuojamos visiškai: scenarijai, stilių lentelės ir programinės užklausos yra blokuojamojoje pusėje, o vaizdai ir medija gali būti pakeliami arba pažymimi.
Šis skirtumas paaiškina painias ataskaitas. Puslapis su užblokuotu scenarijumi visiškai praranda funkciją, o puslapis su pakeltu vaizdu atrodo gerai ir tyliai pakeitė savo užklausą. Dokumentuotos kategorijos turi ir išimčių, todėl ne manykite, kad kiekvienas tam tikro tipo URL bus sėkmingai pakeltas. Skaitykite, ką konsolė sako apie konkrečią užklausą, o ne samprotaukite pagal failo plėtinį.
Užblokuotas valdiklis nėra įrodymas, kad tunelis nepavyko. Tai įrodymas, kad naršyklė atliko savo darbą.
Sutaisykite nuorodą jos šaltinyje
Svetainės savininkui taisymas priklauso tai vietai, kurioje buvo įrašytas nesaugus URL: šablonas, stilių lentelė, scenarijus, surenkantis URL, ar trečiosios šalies komponentas. Matomo puslapio adreso pakeitimas palieka visa tai nepaliesta. Ieškokite šaltinyje mazgo ir taisykite kiekvieną nuorodą, o ne tik tą vieną, kurią konsolė atsitiktinai įvardijo.
Tada patvirtinkite, kad išteklius tikrai tiekiamas per HTTPS su galiojančia tapatybe, nes schemos pakeitimas negali sukurti paslaugos, kuri ten niekada nebuvo paskelbta.
grep -rn "http://assets.example" ./templates
curl -sSI https://assets.example/widget.js | head -n 1Sekite ir peradresavimus, nes nuoroda, prasidedanti HTTPS, vis tiek gali nusileisti į atviro teksto tiekimo kelią. Kai priklausomybė tiesiog neturi saugaus tiekimo, pašalinkite arba pakeiskite ją įprastu pakeitimo procesu, o ne išleiskite apėjimą. Naudotojui palikite naršyklės apsaugas įjungtas ir praneškite svetainės savininkui ištekliaus URL, jo tipą ir konsolės žinutę. Niekada neplatinkite instrukcijų, liepiančių darbuotojams leisti nesaugų turinį vienam puslapiui, nes ta išimtis išgyvena incidentą, kuris ją sukėlė.
Dar kartą patikrinkite puslapį taip, kaip naudotojai jį liečia
Praktikuokite operacijas, kurios įkelia išteklius pagal poreikį, o ne tik pirmąjį dokumentą. Puslapiai po mygtuko paspaudimo atsisiunčia papildomą kodą, duomenis ir atsisiuntimus, ir tos užklausos dažnai yra nesaugios. Patvirtinkite konkrečias užklausas ir matomą elgseną, kai apsauga vis dar įjungta. Testas, pradedamas su atlaisvintu naršyklės profiliu, negali parodyti, ką mato įprastas naudotojas.
Tunelis vis dar turi savo darbą, ir tas darbas yra tinklo prieiga, o ne puslapio vientisumas.
Kai tik srautas palieka tunelio galinį tašką, jokia likusi HTTP užklausa nieko nelaimėjo iš nešiklio. Sutaisykite ištekliaus kelią ir palikite naršyklės vykdymą vietoje. Dar vieno transporto sluoksnio traktavimas kaip nesaugios priklausomybės taisymo yra būdas, kuriuo komanda galiausiai atsiduria su pagalbos tarnybos scenarijumi, išjungiančiu kontrolę, kuri veikė teisingai.