Alle handleidingen
GemiddeldMagento 2.4.x35 minuten

Security best practices voor Magento 2

Bescherm je Magento webshop tegen hackers. Van admin security tot patches en beveiligingsscans.

Coding.nl3 views
Security best practices voor Magento 2

Security voor Magento 2

Magento webshops zijn een target voor hackers vanwege klantdata en transacties. Goede security is essentieel.

Admin beveiliging

Custom admin URL

Verander standaard /admin:

In app/etc/env.php:

``php

'backend' => [

'frontName' => 'jouwgeheimeadmin'

]

`

Sterke wachtwoorden

Stores > Configuration > Advanced > Admin > Security

  • Password Lifetime: 90 dagen
  • Password Change: Minimaal 3 keer per jaar
  • Login Failures: 6 pogingen
  • Lockout Time: 30 minuten

Two-Factor Authentication

Verplicht in Magento 2.4+:

  • Elke admin user moet 2FA instellen
  • Google Authenticator of andere provider
  • Geen uitzonderingen
  • Admin sessie limiet

    • Admin Session Lifetime: 900 (15 minuten inactiviteit)

    IP restricties

    Beperk admin toegang tot specifieke IP's:

    • Via .htaccess
    • Via hosting firewall
    • Via Cloudflare Access

    Security patches

    Waarom kritiek?

    Adobe release regelmatig security patches. Niet patchen = kwetsbaar.

    Patch monitoring

    • Abonneer op Adobe Security Bulletin
    • Check https://helpx.adobe.com/security.html

    Patches installeren

    `bash

    # Backup eerst!

    bin/magento maintenance:enable

    composer update

    bin/magento setup:upgrade

    bin/magento cache:flush

    bin/magento maintenance:disable

    `

    Patch testing

  • Test patches op staging
  • Verifieer functionaliteit
  • Dan pas naar productie
  • HTTPS/SSL

    Verplicht

    SSL is verplicht voor:

    • Klantdata bescherming
    • Google ranking
    • Browser waarschuwingen voorkomen

    Configuratie

    Stores > Configuration > General > Web

    • Use Secure URLs on Storefront: Yes
    • Use Secure URLs in Admin: Yes

    HSTS

    HTTP Strict Transport Security forceer HTTPS:

    `

    Header always set Strict-Transport-Security "max-age=31536000"

    `

    Content Security Policy (CSP)

    Wat is CSP?

    CSP voorkomt XSS aanvallen door te specificeren welke resources mogen laden.

    Configuratie

    Stores > Configuration > Security > Content Security Policy

    Report-Only modus

    Begin in report mode om te zien wat geblokkeerd wordt:

    • Analyseer reports
    • Whitelist legitieme bronnen
    • Schakel enforcement in

    File permissions

    Juiste permissions

    `bash

    find var generated vendor pub/static pub/media app/etc -type f -exec chmod u+w {} +

    find var generated vendor pub/static pub/media app/etc -type d -exec chmod u+w {} +

    chmod u+x bin/magento

    `

    Geen write access web user

    Web user mag niet schrijven naar:

    • app/code
    • app/etc (na installatie)
    • composer.json/lock

    Database security

    Sterke credentials

    • Uniek wachtwoord
    • Geen root user
    • Beperkte privileges

    Geen remote toegang

    MySQL alleen lokaal toegankelijk of via SSH tunnel.

    Regelmatige backups

    Geëncrypteerde backups op externe locatie.

    Monitoring en scanning

    Security scans

    Regelmatige scans:

    • MageReport: https://www.magereport.com
    • Sansec: Malware detectie
    • Adobe Security Scan: Via Magento admin

    File integrity monitoring

    Detecteer ongeautoriseerde wijzigingen:

    • Vergelijk met clean installatie
    • Monitor kritieke bestanden

    Log monitoring

    Check logs op verdachte activiteit:

    • var/log/exception.log
    • var/log/system.log`
    • Apache/Nginx access logs

    WAF (Web Application Firewall)

    Waarom WAF?

    WAF blokkeert bekende aanvalspatronen:

    • SQL injection
    • XSS
    • Brute force

    Opties

    • Cloudflare: Populair, goede free tier
    • Sucuri: E-commerce gespecialiseerd
    • Hosting WAF: Hypernode, AWS WAF

    Malware response

    Bij infectie

  • Site offline (maintenance mode)
  • Backup maken (inclusief infected files)
  • Forensische analyse
  • Clean backup restore
  • Patch kwetsbaarheid
  • Wachtwoorden wijzigen
  • Monitoring intensiveren
  • Prevention

    • Regelmatige updates
    • Security scans
    • Beperkte toegang
    • Sterke authenticatie

    Checklist

    Basis

    • [ ] Custom admin URL
    • [ ] 2FA voor alle admin users
    • [ ] Sterke wachtwoorden
    • [ ] HTTPS everywhere
    • [ ] Regelmatige patches

    Geavanceerd

    • [ ] WAF geïmplementeerd
    • [ ] CSP geconfigureerd
    • [ ] File permissions correct
    • [ ] IP restricties admin
    • [ ] Security scanning actief

    Monitoring

    • [ ] Log monitoring
    • [ ] Uptime monitoring
    • [ ] Security scan scheduled
    • [ ] Backup verificatie

    Veelvoorkomende kwetsbaarheden

    SQL Injection

    Via invoervelden. Voorkomen door:

    • Prepared statements
    • Input validatie
    • WAF regels

    XSS (Cross-Site Scripting)

    Via user input. Voorkomen door:

    • Output escaping
    • CSP headers
    • Input sanitization

    Brute Force

    Via login pagina's. Voorkomen door:

    • Account lockout
    • CAPTCHA
    • Rate limiting
    • IP blocking

    File Upload

    Via admin of forms. Voorkomen door:

    • File type validatie
    • Upload directory buiten webroot
    • Virus scanning
    Deel deze handleiding:

    Info

    Niveau
    Gemiddeld
    Duur
    35 minuten
    Magento
    2.4.x
    PHP
    8.1+
    Views
    3

    Vereisten

    • Toegang tot Magento 2 admin panel
    • Basis server kennis

    Wat je leert

    • Admin panel beveiligen
    • Security patches installeren
    • Two-factor authenticatie
    • Security scans en monitoring

    Categorieën

    Hulp nodig?

    Kom je er niet uit? Onze Magento experts helpen je graag.

    Neem contact op

    Professionele hulp nodig bij Magento?

    Onze Magento experts bouwen, optimaliseren en onderhouden je webshop.