Terug naar overzicht

Hoe veilig is jouw website?

Door: Ernst de Moor

9 beveiligingsniveaus die het de digitale inbreker lastig maken

Wist je dat skimming tegenwoordig ook al online gebeurt? In het dagelijkse leven vindt skimmen plaats bij een betaalautomaat. Criminelen kopiëren de magneetstrip van je betaalpas en bemachtigen je pincode op het moment dat je een betaling doet. Bij online skimmen gebeurt ongeveer hetzelfde: op het moment dat je een webshopbetaling doet, geeft een stukje afluistersoftware al je creditcardgegevens door aan de crimineel. Gevaarlijk dus!

Hacker

In Nederland gebeurde dit al bij maar liefst 250 webwinkels. Wereldwijd gaat het zelfs over 5.900 webwinkels (zie NU.nl en Nightly secure). Internetaanvallen zijn niet nieuw, maar het aantal aanvallen neemt wel toe. Dit is duidelijk te zien in de media. Zo kwam Yahoo eind september 2016 in het nieuws met een groot schandaal (Emerce), blijken Nederlandse gemeenten hun beveiliging niet goed op orde te hebben (NU.nl) en wisten criminelen in Amerika Twitter en Spotify plat te leggen (NOS). En dit is alleen nog maar het topje van de ijsberg van wat er speelde in september en oktober 2016. 

Reputatieschade

Er is nog een belangrijke factor die de toename van het aantal meldingen van ‘cybercrime’ verklaart: vroeger bleven veel internetaanvallen onder de radar. Bedrijven durfden niet toe te geven dat ze gehackt waren, omdat dit reputatieschade kan geven. Maar sinds 1 januari 2016 geldt de meldplicht datalekken. Die schrijft voor dat bedrijven en overheden direct melding moeten doen als zij een ernstig datalek hebben. En niemand wil aan de datalekschandpaal, dus dit maakt het extra belangrijk om je webshop of website goed te beveiligen.

Wat wil een internetcrimineel?

Voordat ik vertel hoe je de beveiliging van je website kunt verbeteren, is het misschien een goed idee om eens te kijken wat een internetcrimineel met zijn aanval probeert te bereiken. Een inbreker kan verschillende doelen hebben:

  • Gegevens achterhalen: meestal gebeurt dit door een database met persoonsgegevens of creditcardgegevens uit te lezen of door data om te leiden via zijn eigen computer. Voor dit laatste moet hij aangesloten zijn op hetzelfde (wifi)netwerk als het slachtoffer. Zeker bij openbare netwerken is dit niet zo moeilijk.

  • Gegevens aanpassen: in sommige situaties zal een inbreker de informatie op een webpagina aanpassen of je zelfs een heel andere webpagina tonen dan degene die je denkt te bezoeken. Zo kan een bankwebsite ineens een extra veld krijgen dat naar de boef wordt gestuurd, kan een partijprogramma van een politieke partij worden vervangen door iets anders en verschijnen er soms ineens dubieuze (viagra-)reclames op een website.

  • Reputatieschade veroorzaken: door bijvoorbeeld de website van een bedrijf langere tijd plat te leggen, kan een bedrijf reputatieschade krijgen of zelfs failliet gaan. Dit gebeurt meestal door een zogenaamde DDOS-aanval, waarbij een website door zóveel computers tegelijk wordt bevraagd, dat de server niet meer normaal kan functioneren.

Het hoofddoel van de misdadiger is meestal om geld te verdienen. Dit kan met alle bovenstaande methoden: data zoals e-mailadressen en creditcardgegevens zijn te verkopen op de zwarte markt van internet (Dark web (Wikipedia)), door gegevens aan te passen laat een digitale inbreker met veel kennis geld van anderen overmaken naar zijn eigen rekening in plaats van naar de webshop en bij reputatieschade wordt de eigenaar van een website vaak afgeperst.

Geef de digitale inbreker geen kans

Toch kun je het, met enig verstand van zaken, de digitale misdadiger behoorlijk moeilijk maken! Eigenlijk geldt hetzelfde als in de ‘echte’ wereld: waarom zou iemand inbreken in een gebouw dat goed beveiligd is, als dat van de buren zo kan worden opengemaakt? Net als bij gebouwen is het nooit mogelijk om honderd procent tegen inbraak te beveiligen, maar hoe beter de beveiliging, hoe kleiner de kans dat het mis gaat. Hoe pak je dit aan?

In de eerste plaats moet beveiliging op meerdere plekken plaatsvinden. Zo is het van belang dat de eigen computer van de internettende klant goed beveiligd is. Computers kunnen besmet raken met een virus en zo toegankelijk worden voor een crimineel. Als dit gebeurt, kan de crimineel alles zien wat je doet, alle gegevens van je harde schijf lezen en al het internetverkeer afluisteren. Om dit soort ‘lekkage’ te voorkomen, is het belangrijk nooit software van onbekende afkomst te installeren (ook niet dat ene leuke spelletje), en bij sommige computersystemen is het noodzakelijk goed op virussen te scannen.

