Twinkle | Digital Commerce

Beveilig uw webshop tegen hackers: 5 tips

2017-05-28
180101
  • 6:23

We horen dagelijks in het nieuws dat data wordt gestolen van gerenommeerde websites. Daarnaast komen DDoS-aanvallen geregeld voor. Er wordt veel gespeculeerd over de vraag welk motief en welk belang kwaadwillenden hebben. Maar het meest wordt gevraagd: is het moeilijk om zo’n aanval uit te voeren? In de praktijk blijk dit relatief simpel te zijn. Als u enige basiskennis hebt van computers kunt u een website binnen vijf minuten offline halen.

In dit artikel toont Erwin Nandpersad van Ermmedia aan dat een aantal bekende websites nog steeds kwetsbaar zijn voor dergelijke bedreigingen. Tevens geeft hij u een aantal tips over hoe u uw website beter kunt (laten) beveiligen.

Tekst: Erwin Nandpersad

Exploit = kwestbaarheid
Iemand die wil weten of een website kwetsbaar is zal eerst op zoek gaan naar de nodige exploits. Een exploit kan gezien worden als een ‘kwetsbaarheid’ binnen een systeem. Als eerst zal een hacker een website scannen op verouderde softwareversies, denk hierbij aan een OsCommerce, Wordpress, Apache, PHP, etc. Vervolgens zal hij kijken of de verouderde software kwetsbaarheden bevat. Op internet zijn diverse communities waarop wordt uitgelegd hoe je kwetsbaarheden kunt misbruiken.



Figuur a: Dit is een voorbeeld van een exploit. U ziet dat het gaat om een Wordpres- plugin die een fout bevat. Vervolgens staat er uitgelegd hoe je de exploit kunt gebruiken.

Populaire exploits
Onderstaand vindt u drie exploits die populair zijn en veelvuldig worden gebruikt. Met de SQL Injection exploit zijn bijvoorbeeld gegevens gestolen van LinkedIn vorig jaar.

SQL Injection
Dit is wellicht de oudste methode om gegevens van een website te verkrijgen. Door middel van deze exploit kan een hacker eenvoudig data van een website stelen. Hij kan één specifiek teken in de input meegeven waardoor er SQL queries op de website kunnen worden uitgevoerd. Als een website veilig geprogrammeerd is, dan wordt dit speciale teken gefilterd, maar als dit niet het geval is heeft een kwaadwillend gebruiker vrij spel. Hierdoor is het onder andere mogelijk om alle gegevens van de gebruikers van de website in bezit te krijgen.

XSS
XSS staat voor Cross Site Scripting, hetgeen mogelijk maakt dat HTML-code op een website kan worden uitgevoerd. Dit wordt, logischerwijs, nogal eens verward met de afkorting CSS. CSS staat echter voor Cascading Style Sheets en wordt gebruikt om websites op te maken. Door middel van XSS kan een hacker javascript op de website van het doelwit plaatsen waardoor er onder andere sessies gestolen kunnen worden van een gebruiker. Het resultaat: een hacker kan zich voordoen als die betreffende gebruiker en inloggen op zijn of haar account.

Bruteforce
Het woord zegt het eigenlijk al. Met een bruteforcer gaat een hacker pontificaal door de voordeur naar binnen om in de beveiligde omgeving te komen. Hij doet dit door middel van een script of met een stuk software allerlei gebruikersnaam- en wachtwoordcombinaties te proberen. Meestal gebeurt dit in combinatie met een zogeheten ‘Dictionary’. Een dictionary is een lijst met veel voorkomende wachtwoorden en gebruikersnamen en bestaan in verschillende verschillende talen. Het is daarom belangrijk dat zowel gebruikers als administrators moeilijk voorspelbare wachtwoord hanteren.

Testcase: bekende websites testen op exploits
Om in de praktijk aan te tonen dat veel websites kwestbaar zijn heb ik een testcase opgezet. In deze testcase zal een Apache webserver worden aangevallen door middel van het ‘Apache Killer Flaw’ exploit. Dit exploit zal diverse ‘byte ranges’ verzenden wat er voor zorgt dat de website dit verkeer niet kan afhandelen en een timeout krijgt. Feitelijk heeft dit het zelfde effect als de zogenaamde DDoS-aanvallen. Byte ranges worden gebruikt om een bestand in segmenten aan te leveren wanneer dit wordt gedownload door een bezoeker. Bij een substantieel aantal versies van Apache kan dit exploit worden misbruikt. Veel kennis van dit exploit hoeft een kwaadwillende overigens niet te hebben. Het is gewoon een kwestie van een script uitvoeren. In totaal heb ik tien websites gescant op dit exploit en vijf ervan bleken erg kwetsbaar. Vanzelfsprekend zal ik deze gerenommeerde websites niet met naam en toenaam noemen omwille van veiligheidsredenen, maar ik verbaas me er telkens weer over dat ook grote bedrijven hiervoor geen maatregelen hebben getroffen. Deze organisaties hebben voldoende mankracht en middelen in huis hebben om dit te tegen te gaan, maar in de praktijk lijkt veiligheid een lage prioriteit te hebben. Totdat men een keer aan de beurt is en de schade niet te overzien is.

Des te ironischer is het dat bovengenoemde exploit zeer eenvoudig uit te voeren is. Een jongen van dertien jaar kan dit soort digitale kattenkwaad gemakkelijk uithalen voor de fun of de kick. Maar hij voorziet, net als u en ik toen wij jong waren, de verregaande gevolgen ervan vaak niet.

Figuur b: Dit is een voorbeeld van Apache Killer Flow exploit in uitvoering.

Tips om uw website beter te beveiligen
Des te succesvoller een website is, des te groter wordt de kans op dreigingen. Hoge bomen vangen ook online veel wind. Laat ik er duidelijk over zijn: het is onmogelijk om uw website tegen alles te beveiligen. Maar u kunt het een aanvaller wel moeilijk maken. Beginnend met de meest voorkomende kwetsbaarheden op te lossen. Hieronder een aantal tips.

Tip 1: zorg ervoor dat de software altijd up-to-date is
Het is belangrijk om de software van uw server altijd up-to-date te houden. Denk hierbij aan nieuwe versies van PHP, Apache, Wordpress, OSCommerce, etc. In de nieuwe versies worden bekende kwetsbaarheden vrijwel altijd opgelost.

Tip 2: laat geen bestanden op de server staan die informatie geven
Indien u als administrator zelf bestanden upload naar de eigen server om informatie van de server te verkrijgen, verwijder deze dan direct na gebruik. Een goed voorbeeld is de phpinfo()-functie binnen PHP. Veel administrators gebruiken bijvoorbeeld de volgende extensies: test.php, info.php phpinfo.php, etc. bij de phpinfo-functie. Dit geeft veel informatie voor een hacker, zoals bijvoorbeeld de username om in te loggen op ftp. Deze hoeft hij dan niet meer te kraken met een bruteforcer.

Tip 3: verzin een moeilijk wachtwoord
Maak altijd een moeilijk wachtwoord aan en wijzig deze met enige regelmaat. Voorkom wachtwoorden zoals koffiebeker, tafelpoot, jan-jaap123, etc. Idealiter bevat een wachtwoord combinaties van letters, cijfers en speciale tekens zoals ‘!&@SPU**!22’. Dit maakt het voor bruteforcers moeilijker om een wachtwoord te raden.

Tip 4: vraag uw webhoster om de laatste updates te installeren
Zoals in de testcase te lezen is, maken veel websites gebruik van software op een webserver. Denk hierbij aan PHPMYadmin, PHP, Apache2, etc. Het is belangrijk om deze componenten altijd te updaten om exploits tegen te gaan. Kunt u dit niet zelf, vraag dan uw webhoster om dit voor u te doen. In enkele gevallen is het niet mogelijk om een nieuwe versie (van bijvoorbeeld PHP) te installeren in verband met uw software. Zorg er dan we voor dat de partij die software heeft ontwikkeld het programma voldoende patched.

Tip 5: voeg reCaptcha toe als gebruikers willen inloggen
Door middel van een reCaptcha kan er geen bruteforce worden uitgevoerd. ReCaptcha is het genereren van een uniek token (woord/cijfer-combinatie), hetgeen voor bots niet leesbaar is, maar wel voor een gebruiker. Bots kunnen zichzelf dus niet geautomatiseerd meer aanmelden als gebruiker om vervolgens kwetsbaarheden van een systeem te misbruiken. Gebruik daarom reCaptcha, ook al lijkt het misschien minder gebruiksvriendelijk voor uw gebruikers, zij stellen uiteindelijk de beveiliging van hun gegevens op prijs.

Tip 6: ga zelf aan de slag en verdiep u in security
Wanneer u uw website goed wilt beveiligen, dient u uzelf ook te verdiepen in security. Op internet zijn diverse tools te vinden als ‘Metasploit’, waarmee u kunt testen op veelvoorkomende exploits. Met deze tool kunt u uzelf ook verplaatsen in de positie van een hacker door de aangetroffen exploits op uw website te misbruiken. Om de exploits te verhelpen installeert u de laatste versies van de betreffende software.

Conclusie
Beveiliging staat bij veel bedrijven niet direct op nummer één wanneer zij websites lanceren. Zelfs niet als het om een online business model gaat. Toch is het belangrijk om u hierin te verdiepen. Wanneer uw website wordt gehackt kan dit hele fatale gevolgen hebben voor uw bedrijf. Als u de bovenstaande tips in de praktijk toepast bent u al goed beveiligd tegen de meest voorkomende exploits. Voor nadere informatie over dit onderwerp of over het verlagen van de specifieke veiligheidsrisico’s van uw website kunt u direct contact met mij opnemen.

Erwin Nandpersad is oprichter van Ermmedia.

Foto: Open padlock. Security concept icon, Shutterstock.