Veiligheid Drupal CMS websites

Drupal is veilig, super veilig!

Drupal is veilig, super veilig! 
 

Een veilige website bouw je met Drupal, het CMS dat mede om deze reden de voorkeur heeft van (semi)overheid, zorg, non-profit maar ook diverse MKB en groot corporate organisaties. Het is de keuze en aanpak van Drupal, de manier waarop de community gecentraliseerd en procesmatig omgaat met veiligheid dat het verschil maakt. 

---

In het huidige IT landschap lijkt het soms onmogelijk om software veilig te houden en persoonsgegevens en andere gevoelige informatie te beschermen tegen meekijkende ogen en hackers. 

Je komt waarschijnlijk op dit artikel omdat je het Drupal CMS als oplossing voor een nieuwe website of applicatie overweegt. Of misschien heb je al een Drupal website en ben je bezorgd om de veiligheid daarvan. Drupal 7 is end of life vanaf 5 januari 2025, vanaf dat moment zal Drupal 7 niet meer worden ondersteund door de Drupal community en is deze niet meer veilig! Een upgrade naar Drupal 10 is nodig. 

Atom is gespecialiseerd in het leveren van complexe Drupal websites en Drupal applicaties en het ondersteunen en automatiseren van bedrijfsprocessen en e-commerce. Mede vanwege de veiligheid kiezen wij, als Atom, er vaak voor om Drupal in te zetten voor het bouwen van websites en applicaties. Lees ook meer over de voordelen van Drupal 10.

 

In dit artikel vertellen we je meer over de veiligheid van het Drupal CMS. Welke stappen kan je ondernemen om de beveiliging van jouw Drupal website en de veiligheid/bescherming van de gegevens van gebruikers te verhogen?

Ben je minder technisch, dan mag je natuurlijk ook direct contact met ons opnemen. Wij kijken dan graag mee of je Drupal website of applicatie veilig is, of dat het nodig is de beveiliging van de Drupal website of applicatie aan te scherpen.

 

Atom is prijswinnende Drupal specialist, zeer ervaring in Drupal ontwikkeling!


Drupal is een volwassen open-source CMS, gebruikt voor meer dan 1 miljoen websites en applicaties. Drupal heeft veiligheid hoog op de prioriteitenlijst staan en presteert goed op dat gebied. Drupal bestaat uit een sterke, veilige kern met de mogelijkheid om deze uit te breiden met duizenden modules, ontwikkeld door de Drupal community. Het risico op beveiligingslekken bij CMS systemen is over het algemeen groter bij gecontribueerde modules en themes dan bij de core. Drupal heeft echter een unieke aanpak wat Drupal in zijn geheel erg veilig maakt. 

 

De Drupal community bestaat uit maar liefst 35.000 actieve developers, waaronder het team van Atom, met expertise in verschillende facetten van het web. Het begint met het schrijven van veilige code, zoals door Drupal wordt voorgeschreven in de documentatie. De betrokkenheid en vele ogen van de Drupal community zorgen er voor dat veiligheidslekken in veel gevallen worden ontdekt en verholpen, voordat hier misbruik van gemaakt kan worden. 

 

Veiligheidslekken in Drupal worden gemeld aan het Drupal security team; experts die zich bezighouden met het behandelen van meldingen, het ondersteunen van module beheerders en het verhelpen van risico’s in de beveiliging. Nadat een veiligheidslek is gedicht, en uitgebreid gereviewd en getest, wordt de nieuwe versie van de core of module beschikbaar gesteld via drupal.org. Informatie over de veiligheidslekken worden door het Drupal security team gepubliceerd in de security advisory op drupal.org. Die open en duidelijke communicatie is wat Drupal zo bijzonder en veilig maakt. 

 

Het is als beheerder van een Drupal website van groot belang direct te reageren op kritische veiligheidslekken door patches toe te passen of modules te updaten. Daarnaast is het ook van belang periodiek, naar onze mening maandelijks, minder kritische patches en module updates door te voeren. 

 

Je wilt je Drupal website of applicatie nog veiliger
Wanneer meer zekerheid van een veilige omgeving gewenst is, kunnen onderstaande punten helpen dit te bereiken.

 

1. Communicatie over HTTPS (SSL certificaat)
    Alle data die over het HTTP protocol worden verzonden kunnen door derden uitgelezen worden. Deze data kunnen gevoelige informatie bevatten, zoals logingegevens en sessie informatie. Met de installatie van een SSL certificaat worden data ge-encrypt verzonden over het HTTPS protocol. Elke website zou van een SSL certificaat voorzien moeten zijn. Ook Google hecht waarde aan veilige verbindingen en laat weten dat het hebben van een SSL certificaat meegenomen wordt in de ranking van websites binnen de zoekmachine.

 

2. Drupal instellingen
User #1: 
Het gebruikersaccount dat wordt aangemaakt tijdens de installatie van Drupal is bijzonder omdat het, standaard, volledige rechten heeft vergelijkbaar met een root account. Het niet juist beveiligen van dit account kan tot problemen leiden. Vanaf Drupal 7 is de user #1 gebruiker niet nodig voor bijvoorbeeld het uitvoeren van administratieve taken als het runnen van update.php. Dit was in Drupal 6 nog wel het geval. Na het configureren van een administrator account kan de user #1 gebruiker dus volledig uitgeschakeld worden, dit is ons advies. 

 

