operativsystemer og programvare
Er nettstedet ditt forberedt på cookie-kravet som kommer Chrome i februar?
Kan føre til at tredjepartsinnhold slutter å fungere.
Mange nettsteder, inkludert digi.no, inneholder innhold som er levert fra andre domener enn «digi.no». Dette kalles gjerne for eksternt innhold eller tredjepartsinnhold. Dette kan være bilder, annonser, JavaScript-biblioteker, fonter og mye annet. Noe av dette innholdet er levert fra et annet domene som har samme eier som nettstedet brukeren besøker. Annet innhold kan stamme fra helt andre leverandører.
For en nettleser er eieren av innholdet ikke relevant. Det er domenenavnet som benyttes, som bestemmer om innholdet er internt eller eksternt. Vanligvis vil subdomener, slik som for eksempel digi.no, www.digi.no og bilder.digi.no, anses som samme nettsted. Men det finnes mange unntak.
Som med mye annet webinnhold, kan dette eksterne innholdet iblant avhenge av informasjon som er lagret i én eller flere cookies i brukerens nettleser. Når en nettleser sender en forespørsel til en webserver om å få oversendt en webside, blir også de lagrede cookiene sendt til den aktuelle webserveren. Innholdet som sendes i retur til nettleseren, vil kunne avhenge av hva som er oppgitt i cookiene.
Tredjepartscookies
Fordi de nevnte cookiene tilhører et annet nettsted enn det nettstedet brukeren besøker, kategoriseres disse som tredjepartscookies. En egenskap ved disse cookiene er at de kan brukes på tvers av mange forskjellige nettsteder som brukeren besøker, dersom alle disse inneholder innhold fra det samme det samme domenet. Dette gjør det også mulig for leverandøren av dette innholdet å spore brukeren på tvers av nettstedene.
Men det kan være helt andre årsaker til at det er behov for å bruke tredjepartscookies. Et veldig lokalt eksempel er kommentarfeltet nedenfor. Her brukes tredjepartscookies for å registrere om brukeren er innlogget eller ikke på Diskusjon.no. Selv om Diskusjon.no og digi.no har samme eier, er Diskusjon.no en tredjepartsleverandør av innhold på digi.nos artikkelsider.
SameSite
Tredjepartscookies er under press, nettopp fordi de ofte brukes til sporing. Flere nettlesere blokkerer mange slike cookies som standard, og Google har nylig kunngjort at støtten for slike cookies kan bli fjernet fra Chrome innen to år.
Lenge før dette vil skje, er en det en annen cookie-relatert endring som kan få negative konsekvenser for mange nettsteder, dersom den ikke følges opp. Dette er en relativt ny cookie-attributt kalt SameSite, og tas det ikke hensyn til denne, kan mye eksternt webinnhold slutte å fungere, nettopp fordi det avhenger av tredjepartscookies.
«Lax», «Strict» og «None»
SameSite-attributtet kan ha tre ulike verdier. Standardverdien er «Lax», noe som innebærer at cookien kan brukes akkurat som vanlige førstepartscookies i dag.
Er verdien satt til «Strict», vil nettleseren kun sende cookien i forespørselen til serveren dersom brukeren allerede er inne på det samme nettstedet (domenet) som er oppgitt i cookien. Cookien vil ikke bli sendt dersom brukeren for eksempel klikker på en lenke i en e-post eller en ekstern webside.
Den tredje verdien SameSite-attributtet kan ha, er «None». Dette forteller nettleseren at cookien skal sendes også når innholdet fra domenet som cookien tilhører, blir integrert i en webside som tilhører et annet domene eller nettsted. Da er dette innholdet tredjepartsinnhold og cookien en tredjepartscookie.
Det er allerede en viss støtte for SameSite-attributtet i Chrome og Firefox, men så langt har det ikke hatt noen konsekvenser ved ikke å bruke det.
Det nye kravet
Det nye nå, det vi si fra og med Chrome 80 som kommer i februar, er at det innføres et krav om at SameSite-attributtet til en cookie må settes til «None» for at cookien skal kunne brukes som en tredjepartscookie. Dersom SameSite ikke er oppgitt i det hele tatt, noe som stadig ser ut til å være det vanlige, vil cookien kun sendes dersom brukeren besøker nettstedet den tilhører. Cookien vil ikke bli sendt dersom den er knyttet til tredjepartsinnhold på et annet nettsted.
Et ytterligere krav er at SameSite=None alltid må kombineres med Secure-attributtet. Dette betyr at tredjepartscookies heretter kun kan brukes via krypterte HTTPS-forbindelser.
En god forklaring på bruken av SameSite, er tilgjengelig her.
Har advart lenge
Siden Chrome 77 har berørte webutviklere blitt vist advarsler i de innebygde utviklerverktøyene i nettleseren, om de kommende endringene. Bildet under viser hvordan dette ser ut i Chrome-konsollen når en digi.no-artikkel er åpnet i nettleseren.
De fleste nettlesere har en funksjon i de integrerte utviklerverktøyene som viser om hvilke verdier et nettsteds cookies har for SameSite og Secure.
I Chrome og Firefox er det allerede nå mulig å gjøre en reell test hva som blir de reelle konsekvensene av håndhevelsen av SameSite for tredjepartscookies.
I Chrome kan dette aktiveres med denne innstillingen: chrome://flags/#same-site-by-default-cookies
I Firefox fra siden about:config ved å søke opp verdien network.cookie.sameSite.laxByDefault og å sette denne til «true».
Mange er ikke klare
Digi.no har sjekket hva som er status for dette hos en håndfull større, norske nettsteder som har innhold på sidene som er levert fra andre domener enn nettstedets eget. Advarsler om manglende SameSite-verdi og/eller Secure-verdi dukker opp hos mange.
Litt overraskende stammer opptrer veldig mange av disse advarslene når det settes tredjepartscookies fra store, amerikanske tjenester, inkludert Facebook og LinkedIn. Men det er også tilfeller hvor mer lokalt tredjepartsinnhold ikke er forberedt på kravene som kommer.
Disse nye kravene har vært kjent i alle fall siden siden oktober i fjor, og det har trolig lite for seg å vente med å støtte dem.
Hva er så hensikten med alt dette?
Det viktigste, noe som allerede støttes av Chrome og Firefox, er at cookies hvor SameSite er satt til Strict eller Lax, ikke like lett kan utnyttes i en type angrep som kalles for Cross-site request forgery (CSRF). Dette er en type angrep som åpner for at ondsinnede nettsteder kan utnytte brukeres innloggede status på et annet nettsted til å gjøre endringer på dette nettstedet. Dette er nærmere beskrevet under overskriften «Samesite Cookie Attribute» på denne siden.
Med endringen som kommer i Chrome 80, og trolig også i flere andre nettlesere om ikke så lenge, vil også alle cookies hvor det ikke er oppgitt noen SameSite-verdi, bli beskyttet mot CSRF-angrep.
Byrden med å få på plass denne ekstra sikkerheten legges i praksis på utviklerne av løsninger som faktisk bruker tredjepartscookies, framfor å pålegge at absolutt alle cookies gis en SameSite-egenskap.
Google oppgir i dette blogginnlegget at SameSite-attributtet også vil gi brukerne bedre cookiekontroll i nettleseren. Nøyaktig hvordan dette vil fungere, er foreløpig uklart.