Het einde van de officiële support van Magento voor Magento 1 nadert met rasse schreden. 1 juni 2020 is het zover en worden er door Magento officieel geen security patches meer uitgebracht.
In dit artikel geven wij iedere eigenaar van een Magento 1 webshop de precieze handleiding wat ze nu het beste kunnen doen.
Supportschema’s
In onderstaande tabel staan de Magento CE edities en de bijbehorende support schema’s:
Hoewel grote investeringen aan de huidige Magento 1 webshop op dit moment niet meer aan te raden zijn, is het in tegenstelling tot wat veel grote e-commerce bedrijven beweren, nog prima mogelijk om voorlopig op Magento 1 te blijven draaien.
Maatregelen
Je hoort in de markt veel geluiden dat het zeer onverstandig is nog op Magento 1 verder te gaan en je webshop zo’n beetje ophoudt met bestaan vanaf juni 2020, dit is natuurlijk onzin!
Wel zijn er maatregelen die je volgens ons moet nemen, om de veiligheid en daarmee stabiliteit van je webshop te kunnen blijven borgen.
Wij adviseren dringend om de volgende maatregelen te nemen:
1. Upgrade Magento naar de laatste versie.
Op het moment van schrijven is dit Magento CE 1.9.4.4 (uitgebracht 28 januari 2020).
2. Laat de Downloader (Magento Connect Manager) verwijderen op de productieomgeving.
Magento 1 heeft een ‘programma’ waarmee je zonder technische kennis (bijv. zonder SSH) plugins kunt beheren (toevoegen, updaten en verwijderen). Echter moet deze software code aanpassen in de webshop en heeft daar dan ook de rechten voor nodig. Dit heeft twee zeer grote nadelen:
- Deze werkwijze is tamelijk onprofessioneel en je weet nooit of alles direct werkt. Daarmee breng je de stabiliteit van de webshop in gevaar. In theorie kan de webshop dan ook stuk worden gemaakt door het toevoegen van een plugin of dat bijv. het installeren van de plugin fout gaat.
- De veiligheid / security van de webshop. Deze Downloader is weer een extra ‘ingang en ook nog een ingang met zeer veel rechten en mogelijkheden!
Noot: Voor Emico klanten is het zo dat deze downloader al verwijderd zal zijn. Laat dit
voor de zekerheid nog wel even controleren!
3. Voeg een Admin (backend) whitelist toe.
Veruit de meeste security issues zitten hem in de admin. Modules voegen bijv. functionaliteit toe en zorgen niet voor een gedegen controlebeleid waardoor ‘ingangen’ of ‘kwetsbaarheden’ worden gecreëerd.
Door de admin geheel achter een IP-whitelist te zetten is het alleen mogelijk om specifiek vanaf deze IP-adressen te verbinden met de admin-omgeving. Hiermee zorg je direct dat kwaadwillende bezoekers niet worden toegelaten.
Als meer flexibiliteit gewenst is (bijv. inloggen vanaf een vakantieadres) is het mogelijk om een proxy app in je browser te installeren waarmee je heel eenvoudig (bijv. via het netwerk van kantoor) in kan loggen.
4. Gebruik de nieuwste versie van PHP.
Veel webshops zijn veel te laat met het updaten van de PHP-versie die gebruikt wordt.
Op het moment van schrijven (april 2020) is het zo dat versie PHP 7.1 en alle oudere versie end of life zijn.
Zie ook het volgende overzicht:
Zelfs PHP 7.2 is op dit moment al aan zijn laatste jaar bezig en hier komen alleen nog security patches voor uit. Door de laatste versie van PHP te gebruiken, elimineer je veel bekende security problemen uit oudere versies.
5. Sluit PHP-executie van upload mappen uit.
Magento heeft een aantal mappen waarin bestanden worden geüpload en bijgewerkt. Bij een security bug is er vaak een kleine ingang waardoor een kwaadwillende gebruiker (hacker) in staat is een bestand aan te passen of een bestand te plaatsen.
Als een bestand kan worden geplaatst, die ook door PHP uitgevoerd kan worden, kan de hacker vanuit deze kwetsbaarheid weer verder werken. Het is dan ook belangrijk dat de meest voor de hand liggende (en daarmee de meest kwetsbare) mappen hiertegen worden beveiligd.
Ook is het belangrijk deze mappen te beperken op PHP-executie. De mappen die hiervoor tenminste moeten worden beperkt zijn:
- media/
- js/
- var/import
- var/export
- ar/log
6. Verwijder onnodige admin users / SOAP API users
Hoewel dit niet onze enige tips zijn, betreft bovenstaand wel onze ‘must-haves’. Het is absoluut vragen om problemen door één van deze maatregelen niet te nemen!
Indien je graag nog wel even gebruik wilt maken van de huidige Magento 1 shop en het daarin geïnvesteerde budget en je wilt wel ‘maximaal veilig gaan’ qua veiligheid, dan is ons advies om de volgende punten ook uit te voeren:
7. Deactiveer niet-gebruikte functionaliteit. Denk hierbij aan de (REST) API, RSS feeds, etc.
8. Activeer een WAF!
Je kent het wel: gebouwen met peperdure alarmsystemen en dan toch nog inbraken. Terwijl gebouwen die gebruik maken van een goede waakhond, met veel minder budget minstens zo goed beschermd zijn.
Nu is het natuurlijk lastig om een hond voor je webshop te leggen, maar toch adviseren wij een WAF. 😉 Een WAF is namelijk een Web Application Firewall. Deze firewall staat voor je webshop en beveiligt je webshop voor kwaadwillende requests.
Zo is een WAF in staat om o.b.v. de header in POST requests kwaadwillende requests te detecteren en te blokkeren. Een uitstekende WAF met een zeer goede prijs/kwaliteit verhouding is de WAF van Cloudflare.
9. Werk met automatische tests en deployments.
Een uitgebreide CI / CD-straat is essentieel in een professionele ontwikkel- en teststraat.
Maar het helpt ook bij het beter beveiligen van je webshop. Waarom, zou je denken? Nou hierom:
- (SSH) Toegang voor de productie- omgeving extreem beperken: alleen het deploy-proces kan erbij!
- Wijzigingen in de codebase snel kunnen detecteren of zelfs onmogelijk maken om bestanden op productie aan te passen
- Snel een nieuwe versie live kunnen zetten.
- Geautomatiseerd en periodiek tests kunnen uitvoeren en daarmee kunnen garanderen dat noodzakelijke functionaliteiten nog werken.
- Security checks voor en na elke deployment automatiseren
10. Bestanden bevriezen
In het verlengde van punt 9 kun je nog een extra stap nemen door alle bestanden na een
deploy in feite te ‘bevriezen’ en dus zorgen dat er geen bestanden kunnen worden aangepast.
Zelfs al zou er een kwaadwillende gebruiker toegang hebben, dan is hij (of zij) in ieder geval
niet in staat om bestanden (en dus code te wijzigen) om daarmee data te vergaren.
11. Volg de ontwikkelingen van de community (of laat deze voor je volgen).
Denk hierbij bijv. aan deze repo op Github. Deze ‘community’ heeft als doel om Magento 1 langer te supporten.
12. Neem een abonnement bij MageOne.
Mage One biedt een abonnement aan voor het uitbrengen van patches voor Magento 1.
Belangrijk hierbij is dat je compatibele moet zijn voor deze oplossing en moet draaien op de laatste versie van Magento 1 (zie punt 1).
Meer informatie hierover vind je bij onze partner Hipex.
Geen zorgen
Kortom: geen zorgen en maak gerust nog gebruik van de huidige Magento 1 shop. Maar wees alert op bovenstaande zaken en voer de ‘must-haves’ absoluut uit.
De nieuwste software is altijd het veiligst en in dat kader heeft Magento 2 de voorkeur. Echter is het risico bij Magento 1 zeer laag te houden door bovenstaande zaken uit te voeren. Er is dan ook zeker geen noodzaak van direct overstappen!