Websites zijn een belangrijk bedrijfsmiddel voor organisaties. Elke (potentiële) klant heeft er toegang toe en op die manier zijn de aangeboden diensten en informatie over het bedrijf altijd en overal beschikbaar. Met al die potentiële bezoekers is een website een aantrekkelijk doelwit geworden voor cybercriminelen. Ze kunnen de website voor meerdere kwaadaardige doeleinden gebruiken, zoals toegang tot gevoelige gegevens, het gebruik van de bandbreedte voor criminele activiteiten, het posten van illegale inhoud, phishing, defacement of denial of services . Dat kan leiden tot rampzalige gevolgen voor de reputatie van een bedrijf en tot financiële verliezen.

Beste praktijken om een website te beveiligen

1.    De hostserver beveiligen

Met een "defence in depth"-aanpak kan de website worden beschermd door onafhankelijke methoden in te stellen om niet alleen de software en hardware van de server, maar ook de hostinginfrastructuur ervan te beveiligen. Deze methoden kunnen bijvoorbeeld een firewall, een firewall-applicatie, een antivirus etc. omvatten. Door ze te combineren, kan de server worden beschermd tegen veelvoorkomende cyberdreigingen (bv. malware, DDoS etc.). Als de hosting van de website wordt uitbesteed, moet je ervoor zorgen dat de provider voldoende veiligheidscontroles uitvoert om die bescherming te waarborgen.

2.    Een Firewall-webapplicatie opzetten

Bij de “defence in depth”-aanpak is het opzetten van een Firewall-webapplicatie een bijzondere beschermingsmethode. Deze firewall beschermt de webapplicatieserver tegen verschillende aanvallen zoals phishing , ransomware, malware en DDoS-aanvallen (Distributed Denial of Service) door het inkomende en uitgaande netwerkverkeer te monitoren en communicatie toe te staan of te weigeren op basis van vastgestelde beveiligingsregels.

De Firewall-webapplicatie fungeert als controle-instrument tussen de server en de klant. Door het verkeer te ontsleutelen analyseert ze de gebruikersverzoeken voor toegang tot het netwerk. Op die manier kan ze, als ze volgens zijn configuratieregels iets verdachts ontdekt, waarschuwingen naar de IT-verantwoordelijke en zijn team sturen, zodat ze kunnen beslissen welke acties ze vervolgens moeten ondernemen.

De Firewall-webapplicatie beschermt tegen aanvallen vanaf het web. Ze vervangt geen perimeterfirewall, die onbevoegde toegang verhindert en aanvallen vanaf andere toegangspunten detecteert.

3.    De server configureren naargelang je behoeften

Alleen de noodzakelijke diensten voor de server moeten worden geconfigureerd, terwijl de rest moet worden verboden om ongebruikte en potentieel gevaarlijke toegangspunten te vermijden. Daarnaast kunnen specifieke regels worden ingevoerd zoals het filteren van IP-adressen of het verbieden van bepaalde bestandsformaten. Tenslotte moeten alle ongebruikte diensten en functies worden uitgeschakeld of beperkt om de kans op hacken te verkleinen.

4.    Alle webservercomponenten up-to-date houden

Zoals bij alle informatie- en technologiesystemen zijn updates van de webservercomponenten cruciaal om ervoor te zorgen dat alle bekende kwetsbaarheden worden verholpen, zodat cybercriminelen geen kans krijgen om die uit te buiten.

De typische componenten van een webserver zijn:

  • de BIOS/firmware van de hardware waarop de server draait;
  • het besturingssysteem van de server;
  • de werkelijk gebruikte webservice (bv. Apache, nginx, IIS etc.);
  • het contentmanagementsysteem (bv. Drupal, Joomla, WordPress etc.);
  • eventueel de virtualisatielaag.

Zeer weinig bedrijven bouwen hun website vanaf nul. Ze gebruiken meestal derden die enorm veel plug-ins en onderwerpen leveren. Zorg ervoor dat die ook up-to-date blijven. De ontwikkelaars van de derde partijen zijn voortdurend op zoek naar nieuwe kwetsbaarheden, bijgevolg is het uitvoeren van updates essentieel om over de minst kwetsbare versie van de gebruikte componenten te beschikken.

5.    Het contentmanagementsysteem (CMS) beschermen door het up-to-date te houden, de toegang ertoe te beveiligen, beveiligingsplug-ins te installeren en de gebruikers die toegang hebben tot het systeem te controleren

Het is van groot belang om het contentmanagementsysteem te beveiligen door onder andere het systeem en de bijbehorende plug-ins up-to-date houden. Cybercriminelen zoeken altijd naar nieuwe kwetsbaarheden die ze kunnen uitbuiten. Via de updates van de fabrikant worden echter beveiligingspatches vrijgegeven om die kwetsbaarheden te verhelpen. Daarom is het belangrijk om de updates uit te voeren zodra ze beschikbaar zijn.

Bovendien kan het CMS worden beschermd door geen standaardconfiguratie voor accounts en wachtwoorden te gebruiken, maar door een eigen admin-account aan te maken met een sterk genoeg wachtwoord in combinatie met een multifactorauthenticatie (MFA). Multifactorauthenticatie vereist dat een gebruiker ten minste twee verschillende methoden hanteert (bv. wachtwoorden en PIN-code, PIN-code en een code via sms) om zijn identiteit te verifiëren en hem toegang te verlenen tot de bron die hij probeert te raadplegen.

