Virkning
Fraværet av sikkerhetshoder lar angripere utføre clickjacking, stjele øktinformasjonskapsler eller utføre skripting på tvers av nettsteder (XSS) [S1]. Uten disse instruksjonene kan ikke nettlesere håndheve sikkerhetsgrenser, noe som fører til potensiell dataeksfiltrering og uautoriserte brukerhandlinger [S2].
Grunnårsak
Problemet stammer fra manglende konfigurering av webservere eller applikasjonsrammeverk til å inkludere standard HTTP-sikkerhetshoder. Mens utvikling ofte prioriterer funksjonell HTML og CSS [S1], utelates sikkerhetskonfigurasjoner ofte. Revisjonsverktøy som MDN Observatory er designet for å oppdage disse manglende defensive lagene og sikre at interaksjonen mellom nettleseren og serveren er sikker [S2].
Tekniske detaljer
Sikkerhetshoder gir nettleseren spesifikke sikkerhetsdirektiver for å redusere vanlige sårbarheter:
- Innholdssikkerhetspolicy (CSP): Kontrollerer hvilke ressurser som kan lastes, forhindrer uautorisert skriptkjøring og datainjeksjon [S1].
- Streng-Transport-Sikkerhet (HSTS): Sikrer at nettleseren bare kommuniserer over sikre HTTPS-tilkoblinger [S2].
- X-Frame-Options: Hindrer applikasjonen fra å bli gjengitt i en iframe, som er et primært forsvar mot clickjacking [S1].
- X-Content-Type-Options: Hindrer nettleseren fra å tolke filer som en annen MIME-type enn det som er spesifisert, og stopper MIME-sniffing-angrep [S2].
Hvordan FixVibe tester for det
FixVibe kunne oppdage dette ved å analysere HTTP-svarhodene til en nettapplikasjon. Ved å benchmarke resultatene mot MDN Observatory-standardene [S2], kan FixVibe flagge manglende eller feilkonfigurerte overskrifter som CSP, HSTS og X-Frame-Options.
Fiks
Oppdater nettserveren (f.eks. Nginx, Apache) eller programmellomvare for å inkludere følgende overskrifter i alle svar som en del av en standard sikkerhetsstilling [S1]:
- Content-Security-Policy: Begrens ressurskilder til klarerte domener.
- Strict-Transport-Security: Håndhev HTTPS med en lang
max-age. - X-Content-Type-Options: Sett til
nosniff[S2]. - X-Frame-Options: Sett til
DENYellerSAMEORIGINfor å forhindre clickjacking [S1].
