Content Security Policy (CSP): Websitebeveiliging uitgelegd

  • Home
  • Là Gì_11
  • Content Security Policy (CSP): Websitebeveiliging uitgelegd
februari 16, 2025

CSP, oftewel Content Security Policy, is een extra beveiligingslaag voor websites. Het is ontworpen om veelvoorkomende aanvallen, zoals Cross-Site Scripting (XSS) en data-injectie, te detecteren en te blokkeren. CSP functioneert als een whitelist die specificeert welke bronnen scripts, styles, afbeeldingen en frames mogen laden op de website. Alleen bronnen die expliciet zijn toegestaan, worden geladen; alle andere aanvragen worden geblokkeerd. Browsers die CSP niet ondersteunen, functioneren normaal met servers die CSP implementeren en vice versa. In het geval van niet-ondersteunde browsers wordt CSP genegeerd en hanteert de website het standaardbeleid.

CSP werkt door de HTTP-header Content-Security-Policy toe te voegen aan de serverrespons. Deze header bevat een set instructies (directives) die bepalen welk type content van welke bron mag worden geladen. De script-src directive specificeert bijvoorbeeld de toegestane bronnen voor JavaScript-bestanden.

Er zijn verschillende directives binnen CSP, elk verantwoordelijk voor een specifiek type bron:

  • default-src: Van toepassing op alle brontypen als er geen specifieke directive is gedefinieerd.
  • script-src: Beheert het laden van JavaScript-bestanden.
  • style-src: Beheert het laden van CSS-bestanden.
  • img-src: Beheert het laden van afbeeldingen.
  • font-src: Beheert het laden van lettertypen.
  • frame-src: Beheert het laden van iframes.
  • object-src: Beheert het laden van embedded objecten zoals Flash.
  • media-src: Beheert het laden van mediabestanden zoals audio en video.

Elke directive kan een of meerdere waarden aannemen:

  • 'self': Staat het laden van bronnen van dezelfde oorsprong als de website toe.
  • 'none': Staat het laden van geen enkele bron toe.
  • 'unsafe-inline': Staat inline code zoals <script> of inline styles toe. Gebruik deze waarde echter niet, omdat dit de beveiliging van CSP vermindert.
  • Een specifieke URL: Staat het laden van bronnen van de opgegeven URL toe.
  • Een domeinnaam: Staat het laden van bronnen van alle subdomeinen van het opgegeven domein toe. Bijvoorbeeld: example.com staat www.example.com, sub.example.com, etc. toe.
  • *: Wildcard, staat het laden van bronnen van elke oorsprong toe. Gebruik deze waarde niet, omdat dit de meeste beveiligingsfuncties van CSP uitschakelt.
  • data:: Staat het laden van bronnen van data URI’s toe.
  • https:: Staat het laden van bronnen van elke bron die HTTPS gebruikt toe.

Voorbeeld van een eenvoudige CSP:

Content-Security-Policy: default-src 'self'; img-src 'self' data:; script-src 'self' https://example.com;

Deze CSP staat het volgende toe:

  • Het laden van alle brontypen (behalve afbeeldingen en scripts) van dezelfde oorsprong als de website.
  • Het laden van afbeeldingen van dezelfde oorsprong of van data URI’s.
  • Het laden van scripts van dezelfde oorsprong of van https://example.com.

Om CSP-overtredingen te monitoren, kun je de report-uri of report-to directive gebruiken. Deze directive zorgt ervoor dat de browser rapporten over CSP-overtredingen naar een opgegeven URL verzendt. Services zoals report-uri.com bieden een interface om deze rapporten te verzamelen en te analyseren, waardoor je inzicht krijgt in de beveiligingsproblemen van je website.

De juiste implementatie van CSP kan het risico van XSS- en injectie-aanvallen aanzienlijk verminderen en je website en gebruikers beschermen tegen online bedreigingen.

Leave A Comment

Categorieën

Recent Posts

No labels available

Wat is Sociale Media?

Lượng vitamin K2 trong 100gr thực phẩm
No labels available

Wat is vitamine K2?

Create your account