FixVibe
Covered by FixVibemedium

Ontoereikende configuratie van de beveiligingsheader

Webapplicaties slagen er vaak niet in om essentiële beveiligingsheaders te implementeren, waardoor gebruikers worden blootgesteld aan cross-site scripting (XSS), clickjacking en gegevensinjectie. Door gevestigde webbeveiligingsrichtlijnen te volgen en auditingtools zoals het MDN Observatory te gebruiken, kunnen ontwikkelaars hun applicaties aanzienlijk beschermen tegen veelvoorkomende browsergebaseerde aanvallen.

CWE-693

Impact

Door het ontbreken van beveiligingsheaders kunnen aanvallers clickjacking uitvoeren, sessiecookies stelen of cross-site scripting uitvoeren (XSS) [S1]. Zonder deze instructies kunnen browsers de beveiligingsgrenzen niet afdwingen, wat kan leiden tot mogelijke gegevensexfiltratie en ongeautoriseerde gebruikersacties.

Oorzaak

Het probleem komt voort uit een fout bij het configureren van webservers of applicatieframeworks om standaard HTTP-beveiligingsheaders op te nemen. Hoewel bij de ontwikkeling vaak prioriteit wordt gegeven aan functionele HTML en CSS [S1], worden beveiligingsconfiguraties vaak weggelaten. Auditingtools zoals het MDN Observatory zijn ontworpen om deze ontbrekende verdedigingslagen te detecteren en ervoor te zorgen dat de interactie tussen de browser en de server veilig is. [S2].

Technische details

Beveiligingsheaders voorzien de browser van specifieke beveiligingsrichtlijnen om veelvoorkomende kwetsbaarheden te beperken:

  • Contentbeveiligingsbeleid (CSP): Bepaalt welke bronnen kunnen worden geladen, waardoor ongeautoriseerde scriptuitvoering en gegevensinjectie [S1] wordt voorkomen.
  • Strikte transportbeveiliging (HSTS): Zorgt ervoor dat de browser alleen communiceert via beveiligde HTTPS-verbindingen [S2].
  • X-Frame-opties: Voorkomt dat de applicatie wordt weergegeven in een iframe, wat een primaire verdediging is tegen clickjacking [S1].
  • X-Content-Type-Options: Voorkomt dat de browser bestanden interpreteert als een ander MIME-type dan is opgegeven, waardoor MIME-sniffing-aanvallen worden gestopt [S2].

Hoe FixVibe erop test

FixVibe zou dit kunnen detecteren door de HTTP-antwoordheaders van een webapplicatie te analyseren. Door de resultaten te vergelijken met de MDN Observatory-standaarden [S2], kan FixVibe ontbrekende of verkeerd geconfigureerde headers markeren, zoals CSP, HSTS en X-Frame-Options.

Repareren

Werk de webserver (bijvoorbeeld Nginx, Apache) of applicatie-middleware bij zodat de volgende headers in alle reacties worden opgenomen als onderdeel van een standaard beveiligingshouding [S1]:

  • Content-Security-Policy: Beperk bronbronnen tot vertrouwde domeinen.
  • Strikte transportbeveiliging: dwing HTTPS af met een lange max-age.
  • X-Content-Type-Opties: Stel in op nosniff [S2].
  • X-Frame-opties: stel in op DENY of SAMEORIGIN om clickjacking [S1] te voorkomen.