-

Magento beveiligen: de belangrijkste richtlijnen op een rij

Dat Magento open source software is heeft natuurlijk een aantal grote voordelen, maar zeker één groot nadeel. De broncode is ook inzichtelijk voor kwaadwillenden. Die zorgen geregeld voor hacks, plaatsing van malware en andere ongewenste infecties. Wat is daar aan te doen?

Hoe groot het probleem van de Magento-veiligheid is, wordt nooit helemaal duidelijk. Een onderzoek van beveiligingsbedrijf Trustwave dat vorig jaar is gepubliceerd laat zien dat webwinkels een belangrijk doelwit zijn voor hackers. SQL ‘injection attacks’, het uploaden van geïnfecteerde bestanden en code injections zijn bijvoorbeeld favoriete manieren om het webwinkeleigenaren lastig te maken. Volgens Trustwave zijn met name Magento-gebruikers de dupe. Van alle in 2015 aangetaste winkels draaide 85 procent op deze software.

Bijna altijd is de oorzaak te vinden in het niet (tijdig) updaten van de software. In Nederland leidde dit afgelopen najaar nog tot een lange lijst van gehackte sites. De beveiligingsonderzoeker Willem de Groot constateerde dat 250 webwinkels niet veilig waren. Hij waarschuwde voor code-injecties die ‘online skimming’ van creditcardgegevens mogelijk maken. Iets dat afgelopen jaar met 69 procent zou zijn toegenomen. Niet lang daarna volgde een bericht uit Duitsland. Een veiligheidsorganisatie heeft zeker duizend webwinkels weten aan te wijzen die financiële gegevens lekten. Ook in dit geval was er weer sprake van sites die draaien op niet-actuele software.

Beveiliging Magento: de richtlijnen

Dat leidt dan ook direct tot regel nummer één voor een optimale beveiliging. Zorg ervoor dat de webwinkel draait op de meest actuele softwareversie. Magento stuurt zelf notificaties aan de berichteninbox van het beheerderspanel over kritieke lekken. Op het security-blog van Magento is natuurlijk ook de nodige informatie te vinden. Vergeet daarnaast niet om de extensies (automatisch) te updaten. Met de Magento Connect Manager zijn geïnstalleerde extensies te scannen en bij te werken.

In een artikel over de beveiliging van Magento merkt KeyCDN op dat de meest belangrijke handeling ook de eenvoudigste is en het vaakst wordt vergeten. Veel winkeleigenaren gebruiken ‘admin’ als hoofdaccount. Iets dat niemand zou moeten doen. Magento biedt daarom onder ‘System’ in het hoofdmenu de mogelijkheid om de gebruikersnaam aan te passen. Hetzelfde geldt voor de URL waarmee het beheerderspanel is te openen. In een standaard Magento-installatie is de software te openen via ‘domeinnaam.nl/admin/’. Maak hiervoor een ander adres aan, stelt het CDN-bedrijf. In ‘app/etc/local.xml’ is de code ‘<![CDATA[admin]]’ te vinden. Pas hier vervolgens de term ‘admin’ aan.

Door de verkeerde instelling van bestandspermissies gaat er geregeld nog iets mis. Voor alle mappen en bestanden is aan te geven wie deze mogen lezen, schrijven of wijzigen. Eén verkeerde instelling en de bestanden zijn voor iedere buitenstaander openbaar. Volg de instructies van Magento zelf daarom goed. Een extra advies: pas de permissies van het eerder genoemde ‘local.xml’-bestand aan (permissie 600). Dit bestand bevat gegevens over de database en moet nooit leesbaar zijn voor anderen.

‘Overweeg twee-factor-authenticatie’

Of een Magento-installatie nu risico loopt is met MageReport makkelijk vast te stellen. Deze gratis tool van hostingprovider Byte geeft aan of de installatie voorbereid is op de meest voorkomende aanvallen en lekken.

Tim Muller is bij Byte één van de ontwikkelaars van MageReport en kent de veelgemaakte fouten. Hij adviseert bij iedere gebruiker en zeker de winkeleigenaren af te dwingen dat die een goed wachtwoord kiezen. Dat was altijd al belangrijk, maar zogenoemde bruteforce-aanvallen zijn erg in trek en worden steeds geavanceerder. “Tijdens een bruteforce maakt men meestal gebruik van dictionaries – lijsten met veelgebruikte wachtwoorden.” Een alternatief is om ‘IP whitelisting’ toe te passen op alle beheerpagina’s. De admin-pagina’s zijn dan alleen te openen vanaf eigen IP-adressen of adressen die te vertrouwen zijn. En nog veiliger wordt het als je voor twee-factor-authenticatie activeert. De gebruiker logt dan in met een wachtwoord én met een tijdelijke inlogcode die wordt gestuurd aan de aan het account gekoppelde telefoon.

Monitor ook goed welke accounts staan geregistreerd in Magento, zegt Muller. “Houd bij welke veranderingen optreden. In accounts en bestanden. Kwaadwillenden doen mogelijk een poging om de shop over te nemen. Een van de manieren is om met een SQL-injectie (Magento Shoplift) een admin-account aan te maken.” Wordt er met een ‘versioning’-systeem als Git gewerkt dan zijn die veranderingen vrij nauwkeurig te volgen. “Onlangs was er bijvoorbeeld een veiligheidsissue waardoor het Mage.php-bestand werd overschreven door een versie die de creditcardgegevens van bezoekers wegsluisde. Het is goed je te realiseren dat er altijd ontwikkelingen zijn op dit gebied en je de systemen nooit voor honderd procent kunt afsluiten. Met Git is in ieder geval snel te zien wat er precies is veranderd.”

Ook nagaan hoe veilig een Magento-shop nu is? Gebruik de gratis tool MageReport.

Deel dit bericht

1 Reactie

bert

Supersimpel en doeltreffend bij elk CMS, voeg aan de index.php van de admin een regel toe die op een onbekend domein een error geeft.

Plaats een reactie

Uw e-mailadres wordt niet op de site getoond