Zo is ook jouw website goed beveiligd!

Maar dit verhaal gaat over websites. Zelfs binnen een webserver moet beveiliging op meerdere niveaus plaatsvinden. Om onze eigen server als voorbeeld te nemen: wij zijn beveiligd op maar liefst negen niveaus.

Niveau 1: Serverbeveiliging

Beveiliging van de server zorgt ervoor dat onbevoegden zich geen toegang tot de server kunnen verschaffen en er zo ongewenste bestanden (programma’s!) op kunnen zetten.

Niveau 2: Softwarebeveiliging

Alle software bevat al dan niet gevaarlijke bugs. Zorg dat je altijd de laatste versie van een software gebruikt, zodat de belangrijkste bugs zijn opgelost.

Niveau 3: Databasebeveiliging

Deze wordt vaak vergeten. Bij veel databasesoftware is een beveiliging ingebouwd, maar die wordt binnen webservers slechts zelden gebruikt. Wij gebruiken deze ingebouwde bescherming wel en beschikken zo over een extra beveiligingslaag.

Niveau 4: Netwerkbeveiliging

De eerdergenoemde DDOS-aanval is lastig te herkennen en te bestrijden. Toch kun je ook daarvoor maatregelen nemen, meestal in samenspraak met de partij waar de servers staan.

Niveau 5: Communicatiebeveiliging

Als gegevens onbeveiligd over het internet gaan, zijn ze af te luisteren door ieder tussenstation waar de berichten langskomen en soms zelfs te wijzigingen (heel gevaarlijk). Dit wordt allemaal vrijwel onmogelijk als je website werkt met een beveiligde verbinding (https).

Niveau 6: Codebeveiliging

Je website moet op een veilige manier zijn gecodeerd. Het belangrijkste hierbij is bescherming tegen databaseaanvallen (SQL-injectie) en Javascript-aanvallen (Cross Site Scripting).

Niveau 7: Sessiebeveiliging

Bij websites waar je kunt inloggen, heb je meestal een sessie met de server. Die server onthoudt wie je bent en dát je bent ingelogd. De cookies waarmee dit vaak gebeurt, kunnen in sommige gevallen door anderen worden misbruikt, vooral als er geen goede checks in de server zijn ingebouwd. Die anderen kunnen zich dan dus voor jou uitgeven.

Niveau 8: Beveiliging tegen bekende aanvallen

Wij hebben een database opgebouwd van bekende webaanvallen. Zodra ons systeem zo’n aanval herkent, sluit hij de aanvaller direct uit. Het is me niet bekend of anderen een vergelijkbaar fijnmazig systeem hebben.

Niveau 9: Fraude met advertenties

In augustus 2016 werd een methode van fraude bekend, waarbij advertenties op een website extra gevaar vormen (Tweakers). Zo’n advertentie kan kwaadaardige code bevatten, waarmee soms zelfs (slecht gecodeerde) https-verbindingen afgeluisterd kunnen worden. Als je geen advertenties plaatst, loop je dit risico niet.

Open of closed?

Het moge duidelijk zijn: goed beveiligen doe je niet zomaar even. Dit vraag om tijd, kennis en inspanning. Mij werd laatst gevraagd wat beter te beveiligen valt, opensourcesystemen (zoals WordPress, Joomla en Magento) of closedsourcesoftware, vaak voor een specifieke klant gebouwd. Het antwoord is niet eenvoudig te geven, want van beide bestaan goede en slechte varianten.

In mijn ogen hebben open systemen twee nadelen die gesloten systemen niet hebben:

  • De code is voor iedereen in te zien; zowel door mensen die helpen de code veiliger te maken, als door mensen die de zwakheden proberen uit te buiten. Vooraf is niet te zeggen wie er wint.

  • Veel opensourcesoftware moet bruikbaar zijn voor minder technische mensen. Daardoor worden de technisch ingewikkelde beveiligingsmechanismen (zoals beveiliging op databaseniveau) niet ingezet. (Ik ken geen opensourcesysteem dat het gebruikt, maar laat het me weten als er toch een is!)

Closedsourcesoftware heeft als voordeel dat digitale inbrekers de zwakten in de code niet kunnen lezen (maar bij heel slechte software dat is ook niet nodig).

Optimale beveiliging geen garantie, wel noodzakelijk

Om diverse redenen, niet in de laatste plaats vanwege de beveiliging, werken wij met closedsourcesoftware. Deze hebben wij optimaal beveiligd op onder andere alle bovenstaande beveiligingsniveaus. Betekent dit dat wij alle aanvallen kunnen voorkomen? Helaas, dit kan niemand, ook niet degene die zegt dat hij dat wél kan. Maar je bent absoluut gebaat bij een partij die weet wat er speelt en die hiervoor krachtige maatregelen neemt.

 

Terug naar overzicht