Una pàgina HTTPS que carrega scripts per HTTP fa dues peticions amb dos nivells de protecció diferents, i el cadenat només descriu la primera. Un túnel no ho canvia, perquè protegeix el transport, no l’esquema propi del recurs. El navegador ja us diu quina petició ha fallat, si llegiu la consola en lloc de la barra d’adreces. Tres comprovacions us porten d’una pàgina que funciona a mitges a una reparació real.

Llegeix la petició, no la barra d’adreces

Un document obtingut per HTTPS pot referenciar un script, un full d’estil, una font o un marc per HTTP simple. Aquesta referència és una petició separada, i és la que el navegador denuncia. La protecció del document principal no viatja cap endins, i el túnel que transporta tots dos fluxos no altera cap dels dos esquemes. La pàgina pot, per tant, ser genuïnament segura i genuïnament trencada alhora.

Anomenar el recurs només un fitxer inclòs no fa que substituir-lo sigui inofensiu.

Si el contingut d’un script insegur es pot alterar en trànsit i després executar, pot canviar el comportament de la pàgina, cosa que és un problema més gran que una fallada cosmètica. Les imatges comporten un risc més petit però real quan es modifiquen pel camí. El cadenat no menteix sobre res. Respon a una pregunta més estreta que la que li heu fet.

Sapigueu quins recursos es bloquegen i quins s’eleven

Els navegadors no tracten igual tots els tipus de recurs. les directrius sobre contingut mixt separen les peticions que s’eleven a HTTPS de les que es bloquegen de ple, amb els scripts, els fulls d’estil i les peticions programàtiques al costat bloquejat, mentre que les imatges i els mitjans es poden elevar o marcar en lloc d’això.

Aquesta diferència explica els informes confusos. Una pàgina amb un script bloquejat perd una funció del tot, mentre que una pàgina amb una imatge elevada sembla bé i ha canviat la seva petició en silenci. Les categories documentades també tenen excepcions, així que no assumiu que cada URL d’un tipus donat s’elevarà amb èxit. Llegiu què diu la consola sobre la petició concreta en lloc de raonar a partir d’una extensió de fitxer.

Un giny bloquejat no és prova que el túnel hagi fallat. És prova que el navegador ha fet la seva feina.

Repara la referència a la font

Per al propietari del lloc, la reparació pertany al lloc on es va escriure l’URL insegur: una plantilla, un full d’estil, un script que munta URL o un component de tercers. Canviar l’adreça visible de la pàgina deixa tot això intacte. Cerqueu l’amfitrió a la font i repareu cada referència, no només la que la consola va esmentar per casualitat.

Després confirmeu que el recurs es serveix de veritat per HTTPS amb una identitat vàlida, perquè un canvi d’esquema no pot fer aparèixer un servei que mai no s’hi va publicar.

grep -rn "http://assets.example" ./templates
curl -sSI https://assets.example/widget.js | head -n 1

Seguiu també les redireccions, perquè una referència que comença amb HTTPS encara pot acabar en una via de lliurament en text pla. Quan una dependència simplement no té cap lliurament segur disponible, elimineu-la o substituïu-la pel procés de canvi habitual en lloc d’enviar una solució alternativa. Per a l’usuari, deixeu les proteccions del navegador activades i informeu el propietari del lloc de l’URL del recurs, del seu tipus i del missatge de la consola. No difongueu mai instruccions que demanin al personal permetre contingut insegur per a una pàgina, perquè aquesta excepció sobreviu a l’incident que la va provocar.

Torneu a provar la pàgina tal com els usuaris la toquen

Exerciu les operacions que carreguen recursos a demanda, no només el primer document. Les pàgines obtenen codi, dades i descàrregues addicionals després de prémer un botó, i aquestes peticions sovint són les insegures. Confirmeu les peticions concretes i el comportament visible amb la protecció encara activada. Una prova que comença amb un perfil de navegador relaxat no us pot mostrar què veu un usuari normal.

El túnel encara té la seva feina, i aquesta feina és l’accés a la xarxa, no la integritat de la pàgina.

Un cop el trànsit surt del punt final del túnel, qualsevol petició HTTP restant no ha guanyat res del transport. Repareu el camí del recurs i manteniu l’aplicació del navegador al seu lloc. Tractar una capa de transport més com a reparació d’una dependència insegura és com un equip acaba amb un script d’atenció al client que desactiva el control que funcionava correctament.

Articles relacionats