Security Headers toevoegen in DirectAdmin

Het instellen van Security Headers is een eenvoudige manier om de beveiliging van websites op een DirectAdmin-server te verbeteren. Door de juiste HTTP Response Headers toe te voegen, bescherm je websites beter tegen veelvoorkomende aanvallen zoals Cross-Site Scripting (XSS), clickjacking, code-injectie en andere browsergerelateerde beveiligingsrisico’s.

Daarnaast levert een correcte configuratie vaak een hogere score op bij beveiligingscontroles, zoals die van SecurityHeaders.com.

Wat zijn Security Headers?

Wanneer een bezoeker een website opent, stuurt de webserver naast de webpagina ook HTTP Response Headers naar de browser. Deze headers geven instructies over hoe de browser met de website moet omgaan en welke beveiligingsmaatregelen moeten worden toegepast.

Veel gebruikte security headers zijn onder andere:

  • X-Content-Type-Options
  • X-Frame-Options
  • Content-Security-Policy
  • Strict-Transport-Security (HSTS)
  • Permissions-Policy
  • Referrer-Policy

Standaard zijn deze headers vaak niet geconfigureerd. Veel beheerders voegen ze handmatig toe via een .htaccess-bestand. Een efficiëntere oplossing is om de headers centraal toe te voegen aan de Apache VirtualHosts, zodat alle websites op de server automatisch profiteren van dezelfde beveiligingsinstellingen.

Security Headers toevoegen aan DirectAdmin

Maak het bestand cust_httpd.CUSTOM.post aan:

vi /usr/local/directadmin/data/templates/custom/cust_httpd.CUSTOM.post

Voeg vervolgens de onderstaande configuratie toe:

<IfModule mod_headers.c>
  Header always set X-Content-Type-Options "nosniff"
  <FilesMatch "\.(php|html)$">
    Header always unset X-Powered-By
    Header unset X-Powered-By
    Header set X-Frame-Options "SAMEORIGIN"
    Header set X-XSS-Protection "1"
    Header set X-Download-Options "noopen"
    Header set X-Permitted-Cross-Domain-Policies "master-only"
    Header set X-DNS-Prefetch-Control "on"
    Header set Referrer-Policy "no-referrer-when-downgrade"
    Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
    Header set Content-Security-Policy "block-all-mixed-content"
    Header set Permissions-Policy 'geolocation=*, midi=(), sync-xhr=(self "https://|DOMAIN|" "https://www.|DOMAIN|"), microphone=(), camera=(), magnetometer=(), gyroscope=(), payment=(), fullscreen=(self "https://|DOMAIN|" "https://www.|DOMAIN|")'
  </FilesMatch>
</IfModule>

Let op: In de oorspronkelijke configuratie stond $$ in de FilesMatch-regel. Dit is aangepast naar $, wat de correcte reguliere expressie is.

VirtualHosts opnieuw genereren

Nadat het bestand is opgeslagen, moeten de Apache VirtualHosts opnieuw worden opgebouwd zodat de nieuwe headers actief worden.

Voer hiervoor de volgende opdrachten uit:

cd /usr/local/directadmin/custombuild/
./build rewrite_confs

Na het herschrijven van de configuratie zijn de security headers beschikbaar voor alle websites die gebruikmaken van deze VirtualHost-configuratie.

Controleer je Security Headers

Wil je controleren of de headers correct zijn ingesteld? Test dan je website met de online scanner van SecurityHeaders.com. Deze controleert welke HTTP Security Headers aanwezig zijn en geeft een overzichtelijke beveiligingsscore.

Domeinspecifieke uitzonderingen

Hoewel de headers serverbreed worden ingesteld, kunnen individuele websites deze nog steeds overschrijven of uitschakelen via hun eigen .htaccess-bestand.

Wil je bijvoorbeeld alleen voor één domein de X-Frame-Options-header uitschakelen, voeg dan het volgende toe aan de .htaccess van dat domein:

Header always unset X-Frame-Options

Conclusie

Door Security Headers centraal te configureren in DirectAdmin via de Apache VirtualHosts, verbeter je de beveiliging van alle gehoste websites zonder dat elke gebruiker zelf wijzigingen hoeft aan te brengen. Dit zorgt voor een betere bescherming tegen veelvoorkomende webaanvallen én draagt bij aan een hogere score bij beveiligingsscans.

Add a Comment

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *