Kako napraviti HTTPS prvim zahtjevom putem VPN-a
Način rada samo za HTTPS, pravi HTTPS bookmarks i HSTS su tri različita rješenja. Prođite kroz njih kako bi prvi zahtjev bio šifriran, a ne preusmjeren.
Pretraživač koji prvo ukuca http:// i sleti na https:// nakon što je preusmjeravanje već poslao jedan zahtjev u čistom obliku, a VPN to ne mijenja. Tunel štiti nogu od klijenta do izlaznog čvora; ne šifrira ništa iznad transportnog sloja, tako da posmatrač između izlaza i ishodišta i dalje vidi skok otvorenog teksta. Postavljanje HTTPS-a kao prvog zahtjeva je promjena na strani klijenta sa tri dijela: stvarnom HTTPS adresom, modom nadogradnje pretraživača i vlastitom politikom stranice. Koraci u nastavku su redoslijed koji koristim, svaki sa provjerom koja vam govori da li je potrebno.
Korak 1: potvrdite šta je zapravo prvi zahtjev
Prije nego bilo što promijenite, pogledajte šta preglednik šalje. Otvorite mrežni panel sa stranicom koja je ponovo učitana iz hladnog keša i pročitajte prvi red: ako je šema http i status je 301 ili 308, sve nakon tog reda je drugi zahtjev. curl -sS -o /dev/null -w '%{http_code} %{url_effective}\n' http://example.com reprodukuje isti niz izvan pretraživača i ispisuje URL na kojem ste završili.
Moguća su dva ishoda i potrebna su različita popravka. Ako web lokacija služi HTTPS na istom hostu, popravka je da se zaustavi objavljivanje HTTP obrasca: ažurirajte obeleživač, wiki vezu, prečicu na radnoj površini i šablon e-pošte koji ljudi kliknu. Ako stranica uopće ne opslužuje HTTPS, nijedna postavka pretraživača ga neće stvoriti, a iskren odgovor je da je problem odredište. Nemojte papirirati drugi slučaj s izuzetkom, jer izuzetak certifikata na stranici računa pretvara problem transporta u problem vjerodajnica. Zapišite u kojem slučaju se nalazite prije nego dodirnete postavku.
Korak 2: uključite samo HTTPS način rada pretraživača
Režim nadogradnje je drugi dio, a načini nisu zamjenjivi. Provjerite šta vaš radi prije nego što ga omogućite: nadogradite tiho, nadogradite uz upozorenje ili odbijte učitavanje.
U Firefoxu kontrole žive iza about:config i na stranici postavki privatnosti, sa dom.security.https_only_mode kao prekidačem i izuzecima po lokaciji kojima se upravlja iz menija katanca. U Chrome-u i Edge-u ista ideja se nalazi pod Postavke, Privatnost i sigurnost, Sigurnost, s oznakom Uvijek koristi sigurne veze. Bez obzira na oznaku, provjerite ponašanje u odnosu na host koji odgovara samo na portu 80, jer način rada koji se nadogradi i potom tiho vraća nije zaštita koju mislite da ste omogućili. Firefox dokumentacija samo za HTTPS navodi ponašanje nadogradnje, upozorenja i izuzetaka za taj preglednik.
Korak 3: popravite resurse, a ne samo adresnu traku
Kada nadogradnja ne uspije, pročitajte tačnu grešku umjesto adresne trake. Host bez HTTPS slušatelja, ime hosta koje ne odgovara certifikatu i istekao lanac proizvode različite poruke i pripadaju različitim vlasnicima. Samo prvi je jaz na strani servera; drugi je obično bookmark koji nikada nije ažuriran; treći je problem obnove za koji VPN veza nije bitna.
Nemojte dodavati izuzetak certifikata na stranicu računa jer je VPN uključen. Izuzetak onemogućava provjeru koja bi uhvatila upravo presretanje koje VPN treba spriječiti.
Treći dio je unutar stranice, i to je ono što ljudima nedostaje. Stranica koja se učitava preko HTTPS-a i dalje može povući slike, fontove ili skripte sa http URL-a, a pretraživač će ih ili blokirati ili će smanjiti sigurnosni indikator za cijelu stranicu. Pregledajte neuspjele zahtjeve na mrežnoj ploči i popravite reference resursa kod njihovog vlasnika umjesto da pretpostavljate da adresna traka opisuje svaki zahtjev. Na web lokaciji koju pokrećete, to znači ispravljanje pohranjenih URL-ova u CMS-u ili predlošku umjesto da ih ponovno pišete u pretraživaču. Ako ne možete promijeniti izvor, zabilježite miješani sadržaj kao poznatu prazninu, jer je katanac na stranici koja povlači izvore otvorenog teksta lažan signal.
Korak 4: šta HSTS dodaje, a šta ne
HSTS je politika web mjesta, a ne preferencija pretraživača, i to je jedini mehanizam koji ovdje preživi ukucani http:// na novom profilu. Jednom kada pregledač vidi zaglavlje Strict-Transport-Security za host, on prepisuje kasnije zahtjeve na https prije nego što ih pošalje, što je upravo ono svojstvo koje želite. Ne radi ništa za host koji pretraživač nikada nije posjetio, niti za drugo ime hosta koji služi istoj aplikaciji.
Provjerite šta izvor šalje sa curl -sSI https://example.com | grep -i strict-transport-security. Zaglavlje koje nedostaje je promjena servera, a ne nešto što klijent može instalirati. Ako postoji, pročitajte max-age i da li je includeSubDomains postavljen, jer kratak maksimalni uzrast ističe između posjeta, a nedostajući includeSubDomains ostavlja svaku poddomenu nezaštićenom. RFC 6797 definira kako korisnički agent primjenjuje politiku i šta može zanemariti. Prethodno učitavanje je zasebna obaveza, stoga provjerite status putem hstspreload.org API-ja prije nego što nekome obećate da je domena na listi.
Provjera i vraćanje nazad
Vraćanje je jeftino za postavke klijenta i skupo za HSTS. Isključivanje režima samo za HTTPS vraća prethodno ponašanje odmah; long max-age ne radi, a posjetitelji koji su ga već primili nastavljaju nadogradnju dok ne istekne.
Zato provjerite red prije nego što to nazovete gotovim. Ponovo učitajte iz hladne keš memorije i potvrdite da je prvi zahtjev na mrežnoj ploči https bez prethodnog preusmjeravanja. Zatim provjerite poddomenu, jer includeSubDomains je mjesto gdje se ove politike obično ispostavljaju uže nego što se pretpostavlja. Zatim provjerite jednu stranicu koja povlači sredstva trećih strana, budući da je mješoviti sadržaj greška koja preživi svaku drugu popravku.
Ako je prvi zahtjev i dalje http nakon svega toga, klijent više nije varijabla: veza koju ljudi kliknu je. Pretražite mjesta koja kontrolirate za http formu imena hosta, ažurirajte ih i ponovo testirajte sa istim ponovnim učitavanjem hladnog keša. Držite VPN pitanje odvojeno u cijelosti, jer tunel mijenja ko može vidjeti zahtjev i nikada ne mijenja da li je zahtjev šifriran. Red koji treba staviti u tiket je da je prvi zahtjev onaj koji je bitan, a preusmjeravanje je samo potvrda o već poslanom zahtjevu.