Økt sikkerhet på din nettside med HTTP response headere

Publisert

Sikkerhet må gjøres i alle ledd, både på bruker, nettleser og servernivå, men ikke minst på applikasjonsnivå.

HTTP-response headers er et viktig verktøy for å sikre din web-app eller nettside mot ulike typer angrep ved å signalisere til nettleseren hvilke funksjoner du ikke ønsker at nettleseren skal bruke mens den viser nettsiden din.

HTTP-response headere er tilleggsinformasjon som sendes til fra applikasjonen din til brukerens nettleser.

Sikkerhet handler alltid om en balanse mellom brukervennlighet og sikkerhetsnivå: Du bør begrense nettleserne fra funksjonalitet som utgjør potensiell sikkerhetsrisiko, men bør ikke begrense for mye slik at de ikke viser nettsiden din slik du ønsker.

  1. Les beskrivelsen av de viktigste headerne du bør vurdere.
  2. Start med å teste nettsiden din på Securityheaders.com. Du kan også lese mer på OWASP Secure Headers Project
  3. Vurder hva du bør implementere, men du skal ha en god grunn for å ikke sette headere slik at du får iallfall en B-rating på securityheaders.com
  4. Implementer! Hvordan dette gjøres er avhengig av hvilket CMS eller teknologi nettsiden din kjører på.

HTTP Strict Transport Security (HSTS)

Krever at nettlesere eller kompatible agenter bare skal samhandle med programmer via HTTPS - og aldri vanlig HTTP eller lavere versjoner av Transport Layer Security (TLS). Innstilling av denne HSTS-headeren kan bidra til å beskytte programmer mot nedgradering av protokoller. I praksis kan denne være vanskelig å implementere på en del nettsider.

Anbefalt verdi: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

X-Frame-Options

X-Frame-Options headeren beskytter webapplikasjoner mot såkalt "clickjacking" ved å nekte tredjeparter å putte nettsiden i din i en "frame" (en sub-container som viser nettsiden din 'inne i' en annen nettside).

Anbefalt verdi: X-Frame-Options: SAMEORIGIN

X-XSS-Protection

X-XSS-Protection headeren er designet for å forsvare webapplikasjoner mot XSS-angrep ved å konfigurere funksjonalitet som allerede er bygget inn i de aller fleste nettlesere.

Anbefalt verdi: X-XSS-Protection: 1; mode=block

X-Content-Type-Options

Nekter nettleseren å "sniffe" innholdstypen (MIME), og tvinger nettleseren derfor til å holde seg til innholdstypen som blir satt av nettsiden din.

Anbefalt verdi: X-Content-Type-Options: nosniff

Content-Security-Policy

Forsvarer mot for eksempel XSS og "clickjacking" ved å eksplisitt definere hvilket innhold som skal kunne lastes inn på nettsiden, via en whitelist. Må settes avhengig av hvilket innhold du faktisk har på nettsiden, f.eks tredjeparts-scripts.

Eksempel på en CSP-header: Content-Security-Policy: script-src ‘self’

Referrer-Policy

Referansepolicyens HTTP-responskopling styrer hvor mye domene-informasjon som sendes i referrer header, for å begrense informasjonen som delt med eksterne sider du lenker til.

Eksempel på en Referrer-Policy header: Referrer-policy: no-referrer

Feature Policy

Begrenser hvilke funksjoner og APIer som kan benyttes i nettleseren for din nettside.

Støtte i nettlesere

Ikke alle sikkerhetsrelaterte HTTP-responsheader er kompatible med alle nettlesere. OWASP tilbyr en nyttig sammendrag av hvilke nettlesere som støtter hvilke overskrifter.

Henrik Akselsen

Henrik Akselsen

CMS-konsulent, utvikler og webanalytiker i Frontkom. Langt over gjennomsnittet interessert i hva som fungerer på web, og hvordan man kommer ditt via innholdstrategi og analyseverktøy.