Beveiligingsplug-ins moeten ook worden geïnstalleerd en ingeschakeld op het contentmanagementsysteem. Die plug-ins voorkomen brute-forcing (d.w.z. dat een aanvaller veel wachtwoorden of wachtzinnen instuurt in de hoop de juiste te raden en toegang te krijgen tot gebruikersaccounts) en veel voorkomende webaanvallen.

Ten slotte moet een regelmatige herziening van de gebruikerslijst worden geïntegreerd in het toegangsmanagementproces. Controleer regelmatig wie over de bewerkings- of beheerrechten op je website beschikt en schakel accounts uit die niet langer worden gebruikt of relevant zijn.

De herziening van de gebruikerslijst geldt niet alleen voor gebruikers die toegang hebben tot het contentmanagementsysteem, maar ook voor elke gebruiker binnen een organisatie in het algemeen. Met deze herziening kan worden nagegaan of er geen testgebruikers meer actief zijn, en of er geen gebruikers werden toegevoegd die er niet horen.

6.    Het HTTPS-protocol implementeren

Het HTTPS-protocol wordt op het internet gebruikt voor beveiligde communicatie en dataoverdracht via een computernetwerk. Het is de beveiligde versie van HTTP.  Net zoals HTTP wordt HTTPS gebruikt om data te verzenden tussen een webbrowser en een webserver. Het verschil is dat HTTPS de data versleutelt om de overdracht beter te beveiligen. Door alle uitwisselingen tussen een webbrowser en een webserver te versleutelen, zorgt HTTPS ervoor dat geen enkele buitenstaander de communicatie kan meelezen. Zelfs als een aanvaller de gegevens kan onderscheppen, zal hij ze niet kunnen begrijpen of gebruiken omdat ze versleuteld zijn.

7.    Je databank beschermen door de toegang ertoe te controleren en een back-up te maken

Data zijn een van de meest waardevolle activa van een organisatie. Daarom moeten ze terdege worden beschermd. Het is belangrijk de data in rust (d.w.z. wanneer ze in de databank zijn opgeslagen) te versleutelen en de toegang tot de databank strikt te controleren.
Bovendien moet van die databanken een back-up worden gemaakt om ervoor te zorgen dat zelfs bij een incident alle belangrijke gegevens nog kunnen worden hersteld. Het is belangrijk die back-ups regelmatig te testen om na te gaan of ze, indien nodig, daadwerkelijk kunnen worden gebruikt na een incident .

Zorg naast een back-up van de databanken ook voor een back-up van de website en de configuratie ervan. Die back-ups moeten ook getest worden om te bevestigen dat ze kunnen worden hersteld indien nodig.

8.    Het bladeren in mappen uitschakelen

Bladeren in mappen, directory browsing, biedt mensen die een website bezoeken toegang tot de volledige inhoud, d.w.z. alle bestanden en mappen. Directory browsing moet worden uitgeschakeld, zodat aanvallers de gegevens niet willekeurig kunnen vinden door simpelweg zoekmachines te gebruiken. Bovendien mogen bestanden geen standaard of publiek toegankelijke locaties gebruiken.

9.    Alle toegangen beheren en beveiligen

Het is heel gebruikelijk dat cybercriminelen een bestaand account gebruiken om toegang te krijgen tot de middelen van een bedrijf. Het beheer van de toegangscontrole moet binnen een organisatie goed geregeld en geïmplementeerd zijn. Het is belangrijk om de basisbeginselen van least privilege en need-to-know toe te passen: een gebruiker mag alleen de toegang krijgen die hij nodig heeft om zijn werk uit te voeren, niets anders.

Daarnaast moet er een procedure worden vastgelegd voor het verlenen van toegang aan gebruikers. Hierin wordt bepaald volgens welke procedure de toegang die aan een werknemer is verleend, wordt verwijderd of gewijzigd wanneer deze van functie verandert of de organisatie verlaat. Een aanval met voorkennis is immers altijd mogelijk, hoe loyaal voormalige medewerkers op een bepaald moment ook waren. Hun gevoelens ten aanzien van de organisatie kunnen veranderen als ze niet vrijwillig vertrokken zijn. Beveilig ten slotte de toegang door sterke wachtwoorden te gebruiken, verschillend voor elke account, en waar mogelijk door multifactorauthenticatie toe te passen.

10.    Audit voor de meest voorkomende kwetsbaarheden

Een website testen op bekende kwetsbaarheden is een goede manier om vast te stellen of ze vanuit beveiligingsoogpunt klaar is om live te gaan of niet. Door bestaande kwetsbaarheden vooraf te identificeren, heb je meer tijd om ze te verhelpen. Je kan hulp vragen aan deskundigen, die vertrouwd zijn met het uitvoeren van penetratietests en audits, om de veiligheid van je website te beoordelen.

11.    Regelmatig de activiteit op je website opvolgen

Door activiteiten in verband met bijvoorbeeld het contentmanagementsysteem, log-ins of het indienen van bestanden te monitoren, kunnen verdachte activiteiten snel worden opgespoord en kunnen de nodige maatregelen worden genomen om deze te verhelpen.

Het doel van deze inhoud is om goede cyberbeveiligingspraktijken te delen en onder de aandacht te brengen. 
Sommige van deze adviezen kunnen anders van toepassing zijn, afhankelijk van de context van uw organisatie.
Houd u altijd aan het beleid en de instructies die binnen uw organisatie van kracht zijn.
Vraag bij twijfel altijd eerst advies aan uw IT-manager.