Drupal & Security: wat moet je weten?

Drupal & Security: wat moet je weten?

29 november 2018

Drupal is een open-source content management systeem geschreven in PHP.  Het wordt wereldwijd gebruikt, wat de nodige veiligheidsrisico's met zich meebrengt. 

Drupal heeft een laag percentage kwetsbaarheden in vergelijking met zijn marktaandeel en heeft daarnaast een security team van vrijwilligers. Maar dat betekent niet dat je geen veiligheidsmaatregelingen moet nemen.

1. Kies een volwaardige hostingpartner

Een veilige website is maar zo veilig als de zwakste schakel, daarom is het platform waar de website op draait ook van essentieel belang. Drupal werkt meestal met MySQL, een MySQL database en PHP. Daarom is het belangrijk dat ook deze componenten onderhouden worden en steeds up-to-date zijn. Zorg daarom voor een volwaardige hostingpartner met kennis van zaken, ook al kost je dit iets meer.

“If you pay for quality, you only cry once”

2. Hou je Drupal up-to-date

Verouderde versies van drupal core en contrib modules zijn een veiligheidsrisico. Het is daarom van zeer groot belang om regelmatig updates door te voeren van al deze Drupal modules en themes. Tip: De meeste updates worden uitgebracht op woensdag. Heb je heel veel websites te onderhouden, dan kan je ook kijken naar een automatisch update systeem. Deze geven je een overzicht van alle websites waar een update voor beschikbaar is zodat je gepast actie kan ondernemen.

3. Gebruik https, altijd en overal

Verkeer dat over een niet-beveiligde verbinding (http) verloopt, kan in principe door iedereen onderschept worden en is dus niet veilig. Zorg daarom dat je website over een geldig SSL certificaat beschikt. Met Let’s Encrypt kan je gratis je website naar https brengen. Ook Google geeft je nu strafpunten wanneer je siteverkeer over http verloopt waardoor je minder bezoekers op je website zal krijgen. Nog een reden om over te schakelen naar https.

4. Configuratie

Naast de toegangsrechten op bestandsniveau is het ook belangrijk om te kijken naar de toegangsrechten binnen Drupal zelf. Wie beschikt over welke rechten, en zijn deze ook echt noodzakelijk? Controleer de gebruikersrollen en de toegangsrechten en beperk deze tot een minimum. Zo zorg je er voor dat mensen met bepaalde rollen geen aanspraak kunnen maken tot de kritieke content op de website. Verwijder CHANGELOG.txt op je productieomgeving. Dit geeft potentiële hackers toegang tot interessante informatie over de versie van je installatie, en zo is het voor een hacker heel eenvoudig om te kijken welke pijnpunten in die versie nog aanwezig waren. Verwijder ook alle andere niet noodzakelijke tekstbestanden in je installatiefolder. Daarnaast krijg je standaard op de pagina/node een overzicht van alle nodes. Zorg ervoor dat deze url niet meer toegankelijk is, zodat je geen belangrijke informatie prijsgeeft. Zorg bij de configuratie van invoerformaten dat je goed weet welke rollen deze invoerformaten zullen gebruiken.

5. Gebruik van modules

Gebruik enkel modules die ondersteund worden door het security team. Deze kan je herkennen aan het schild icoon. Zo ben zeker dat de modules correct ontwikkeld zijn en dat deze vallen onder het beveiligingsbeleid van Drupal. Development modules dien je uit te schakelen op een productieomgeving. Toch wordt dit vaak vergeten. Verwijder ook alle niet actieve modules in je Drupal installatie want in bepaalde gevallen kunnen deze ook misbruikt worden. Verder dien je gebruik te maken van beveiligingsmodules zoals bijvoorbeeld captcha, password policy, two factor authentication, … Schakel in geen enkel geval de PHP filter module aan op een productieomgeving. In Drupal 8 is deze module gelukkig niet meer aanwezig.

6. Maatwerk

Als je eigen modules of thema’s gaat maken (of laat maken), zorg er dan altijd voor dat deze aan de regels van de kunst voldoen. Maak gebruik van de Drupal API waar mogelijk en zorg ervoor dat je modules & thema’s op een veilige gestructureerde manier gemaakt zijn. Een slecht ontwikkelde module heeft niet alleen impact op de veiligheid van je website, maar kan ook een negatief effect hebben op de snelheid ervan.

7. Backups

Je kan niet altijd voorkomen dat je website gehacked wordt, maar je kan er wel voor zorgen dat je snel terug op de been bent als dit gebeurt. Dit kan alleen maar als je terug van een schone lei kan beginnen aan de hand van recente backups. Zorg daarom dat je altijd backups hebt van je installatie (code, bestanden, database). Bij Level27 wordt er elk uur een back-up gemaakt, maar dit is lang niet altijd het geval in onze sector. Het is pas in geval van nood dat velen erachter komen dat goede backups van groot belang kunnen zijn.

Een opmerking of vraag?

Stuur ons een bericht en we koppelen zo snel mogelijk terug.