Firefox-gebruikers kunnen al enige tijd kiezen voor de 'HTTPS-Only Mode', waarbij alleen maar HTTPS-verbindingen worden geaccepteerd.
Niet onder iOS en iPadOS. En dat is niet onmogelijk onder die besturingssystemen, want Google Chrome ondersteunt dit wel.
"https only" testen
Als je "
https only" goed hebt ingesteld moet jouw browser een waarschuwing geven als je:
http://http.badssl.comopent. Als je,
zonder te zijn gewaarschuwd, een rood scherm met witte tekst "http.badssl.com" ziet, is jouw browser kwetsbaar voor AitM aanvallen (Attacker in the Middle, ook bekend als MitM met Man voor de eerste M).
Onduidelijke naam van instelling
Helaas is de naam van de browser-instelling m.i. "
https only" een slechte keuze: het had moeten luiden "
http warning" (want dat is het; het betekent
niet dat je geen http meer kunt gebruiken, maar slechts dat je dat moet bevestigen - een prima waarschuwing dus).
En niet alleen is de naam ongelukkig, ik vind het absurd dat dit niet standaard aan staat in alle webbrowsers (helemaal stom is dat je het in sommige browsers niet eens aan kunt zetten).
Risico "kale" domeinnaam
LET OP: als je,
zonder https only, bijvoorbeeld:
almere.nl(gevolgd door Enter) intikt in de adresbalk van jouw browser, loop je
ook risico op een AitM-aanval -
zelfs als jouw browser van het moderne type is dat
éérst https probeert! Een AitM kan dat
https-verzoek naar
almere.nl namelijk eenvoudig blokkeren.
Zodra jouw browser daarna
stilletjes http://almere.nl probeert, kan de aanvaller
zich voordoen als almere.nl.
En, desgewenst, zodra die website is "geopend", jouw browser doorsturen naar een phishingsite met een andere domeinnaam en
met een geldig https servercertificaat, denk aan iets als
https://almere-gemeente,com (met een punt i.p.v. een komma - die ik ertussen zette om per ongelukt openen te voorkómen - mocht die site nu of ooit bestaan).
Nb. dit kan zó snel gaan dat je dat niet hoeft te zien! Bovendien komt het ook voor dat legitieme websites jouw browser doorsturen. Echter, zolang
elke verbinding via
https tot stand komt, kan een AitM daar -normaal gesproken (*)- niet tussenkomen.
(*) Behoudens zeldzame gevallen zoals indien een certificaat onterecht is afgegeven, een private key van een webserver is gekopiejat of als je een fout (of gecompromitteerd) rootcertificaat hebt geïnstalleerd.
Risico "harde" http-link
Helaas vind je op veel websites nog steeds links die met
http beginnen, en ook in QR-codes zie ik dat vaak - terwijl de betreffende website allang https ondersteunt. Als je
https only hebt aangezet, zal de browser eerst
https proberen en je waarschuwen als dat niet lukt.
Waarschuwing i.p.v. blokkade
Met
https only ingeschakeld word je ervoor gewaarschuwd dat een website geen https ondersteunt, maar ook als de verbinding (door een AitM of t.g.v. een configuratiefout) "gedowngraded' wordt naar
http; dat hoort bij geen enkele fatsoenlijke website nog te gebeuren (werk.nl ondersteunt sinds juli vorig jaar ook https:
https://security.nl/posting/803597).
Browser zonder "https only" ondersteuning
Vooral als je op een publiek WiFi-netwerk zit: tik altijd
https:// vóór elke domeinnaam in de adresbalk van jouw browser.
Overigens ben je niet alleen kwetsbaar op publiek WiFi: als je, met jouw computer, tablet of smartphone via een vertrouwd netwerk een internetverbinding hebt (vooral als je geen DoH, DNS over Https, gebruikt), en je
almere.nl + Enter hebt ingevoerd in de adresbalk van jouw browser, kan een aanvaller het DNS-antwoord vervalsen, en jouw browser zó naar een andere website sturen - die
https://almere.nl blokkeert, maar
http://almere.nl niet (en, desgewenst, daarna jouw browser doorstuurt).
Veiliger dan HSTS en zelf "https://" ervoor zetten
Ten slotte:
https only aanzetten is veiliger dan vertrouwen op HSTS (info:
https://security.nl/posting/802243), want dat werkt lang niet altijd, en de kans dat je
https:// vergeet in te tikken, een stomme QR-code scant of of een http-link klikt, is aanzienlijk.
Aanvulling 18:33: in
https://www.security.nl/posting/840518 ging ik hier eerder op in, en beschreef een "hack" hoe je
https only in Microsoft Edge onder Windows kunt aanzetten.