interactivated blog

magento & ecommerce

Magento CE Webshops en Beveiligingslekken: Terechte Zorgen?

In April dit jaar vond het beveiligingsbedrijf DefenseCode bij een audit een zero-day lek in het populaire webshop platform Magento. Dit genereerde een enorme ophef en er is sindsdien een hoop over geschreven. Vormde dit lek een reële bedreiging? Was het al gedicht? Hoe weten Magento gebruikers dat ze geen risico lopen? Hieronder proberen we de onduidelijkheden voor eens en voor altijd op te helderen.

Het Lek Verklaard

DefenseCode ontdekte dit zero-day lek voor de Magento Community Edition versies 2.1.6/2.0.14 en ouder. (CE, nu Magento Open Source). Hoewel de Enterprise Edition (EE, nu Magento Commerce) niet getest is, werd de foutieve code gedeeld tussen de Magento smaken, waardoor het lek ook aanwezig is in de Enterprise Edition voor de bovengenoemde versies.

De kwetsbaarheid werd niet aangetroffen bij Magento 1, wat betekent dat Magento klanten die de versies 1.9.x.x gebruiken zich geen zorgen hoeven te maken over dit probleem. Maar wat is het probleem nu eigenlijk?

Het lek misbruikt de mogelijkheid omaan ieder product in jouw webshop Vimeo video content toe te voegen. Normaal gesproken download het systeem, voor validatie, automatisch een preview image van de video via een URL-link. Maar zelfs als het een ongeldige image-file is, wordt deze nog steeds gedownload en na afloop niet verwijderd.

Voor de getroffen versies van Magento kon deze zwakte door hackers worden misbruikt om de URL naar een schadelijk bestand te laten wijzen. Aangezien de file op de server blijft staan nadat deze afgekeurd is, kan deze op afstand gebruikt worden om zich te richten op een gebruiker van het admin panel, ook al heeft deze gebruiker geen admin rechten. Daarna kan men de gebruiker overtuigen om een schadelijke website te bezoeken die de server compleet openzet voor verdere hacking.

Deze methode die een URL naar een schadelijk bestand laat wijzen wordt meestal Cross-Site Request Forgery (CSRF) genoemd. In een CSRF-aanval wordt de gebruiker gedwongen tot handelingen in een applicatie die de gebruiker vertrouwt, oftewel, een applicatie waarbinnen de gebruiker geauthentiseerd is.

Dit lek omvat ook een procedure, genaamd Remote Code Execution. Dit gebeurt op het moment dat de file gedownload wordt op de server. Het is een Remote Code Execution omdat de hacker de server de commando’s in de file kan laten runnen vanaf een machine op afstand.

De Oplossing

Een software bug zoals deze wordt ook wel een “zero-day vulnerability” genoemd als het lek nog niet bekend is bij de softwareleverancier. Dat is hier ook gebeurd toen DefenseCode het lek ontdekte. Ze hebben dit toen gerapporteerd aan Magento.

Kort daarna reageerde Magento op het probleem door in een e-mail te beloven het aan te pakken in hun 2.1.7 release die gepland stond voor Mei. Verder adviseerde Magento haar gebruikers om de “Add Secret Key to URLs” functie te gebruiken om het risico te minimaliseren. Hier is een fragment uit de e-mail:

(…) Tevens wordt dit lek aangepakt in onze volgende release die gepland staat voor begin Mei. Tot dan adviseren we het gebruik van “Add Secret Key to URLs” af te dwingen om het risico op aanvallen te minimaliseren. Om deze functie te gebruiken:

1. Login op de Merchant Site Admin URL (bijv. jouw domeinnaam.com/admin)

2. Klik op Stores>Configuration>ADVANCED>Admin>Security>Add Secret Key to URLs

3. Selecteer YES vanuit de dropdown opties

4. Click op Save Config

