9 methodes (die je misschien nog niet kende) om WordPress beter te beveiligen

wordpress-beveiligen

WordPress beveiligen, iedereen weet wel dat het belangrijk is en dat je er eigenlijk meer aan zou moeten doen.
Maar hoe doe je dat precies en wat heb je ervoor nodig?

De basis veiligheid van WordPress

WordPress is van zichzelf een behoorlijk veilig CMS dat ook nog eens regelmatig wordt geüpdatet en altijd snel eventuele veiligheidslekken dicht. Dit komt mede door de enorme community die erachter zit. Hierdoor worden lekken snel gevonden en ook snel gedicht.
Mede daarom denk je misschien dat je er niet meer zoveel aan hoeft te doen (helaas dat moet je wel).

Of, je hebt misschien al wel een plugin geïnstalleerd die je helpt bij het beveiligen van je site.
Je bent in dat geval al goed op weg om je site veilig(er) te maken maar er zijn nog best een aantal zaken waaraan je misschien nog nooit gedacht had en die niet met plugins (kunnen) worden opgelost.

Daarover gaat nou net dit artikel.

Wat kun je nog meer doen om WordPress te beveiligen?

Er zijn namelijk nog een hoop extra punten aan je WordPress site te verbeteren zodat je website nog veiliger wordt.
Hieronder staan ze stuk voor stuk opgesomd met de uitleg hoe je dat kan toepassen op jouw WordPress site

  1. Minder plugins

  2. Kijk maar eens naar je eigen WordPress site bij het menu item Plugins. Hoeveel plugin staan daar (zowel geactiveerd als niet geactiveerd)? Grote kans dat het er op z’n minst 10 zijn. Wij kijken tegenwoordig al niet meer op als een klant bij ons komt met een site waar 25 plugins actief zijn en In de ergste gevallen zijn het er nog veel meer. Nu is het aantal plugins niet een absolute maat voor veiligheid van je site maar je moet wel bedenken dat elke plugin een mogelijk extra veiligheidsrisico kan vormen.
    Er zijn gelukkig veel auteurs van plugins die hun codebase goed op orde hebben en er actief voor zorgen dat ze veilig blijven. Echter je hebt hier vaak weinig zicht op en er zijn ook veel plugin-auteurs die hier absoluut niet naar kijken of niet weten hoe ze dat moeten doen.
    In eerste instantie zou je jezelf af moeten vragen of je elke plugin wel nodig hebt. Vaak is de functionaliteit van een plugin met een paar regels code in je functions.php zelf te (laten) maken. Alle instellingen van een plugin zijn dan niet nodig en het maakt je site vaak ook nog wel sneller.

  3. Automatisch core updates

  4. WordPress-core-update
    Veel mensen weten misschien inmiddels wel dat het belangrijk is om je WordPress versie up-to-date te hebben dus deze tip lijk misschien overbodig. De kracht van herhaling is echter groot en daarom staat hij er hier gewoon ook tussen. Houdt je WordPress core up-to-date en overweeg om dat automatisch te doen.
    Sinds WordPress 3.7 worden security fixes automatisch geüpdatet maar voor de major releases moet je zelf een actie uitvoeren. Door de volgende regel code toe te voegen in je wp-config.php wordt je WordPress core automatisch bijgewerkt als er een nieuwe WordPress versie uitkomt.
    # Enable all core updates, including minor and major:
    define( 'WP_AUTO_UPDATE_CORE', true );

  5. Voer twee-weg-authenticatie (2FA) in voor je site

  6. Normaal is je WordPress inlog beveiligd met een gebruikersnaam en een (hopelijk sterk) wachtwoord. De gebruikersnaam is echter vaak makkelijk te achterhalen (zie punt 7 hieronder) en je wachtwoord kan met een brute-force attack gekraakt worden als hij niet sterk genoeg is. 2-factor-authentication is echter een uitbreiding van je inlog procedure die naast wat je weet (gebruikersnaam en wachtwoord) ook vraagt om iets wat je bij je hebt (een code gegenereerd door je telefoon). Hierdoor ben je zelfs als je wachtwoord gekraakt is nog beschermd omdat die code alleen op jouw telefoon beschikbaar is. Op je smartphone zijn er apps (bijvoorbeeld Google Authenticator) die deze codes kunnen genereren. Er zijn voor WordPress een aantal plugins die 2FA voor je kunnen regelen. Google Authenticator
    Een andere vorm van 2FA is de app Clef.

    De app werk erg gebruiksvriendelijk en genereert een patroon op je inlogpagina dat je scant met de Clef app op je smartphone. Erg innovatief en gebruiksvriendelijk maar let wel op dat je hiermee dus vastzit aan Clef. Dit in tegenstalling tot het open protocol dat Google (en dus ook een heleboel andere apps) gebruiken.

  7. Theme & plugin editor uitschakelen

  8. Werk je wel eens aan je plugins of theme via de ingebouwde editor van WordPress? Grote kans van niet en eigenlijk zou je dat ook niet moeten willen. A. Omdat het niet een hele goede workflow is om je live website te bewerken. B. het is helemaal geen fijne editor.
    WordPress-editor-uitschakelen
    Uitschakelen dus want het is een mogelijk veiligheidslek. Elke geautoriseerde WordPress gebruiker kan er namelijk bij en als het account van diegene gehackt is kan de hacker dus je complete site gewoon bewerken.
    Gelukkig is dit met een simpele regel code in je wp-config.php uit te schakelen.
    define( 'DISALLOW_FILE_EDIT', true );

  9. PHP errors uitschakelen

  10. Het veiliger maken van je WordPress backend heeft veel te maken met het dichten van mogelijke veiligheidslekken. Als een plugin om wat voor reden dan ook een foutmelding genereert dan wordt die foutmelding opgeslagen in je error log. Erg behulpzaam want het helpt je de fout te vinden en op te lossen. Maar de foutmelding bevat ook meestal je volledige server path. Hackers hoeven dus alleen je logfile te kunnen inzien en ze weten precies hoe je website en server in elkaar steekt. Dus hoe handig het ook lijkt om die informatie te hebben voor debuggen. Je kunt het beter uitschakelen. Op je productiesite horen sowieso geen fouten voor te komen 😉
    Uitschakelen doe je weer met een regel code in je wp-config.php
    error_reporting(0);
    @ini_set(‘display_errors’, 0);

  11. Wp-config.php beveiligen

  12. Als je al eens wat meer met security gedaan hebt dan heb je vast wel eens van de htaccess file gehoord of erin gekeken. Doordat de instellingen in deze file nogal een grote impact op de veiligheid van je site kunnen hebben staat hij ook in deze lijst.
    De file staat in de root van WordPress en handelt onder meer je permalink instellingen af. Maar ook de beveiliging van belangrijke bestanden.
    Buiten de tags #BEGIN WordPress en #END WordPress kun je zelf code snippets toevoegen.
    Bijvoorbeeld deze uit de WordPress Codex.
    <files wp-config.php>
    order allow,deny
    deny from all
    </files>

    Deze regel schermt je wp-config.php af. Iets dat erg belangrijk is omdat deze file gevoelige informatie bevat over je WordPress installatie (bijvoorbeeld je database toegang).
    Ook kun je bijvoorbeeld je wp-admin afschermen voor alle IP adressen behalve je eigen. door een nieuwe .htaccess bestand te maken en te uploaden naar je /wp-admin/ directory. In dit bestand zet je dan de volgende code:
    order deny,allow
    allow from 192.168.5.1
    deny from all

    waarbij je uiteraard je ip adres aanpast naar jou eigen ip adres.

  13. Author username verbergen

  14. We hadden hem al eerder aangehaald maar het is met de standaard WordPress instellingen dus erg makkelijk om iemands gebruikersnaam te achterhalen. En omdat het vaker dan zou moeten ook nog eens het geval is dat de belangrijkste auteur van een site ook nog eens de administrator is geef je hiermee dus een belangrijk deel van je inlog gewoon weg aan hackers.
    En aangezien het een goed idee is om het voor hackers het niet zo makkelijk mogelijk te maken kun je dus maar beter zorgen dat je de username van de auteur verborgen houdt.
    Door de volgende code in je functions.php te plaatsen krijgt iemand die /?author=1 invoert achter je domeinnaam een standaard 404 error in plaats van je admin username.
    function remove_author_pages_page() {
    if ( is_author() ) {
    global $wp_query;
    $wp_query->set_404();
    status_header( 404 );
    }
    }
    add_action( 'template_redirect', 'remove_author_pages_page' );

  15. XMLRPC.php

  16. Sinds WordPress 3.5 is de functionaliteit van XMLRPC standaard ingeschakeld. Het is hartstikke handig als je bijvoorbeeld een app op je telefoon gebruikt om posts te plaatsen op je site. Of als je gebruik maakt van de populaire plugin Jetpack. Maar er is ook een best hele grote kans dat je het helemaal niet gebruikt. In dat geval is het raadzaam om de functie uit te schakelen zodat ook echt niemand (lees hackers) het gaat gebruiken.
    Dit kan op twee manieren:
    Met een regel code in je functions.php
    add_filter('xmlrpc_enabled', '__return_false');
    Werkt eenvoudig en snel maar kan als je site onder een brute-force attack is best veel van je resources vragen.
    Wil je dit nog voor zijn dan kun je ook de toegang tot het bestand xmlrpc.php helemaal blokkeren.
    Dit doe je in je .htaccess file met de volgende code:
    # Block WordPress xmlrpc.php requests
    <Files xmlrpc.php>
    order allow,deny
    deny from all
    </Files>

  17. Kies een goede hostingprovider

  18. Tja, het is misschien een open deur maar omdat er nog zoveel (meer dan 40% in de afgelopen jaren) sites gehackt worden door gebrek aan veiligheid bij de hosting provider zet ik hem er toch maar bij.
    Je kunt namelijk net zoveel doen als je wil om je site te beveiligen maar als je vervolgens je website host bij een provider die z’n security niet op orde heeft het allemaal weinig zin.

    Zorg er dus voor dat je jouw WordPress site host bij een provider die veiligheid hoog op z’n programma heeft staan.
    Vermijd zoveel mogelijk de goedkope shared hosting en check wat je provider doet om te voorkomen dat je gehackt wordt.
    Er zijn tegenwoordig goede Managed WordPress hostingproviders die erg actief zijn op het gebied van veiligheid. Denk hierbij aan malware scanning, geoptimaliseerde servers voor WordPres, firewall, up-to-date PHP en mySQL etc…

    En uiteraard blijft belangrijk ,update update update!

Deel dit bericht!