Drupal beveiligen: complete handleiding beschermen

Drupal staat bekend om zijn sterke beveiliging, maar alleen als je het correct configureert en onderhoudt. In deze handleiding behandelen we alle essentiƫle beveiligingsmaatregelen om je Drupal website te beschermen tegen aanvallen.

Waarom Drupal beveiliging belangrijk is

Drupal wordt gebruikt door overheden en grote organisaties juist vanwege de goede beveiliging. Maar elke website is een potentieel doelwit:

  • Hackers zoeken naar kwetsbaarheden
  • Malware kan bezoekers infecteren
  • Gegevens kunnen gestolen worden
  • Je site kan misbruikt worden voor spam Met de juiste maatregelen voorkom je 95% van alle aanvallen.

Updates als eerste verdedigingslijn

Updates zijn de belangrijkste beveiligingsmaatregel voor Drupal.

Security advisories volgen

Drupal publiceert security updates op vaste tijden:

  1. Volg de Drupal Security Team
  2. Abonneer je op security meldingen
  3. Security releases komen op woensdag
  4. Kritieke updates worden direct aangekondigd

Drupal core updaten

Houd de core altijd up-to-date:

  1. Ga naar Reports en dan Available updates
  2. Je ziet beschikbare updates
  3. Security updates hebben een rood label
  4. Maak eerst een backup
  5. Voer de update uit Via Composer (aanbevolen):
# Controleer beschikbare updates
composer outdated drupal/*
# Update Drupal core
composer update drupal/core-recommended drupal/core-composer-scaffold --with-all-dependencies
# Voer database updates uit
drush updatedb
drush cache:rebuild

Modules updaten

Modules kunnen ook beveiligingslekken hebben:

  1. Ga naar Reports en dan Available updates
  2. Controleer het tabblad Security updates only
  3. Update modules met security issues eerst
# Update alle modules
composer update drupal/*
# Update specifieke module
composer update drupal/webform

Sterke wachtwoorden en authenticatie

Zwakke wachtwoorden zijn een veelvoorkomende kwetsbaarheid.

Wachtwoordbeleid instellen

  1. Ga naar Configuration en dan People
  2. Klik op Account settings
  3. Configureer wachtwoordvereisten:
    • Minimale lengte
    • Verplichte tekens (hoofdletters, cijfers, speciale tekens)
  4. Sla de instellingen op

Password Policy module

Voor uitgebreider beleid:

composer require drupal/password_policy

Configureer regels voor:

  • Minimale wachtwoordlengte (12+ karakters)
  • Verplichte karaktertypes
  • Wachtwoordgeschiedenis
  • Vervaldatum

Two-factor authenticatie

Voeg een extra beveiligingslaag toe:

composer require drupal/tfa

Configuratie:

  1. Ga naar Configuration en dan TFA
  2. Kies authenticatiemethode (TOTP, recovery codes)
  3. Vereis 2FA voor beheerders
  4. Gebruikers stellen het in via hun profiel

Gebruikersrechten beperken

Het principe van minimale rechten is essentieel.

Rollen herzien

  1. Ga naar People en dan Permissions
  2. Controleer elke rol op onnodige rechten
  3. Verwijder rechten die niet nodig zijn
  4. Let vooral op:
    • Content beheer rechten
    • Admin rechten
    • PHP uitvoer rechten

Geen PHP in content

De PHP Filter module is verwijderd uit Drupal 8+ om goede redenen. Installeer deze nooit. Gebruik in plaats daarvan:

  • Custom modules voor dynamische functionaliteit
  • Twig templates voor weergave

Admin accounts beperken

  1. Minimaliseer het aantal admin accounts
  2. Gebruik specifieke rollen in plaats van volledige admin
  3. Review regelmatig wie welke toegang heeft

Bestandsrechten en server beveiliging

Correcte bestandsrechten voorkomen veel aanvallen.

Aanbevolen rechten

Drupal heeft specifieke rechten nodig:

# Mappen: 755
find /path/to/drupal -type d -exec chmod 755 {} \;
# Bestanden: 644
find /path/to/drupal -type f -exec chmod 644 {} \;
# sites/default/files writable
chmod 755 sites/default/files
# settings.php readonly
chmod 444 sites/default/settings.php

settings.php beveiligen

Na installatie moet settings.php readonly zijn:

chmod 444 sites/default/settings.php
chmod 555 sites/default

Trusted host settings

Configureer welke hostnamen geldig zijn in settings.php:

$settings['trusted_host_patterns'] = [
  '^www\.jouwdomein\.nl$',
  '^jouwdomein\.nl$',
];

Dit voorkomt host header aanvallen.

SSL/HTTPS configureren

Alle Drupal sites moeten HTTPS gebruiken.

SSL activeren

Bij Theory7 hosting is SSL gratis beschikbaar:

  1. Activeer Let's Encrypt in DirectAdmin
  2. Wacht tot het certificaat is aangemaakt
  3. Test of HTTPS werkt

HTTPS afdwingen

Forceer HTTPS via .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Of via settings.php:

$settings['https'] = TRUE;

Secure cookies

Zorg dat cookies alleen via HTTPS worden verzonden:

// In settings.php
ini_set('session.cookie_secure', 1);

Security modules installeren

Extra modules versterken je beveiliging.

Security Kit

composer require drupal/seckit

Configureert:

  • Content Security Policy (CSP)
  • Clickjacking bescherming
  • Cross-site scripting (XSS) preventie

Honeypot

Beschermt tegen spam bots:

composer require drupal/honeypot

Voegt onzichtbare velden toe die bots invullen, legitieme gebruikers niet.

Flood Control

Beschermt tegen brute force aanvallen:

composer require drupal/flood_control

Configureer limieten voor:

  • Login pogingen per IP
  • Login pogingen per account
  • Contact formulier verzendingen

reCAPTCHA

Beschermt formulieren tegen bots:

composer require drupal/recaptcha

Configureer met je Google reCAPTCHA keys.

Monitoring en logging

Detecteer problemen snel door goede monitoring.

Drupal logs bekijken

  1. Ga naar Reports en dan Recent log messages
  2. Filter op severity level
  3. Let op herhaalde fouten
  4. Controleer op verdachte activiteit

Database log configureren

  1. Ga naar Configuration en dan Development
  2. Klik op Logging and errors
  3. Stel in hoeveel berichten bewaard worden
  4. Log errors naar syslog voor permanente opslag

Externe monitoring

Overweeg externe monitoring voor:

  • Uptime monitoring
  • Security scans
  • Performance metrics
  • SSL certificaat expiratie

Backup strategie

Backups zijn je laatste verdedigingslijn.

Backup and Migrate module

composer require drupal/backup_migrate

Configureer:

  1. Automatische dagelijkse backups
  2. Opslag op externe locatie
  3. Bewaar meerdere versies
  4. Test regelmatig het herstellen

DirectAdmin backups

Combineer met DirectAdmin backups voor extra zekerheid.

Beveiligingschecklist

Controleer regelmatig:

  • Drupal core en modules up-to-date
  • Sterke wachtwoorden voor alle accounts
  • Two-factor authenticatie voor admins
  • Minimale rechten per rol
  • Bestandsrechten correct
  • HTTPS actief en afgedwongen
  • Security modules geinstalleerd
  • Logging actief
  • Backups werkend

Gerelateerde artikelen

Hulp nodig?

We staan voor je klaar! Loop je ergens tegenaan of heb je vragen? Ons supportteam helpt je graag persoonlijk verder. Stuur ons een berichtje via het ticketsysteem - we reageren meestal binnen een paar uur en denken graag met je mee.