Ein nettlesar som skriv inn http:// først og landar på https:// etter at ei omdirigering allereie har sendt éin førespurnad i klartekst, og ein VPN endrar ikkje på det. Tunnelen vernar beinet frå klienten til utgangsnodet; han krypterer ikkje noko over transportlaget, så ein observatør mellom utgangen og origo ser framleis klarteksthoppet. Å gjera HTTPS til den første førespurnaden er ei endring på klientsida med tre delar: ei ekte HTTPS-adresse, oppgraderingsmodusen til nettlesaren og nettstaden sin eigen policy. Trinna nedanfor er rekkjefølgja eg bruker, kvar med sjekken som fortel deg om det tok.

Trinn 1: Stadfest kva den første førespurnaden faktisk er

Før du endrar noko, sjå på kva nettlesaren sender. Opne nettverkspanelet med sidan lasta på nytt frå ein kald cache og les den første rada: viss skjemaet er http og statusen er 301 eller 308, er alt etter den rada ein andre førespurnad. curl -sS -o /dev/null -w '%{http_code} %{url_effective}\n' http://example.com gir att den same sekvensen utanfor nettlesaren og skriv ut URL-en du hamna på.

To utfall er moglege, og dei treng ulike rettingar. Viss nettstaden betener HTTPS på same vert, er løysinga å slutta å publisera HTTP-skjemaet: oppdater bokmerket, wiki-lenken, snarvegen på skrivebordet og e-postmalen folk klikkar på. Viss nettstaden ikkje betener HTTPS i det heile, vil ingen nettlesarinnstillingar oppretta det, og det ærlege svaret er at destinasjonen er problemet. Ikkje skriv over den andre saka med unntak, fordi eit sertifikatunntak på ei kontoside konverterer eit transportproblem til eit legitimasjonsproblem. Skriv ned kva sak du er i før du trykkjer på ei innstilling.

Trinn 2: Slå på nettlesarens berre HTTPS-modus

Oppgraderingsmodusen er den andre delen, og modusane kan ikkje bytast ut. Sjekk kva din gjer før du aktiverer han: oppgrader stille, oppgrader med ei åtvaring, eller nekt å lasta.

I Firefox ligg kontrollane bak about:config og på sida for personverninnstillingar, med dom.security.https_only_mode som brytar og unntak per nettstad administrert frå hengjelåsmenyen. I Chrome og Edge er den same ideen under Innstillinger, Personvern og tryggleik, Sikkerhet, merket Bruk alltid sikre tilkoplingar. Uansett etikett, verifiser åtferda mot ein vert som berre svarer på port 80, fordi ein modus som oppgraderer og deretter stille fall tilbake ikkje er vernet du trur du har aktivert. Firefox HTTPS-Only-dokumentasjonen spesifiserer oppgraderinga, åtvaringa og unntaksåtferda for den nettlesaren.

Trinn 3: fiks ressursane, ikkje berre adressefeltet

Når ei oppgradering mislykkast, les den nøyaktige feilen i staden for adressefeltet. Ein vert utan HTTPS-lyttar, eit vertsnamn som ikkje samsvarer med sertifikatet og ei utgått kjede produserer ulike meldingar og tilhøyrer ulike eigarar. Berre den første er eit gap på serversida; den andre er vanlegvis eit bokmerke som aldri vart oppdatert; den tredje er eit fornyingsproblem som VPN-tilkoplinga er irrelevant for.

Ikkje legg til eit sertifikatunntak på ein kontonettstad fordi VPN er på. Unntaket deaktiverer sjekken som ville ha fanga opp nøyaktig den avlyttinga ein VPN er meint å forhindra.

Den tredje delen er inne på sidan, og det er den folk saknar. Ei side som blir lasta over HTTPS kan framleis trekkja bilete, fontar eller skriptar frå ein http URL, og nettlesaren vil anten blokkera dei eller nedgradera tryggingsindikatoren for heile sida. Inspiser dei mislykka førespurnadene i nettverkspanelet og fiks ressursreferansane hos eigaren i staden for å rekna med at adresselinja beskriv kvar førespurnad. På ein nettstad du køyrer, betyr det å korrigera dei lagra URL-ene i CMS eller malen i staden for å omskriva dei i nettlesaren. Om du ikkje kan endra kjelda, ta opp det blanda innhaldet som eit kjent gap, fordi ein hengjelås over ei side som hentar rentekstressurser er eit falskt signal.

Trinn 4: kva HSTS legg til, og kva det ikkje gjer

HSTS er ein nettstadpolicy i staden for ein nettlesarpreferanse, og det er den einaste mekanismen her som overlever ein skriven http:// på ein ny profil. Når ein nettlesar har sett ein Strict-Transport-Security-overskrift for ein vert, omskriv den seinare førespurnader til https før han sender dei, som er akkurat den eigenskapen du ønskjer. Det gjer ingenting for ein vert nettlesaren aldri har besøkt, og ingenting for eit anna vertsnamn som betener same applikasjon.

Sjekk kva opphavet sender med curl -sSI https://example.com | grep -i strict-transport-security. Ei manglande overskrift er ei serverendring og ikkje noko ein klient kan installera. Om han er til stades, les max-age og om includeSubDomains er sett, fordi ein kort maks-alder går ut mellom besøk og eit manglande includeSubDomains lèt kvart underdomene vera ubeskytta. RFC 6797 definerer korleis ein brukaragent bruker policyen og kva han kan ignorera. Førehandsinnlasting er ei eiga forplikting, så sjekk status gjennom hstspreload.org API før du lovar nokon at eit domene er på lista.

Stadfesting og tilbakeføring

Rulling er billig for klientinnstillingane og dyrt for HSTS. Om du slår av berre HTTPS-modus, blir førre verkemåte gjenoppretta med ein gong; ein lang maksalder gjer det ikkje, og besøkjande som allereie har teke imot han held fram med å oppgradera til den går ut.

Så stadfest i rekkjefølgje før du kallar det ferdig. Last inn på nytt frå ein kald cache og stadfest at den første førespurnaden i nettverkspanelet er https utan nokon førre omdirigering. Sjekk deretter eit underdomene, fordi includeSubDomains er der desse retningslinjene vanlegvis viser seg å vera smalare enn venta. Sjekk deretter éi side som hentar tredjepartsressursar, sidan blanda innhald er feilen som overlever annankvar reparasjon.

Dersom den første førespurnaden framleis er http etter alt dette, er ikkje klienten lenger variabelen: koplinga folk klikkar på er. Søk på stadene du kontrollerer etter http-formen til vertsnamnet, oppdater dei og test på nytt med den same kald-cache-innlastingen. Hald VPN-spørsmålet skilt heile vegen, fordi tunnelen endrar kven som kan sjå førespurnaden og endrar aldri om førespurnaden er kryptert. Linja for å setja inn billetten er at den første førespurnaden er den som betyr noko, og ei omdirigering er berre ei kvittering for ein allereie send førespurnad.

Relaterte artiklar