Tekst formats:
Drupal komt met een aantal sets aan mogelijke input formats, die de gebruikers van de website de mogelijkheid biedt HTML te gebruiken als invoer, bijvoorbeeld tijdens het plaatsen van een reactie. De standaardconfiguratie en rechten zijn veilig, maar aanpassingen hieraan, door bijvoorbeeld extra HTML tags toe te staan, kunnen ervoor zorgen dat er ongepaste afbeeldingen en kwaadaardige JavaScript code toegevoegd worden. Hiermee kunnen de website gedefacet en wachtwoorden aangepast worden.

 

Gebruikersrechten:
Drupal beschikt over een geavanceerd en uitgebreid rechtensysteem. Dit is een van de grote voordelen van Drupal ten opzichte van andere CMS systemen zoals Wordpress, Joomla en Typo3, maar brengt ook gevaar met zich mee. Een gebruiker met rechten om accounts aan te maken kan ook het wachtwoord van administrator accounts aanpassen, waaronder die van user #1. Het is dus van groot belang deze rol alleen aan vertrouwde gebruikers toe te kennen en de accounts te beveiligen tegen Brute forcing. De module login security en password policy kunnen hiermee helpen.

 

3. Extra Drupal modules

 

Security Kit
Drupal security kit biedt diverse opties om de veiligheid van Drupal te verstevigen en het risico van exploratie van bekende kwetsbaarheden in webapplicaties, zoals Cross-site Scripting, Cross-site Request forgery en Clickjacking, te verminderen.

 

Password policy
Het Drupal Password maakt het mogelijk om als administrator de minimale eisen voor een wachtwoord te bepalen. Daarnaast biedt de module ook mogelijkheden om wachtwoorden om de zoveel tijd te laten verlopen, zodat de gebruiker verplicht is een nieuw wachtwoord in te stellen. 

 
Login security of Flood control
Ook een sterk wachtwoord kan door middel van brute forcing worden gekraakt. De modules  Login security en Flood control helpen dit te voorkomen door het aantal login pogingen binnen een bepaalde tijd te beperken en IP’s volledige toegang te ontzeggen.

 

Paranoia
De Paranoia module voor Drupal zorgt ervoor dat er geen aanpassingen kunnen worden gedaan aan de user #1. Dit is belangrijk wanneer het user #1 account niet uitgeschakeld is en er toegang tot Drupal wordt verkregen via een ander account dat gebruikers kunnen aanmaken. Deze module kan uiteraard niet via de module pagina worden uitgeschakeld, hiervoor moet je toegang hebben tot de database.

 

MD5 check
Bij veel hacks wordt er kwaadaardige code geplaatst in module bestanden. De MD5 check module genereert een MD5 checksum en controleert daarmee op veranderingen.

 

Two-factor Authentication (2FA)
De Drupal module Two-Factor Authentication voegt een extra stap toe aan het login proces. Naast een gebruikersnaam en wachtwoord is er bijvoorbeeld ook een code nodig die wordt verzonden naar, of gegenereerd door, bijvoorbeeld een mobiel apparaat. Deze extra stap geeft meer de zekerheid dat de gebruiker, die probeert in te loggen, ook daadwerkelijk die gebruiker is.

 

Coder
Coder is eigenlijk geen module maar een command line tool. Coder controleert de geschreven code op het werken volgens coding standaarden en best practices. 

 

Security review
De Drupal security review module geeft inzicht in de beveiligingsrisico’s van de webapplicatie. Hierbij wordt onder andere gekeken naar de configuratie van de gebruikersrechten, bestandsrechten op de server en text format instellingen.

 

4. Hosting omgeving
Naast het goed inrichten en onderhouden van een Drupal website speelt ook de hosting nog een belangrijke rol in de veiligheid van de omgeving. Ook op dit gebied kunnen er veel extra maatregelen worden genomen om meer zekerheid op een veilige omgeving te geven. Atom levert zelf geen hosting, maar kan wel adviseren in de keuze voor een partij die aansluit bij de wensen en eisen. 

 

Security/audit penetratie testen
Wanneer veiligheid de nummer één prioriteit is voor je bedrijf, kan je er ook voor kiezen om maatwerk code,  bijvoorbeeld door Atom geschreven, door een externe partij te laten controleren. Een dergelijk partij zal deels handmatig en gebruikmakend van gespecialiseerde software de code en computersystemen testen op kwetsbaarheden. 


Samenvatting:
Drupal heeft haar zaakjes met betrekking tot veiligheid goed op orde. Er zijn goede documentatie en richtlijnen aanwezig om voort te borduren op de stevige Drupal core. Bovenstaande stappen zijn dan ook zeker niet in alle situaties nodig. Wanneer een specifieke casus daarom vraagt biedt Drupal meer dan genoeg mogelijkheden om weerstand te bieden tegen aanvallen van hackers.

 

Als ook dat niet volstaat kunnen er vanaf de hardware/server kant nog extra stappen worden ondernomen. 

 

Eén onderdeel dat voor elke omgeving van groot belang is, is te zorgen dat alle modules van zowel de Drupal core als contribuerende modules tijdig worden bijgewerkt. 
 

Interessante Drupal artikelen: