In één van de dagelijkse newsmailings die ik ontvang, kwam ik het volgende tegen: 3 Website Exploits — Are You Protected? Nou hebben we hier bij Byte een heleboel mensen zitten die heel veel meer van exploits en beveiliging af weten dan ik, maar het leek me toch wel interessant om door te lezen. Het kan immers nooit kwaad om op de hoogte te blijven van wat er speelt op dat gebied. En zo vond ik (leek als ik ben op het gebied van beveiliging) een Cross-site scripting (XSS) lek op ons eigen blog!

Cross-site scripting (XSS)

Het ging om een Cross-site scripting (XSS) lek. Dat is een zwakke plek in de beveiliging via welke je van buitenaf code kunt injecteren. De test die wordt uitgelegd in het artikel, is als volgt: Kijk of je een simpel script kunt laten uitvoeren door deze via één van de formulieren op je site in te voeren. Zo gezegd, zo gedaan, dus plakte ik de regel <script>alert(“HI – This site has a vulnerable form)</script> in het reactieveld onder een blogartikeltje.

Bugje in WordPress 3.1

En inderdaad, met het scriptje kreeg ik voor elkaar dat er een alert pop-up verscheen op het scherm! Bezorgd (en stiekem toch ook een beetje trots) liep ik meteen maar even langs bij het Tech team. Die gaven als tip eerst te kijken of er nog upgrades mogelijk waren om te kijken of dat het lek zou dichten. Het probleem was helaas niet verholpen toen ik onze WordPress versie had geüpgrade van 3.1 naar 3.1.1. Maar aangezien er bij deze update een aantal bugs werden gefixt sowieso goed om te updaten.

Om vervolgens precies uit te zoeken wat het probleem was zodat we ook al onze klanten goed kunnen waarschuwen, ging onze security officer Paul aan de slag om de bug te reproduceren. Hiervoor plaatste hij een backup van voor de upgrade op een testdomein. Paul kwam er al snel achter dat het script alleen kon worden geïnjecteerd door gebruikers die waren ingelogd als administrator en niet door gebruikers met minder rechten en dus ook niet voor niet ingelogde gebruikers.

Hoe gevaarlijk is een XSS lek?

Ok, we konden dus eigenlijk alleen gehackt worden door onze eigen mensen die toch al volledige toegang hebben tot de site. Geen werkelijk gevaar dus, gelukkig. Maar Cross-site scripting kan wel degelijk gevaarlijk zijn. Als een hacker misbruik maakt van zo’n lek, kan hij bijvoorbeeld persoonlijke (inlog) gegevens achterhalen of ongewenste links en advertenties plaatsen (bijvoorbeeld voor porno, geneesmiddelen, enz.). In een artikel van vorig jaar op Webwereld.nl wordt een voorbeeld gegeven van wat er zou kunnen gebeuren. Onderschat de risico’s nooit!

Je website is zo veilig als de zwakste schakel

Het is essentieel om de beveiliging van je website een hoge prioriteit te geven. Bij Byte hebben we dan ook een uitgebreid beveiligingsbeleid om het platform goed te beschermen. Maar dat is niet voldoende. Als websitebeheerder ben je zelf verantwoordelijk voor een groot deel van de veiligheid van je website. We kunnen dit niet vaak genoeg benadrukken. Hierbij dus een aantal adviezen:

Zorg voor een website onderhoudsplan

Zorg dat je een goed onderhoudsplan hebt voor je website en hou je hier ook aan. Byte heeft hier vorig jaar ook een interview over gehouden met PleinPlus. Zie het artikel Byte op PleinPlus – Onderhoudsplan site.

Werk je website bij met veiligheidsupdates

Update altijd naar de laatste (stabiele) versie van Joomla, Magento, WordPress, etc. Update vooral ook modules. Deze zijn vaak het meest kwetsbaar. Vooral security releases zijn zeer belangrijk, wacht dan nooit lang met updaten!

Voorkom dat wachtwoorden in verkeerde handen vallen

Laat wachtwoorden niet slingeren en voorkom dat deze via slinkse methoden in handen kunnen komen van hackers. Opgepast dus voor phishing! Lees meer over do’s en dont’s tegen phising op Pas op voor Spam en Phishing!

Log ook niet zomaar in via openbare computers. Het gebeurt helaas te vaak dat wachtwoorden worden ontfutseld van vakantiegangers die in een internetcafé  waar hackers actief zijn nog even wat fotos op hun FTP zetten of inloggen in hun mailbox. Lees hierover ook Veilig op vakantie.

Scan je eigen Magento shop op veiligheidslekken