Magento heeft zich aan zijn belofte gehouden en het probleem opgelost in de versies 2.0.14 en 2.1.7 die in Mei werden uitgebracht. In hun release publicatie is het herkenbaar als “APPSEC-1679: APIs vulnerability to CSRF” met de omschrijving: “Some customer authenticated APIs are vulnerable to CSRF, allowing phishing attacks.”

Dus, in principe, was dit lek/deze kwetsbaarheid een echt probleem, maar het is al gerepareerd door Magento. Dus zolang je één van de versies 2.0.14/2.1.7 of hoger gebruikt, is er niets aan de hand. En realiseer je dat Magento 1.9.X.X deze kwetsbaarheid in beginsel al niet had.

Algemene Veiligheidstips

Ook al is dit lek al gerepareerd, dan zijn er nog steeds een aantal stappen die je kunt nemen om ervoor te zorgen dat jouw website zo veilig mogelijk is. Ten eerste moet je altijd de nieuwste softwareversies gebruiken. Zoals we zagen loste dit het CSRF-probleem in eerste instantie niet op omdat het nog steeds een zero-day was, maar het team van Magento reageerde snel en repareerde het probleem binnen een maand nadat het gerapporteerd was.

Iets anders wat je kan doen, naast het gebruiken van een sterk wachtwoord, is het introduceren van two-factor authenticatie. Veel websites gebruiken dit tegenwoordig, en in Magento zijn er verschillende extensies die het leveren. Normaal gesproken werkt het door het leveren van een code via bijv. een smartphone app. Dit voegt een extra beveiligingslaag toe.

Een andere tip die je soms ziet, is het wijzigen van het Magento admin-pad van your-site.com/admin naar your-site.com/[iets anders]. Dit voorkomt dat hackers toegang krijgen tot het admin panel en het wachtwoord proberen te raden, of zelfs, als ze het wachtwoord weten, omdat ze het admin-pad niet zo makkelijk vinden. Om het pad te wijzigen, ga naar het bestand: /app/etc/local.xml in jouw Magento folder. Open het bestand en vind “"<![CDATA[admin]]>”. Wijzig hier “admin” in de term die je wilt.

Controleer Jouw Website Beveiliging

Er zijn meer beveiligingstips die je kunt volgen om een veilige webshop te hebben, maar die behandelen we hier niet. Je zou je ook kunnen afvragen, “hoe weet ik of mijn website al veilig is?”. Er zijn in wezen een aantal manieren om dit te weten te komen.

Eén manier is d.m.v. auditing. Er zijn een aantal bedrijven die een audit van jouw website kunnen doen. Het kan helpen om een ervaren ontwikkelaar naar de broncode te laten kijken om zo zwakheden in de beveiliging of andere problemen, als die bestaan, aan het licht te brengen.

Er zijn ook een aantal websites die je de URL van jouw webshop laten invoeren voor een security-scan. Deze diensten scannen jouw website voor bekende beveiligingsproblemen en kwetsbaarheden en tonen na afloop een rapport. Als jouw shop beveiligingslekken bevat, zal het rapport je hopelijk helpen om ze te identificeren en kun je kijken wat je aan elk van deze lekken kunt doen.

Samenvattend

De melding van DefenseCode, eerder dit jaar, betreffende het lek bij de Magento Community Edition webshops was terecht. Echter, het Magento team heeft het probleem al opgelost, dat dus niet meer aanwezig is in de meest recente versies van het platform.

Hou de beveiliging goed voor ogen en neem een aantal stappen om te zorgen dat jouw webshop veilig is. Dit is niet alleen goed voor jezelf maar ook voor jouw klanten.

By interactivated • on December 10, 2017

Contacteer ons
Snel contact met een van onze specialisten
THE NETHERLANDS (HQ)
Herestraat 106, 9711LM,
Groningen (Netherlands)
+31 (0)50 711 9940
VAT: NL 852998521B01
Chamber of Commerce: 58348646
UKRAINE
Kostomarivs'ka 13
61002, Kharkiv
SPAIN
Calle Jabea 18, 29631,
Benalmádena Costa (Malaga)

* Vereiste velden