Waarom WordPress beveiligen?

Is WordPress wel veilig?

De eerste vraag is eigenlijk heel logisch en hieruit volgt dan ook direct de volgende vraag: Waarom WordPress beveiligen en hoe?

In de kern is WordPress zeker veilig, maar zoals bij alle software ontdekt men wel eens een lek.
Vaak worden WordPress updates niet doorgevoerd waardoor en mogelijk een versie online staat die dus niet meer veilig is. Dit zelfde geldt ook voor de plugins en thema’s die geinstalleerd zijn. Ook al staan deze misschien uit, toch dienen deze altijd up to date gehouden te worden.
In de huidige WordPress versie wordt dit vaak ondervangen door de automatische update functie. Hieraan kleeft wel het risico dat er bij een automatische update iets misgaat en de website onbruikaar is. Om dit te voorkomen kunt u gebruik maken van onze WordPress technisch onderhoud service.

Het (zelf) installeren van één of meerdere beveiliging plugins is natuurlijk niet de beste oplossing, het gaat in de basis om de manier van werken. Vandaar ook de volgende handige tips:

Wordpress developer Zoetermeer

Hoe moet ik dat nu precies doen?

Als klant van haha! hoef je helemaal niets te doen! Dat doen wij al voor je als je het technisch beheer van jouw WordPress website door ons laat doen en gebruikmaakt van onze snelle WordPress hosting.

Plugins en thema’s

  • Up to date houden WordPress thema en plugins

    Het up to date houden van WordPress thema’s en plugins is erg belangrijk. Wij kunnen dit voor je uit handen nemen met onze WordPress technisch onderhoud service.

  • Thema en plugins alleen uit betrouwbare bronnen downloaden

    Goedkope aanbiedingen van thema en plugins zijn meestal niet veilig. Met deze thema’s of plugins is vaak geknoeid en kunnen een website onveiliger maken. Soms ontvang je voor deze plugins en thema’s ook geen updates.

    Download deze alleen uit betrouwbare bronnen zoals themeforest en dergelijke. Of direct bij de grote thema makers vandaan zoals Avada, Flatsome of Enfold et cetera.

  • Gebruik zo min mogelijk plugins

    Probeer functionaliteiten te beperken tot het hoogst noodzakelijke. Verwijder plugins en thema’s die je niet gebruikt. Heb je ze later nodig? Dan kun je ze eenvoudig weer instaleren.

WordPress gebruikers

  • Veilige wachtwoorden gebruiken

    Zorg er voor dat alle gebruikers goede veilige wachtwoorden gebruiken.

  • 2 factor login

    Een 2 factor optie op de login is onmisbaar. Deze maakt gebruikt van een eenmalige code per email of een authenticator code, zoals bijvoorbeeld van de Aegis app.

  • Gebruik geen admin als gebruikersnaam

    Standaard wil WordPress een beheerder met gebruikersnaam ‘admin’ aanmaken. Verander deze altijd in iets anders.

  • Beveilig wp-admin

    Heb je een eigen vast ip adres dan is het aan te raden om de toegang tot wp-admin alleen open te zetten voor dit ip adres. Is dit niet mogelijk dan is een extra basic authenticatie op de wp-login.php en /wp-admin/ ook een optie. En gebruik altijd de eerder genoemde 2FA oplossing voor alle logins. Wij hebben hiervoor een gratis script (mu-plugin) die dit forceert voor alle gebruikers.

  • Schakel gebruikers registratie uit

    Als de soort website het toelaat kunt u het beste de gebruikers registratie uitschakelen, bij bijvoorbeeld een webshop kan dit natuurlijk niet.

Versterken van de WordPress core

  • Beveiligingssleutels in wp-config.php

    Vul altijd de beveiligingssleutels in wp-config.php in! Vaak worden deze vergeten. Je kunt deze hier online eenvoudig genereren en in wp-config.php plakken.

  • Schakel debug logging uit

    WordPress debug logging staat standaard uit. Het is verstandig altijd even te controleren of in de wp-config.php er geen vermelding staat van WP_DEBUG. Gebruik je debug logging naar een bestand zorg dan dat dit pad staat ingesteld met een pad buiten de website publieke map. Hiervoor kun je de optie WP_DEBUG_LOG gebruiken.

    define('WP_DEBUG_LOG', '/pad/buiten/de/webserver/publieke-map/debug.log');
  • Beperk toegang tot de WordPress REST API

    Voor het beheren van de WordPress REST API toegang kun je de plugin Disable Rest Api gebruiken. Je kan dan beter de toegang beheren voor plugins die toegang nodig hebben. Via de REST API is het standaard namelijk mogelijk allerlei informatie op te vragen over gebruikers en plugins. Met de eerder genoemde plugin kun je precies bepalen wat er wel en niet beschikbaar is via de rest-api.

  • Verberg WordPress versie

    Het uitlezen van de WordPress versie helpt een hacker om snel te zien of je een verouderde versie van WordPress gebruikt. Je kan deze eenvoudig uitschakelen door de volgende code toe te voegen via bijvoorbeeld een plugin als code snippets.

    function hhdev_wp_version_remove_version() {
    return '';
    }
    add_filter('the_generator', 'hhdev_wp_version_remove_version');

    WordPress voegt ook het versie nummer toe in de url van js en css bestanden, om dit uit te zetten plaats je de volgende code in jouw thema functions.php of via een code snippet plugin.

    // remove wp version number from scripts and styles
    function hhdev_remove_css_js_version( $src ) {
        if( strpos( $src, '?ver=' ) )
            $src = remove_query_arg( 'ver', $src );
        return $src;
    }
    add_filter( 'style_loader_src', 'hhdev_remove_css_js_version', 9999 );
    add_filter( 'script_loader_src', 'hhdev_remove_css_js_version', 9999 );

    Gebruik je een plugin als Autoptimize? En dat is zeker aan te raden. Dan heb je geen probleem met versie nummers in de css en js urls.

  • Schakel gebruikersnaam lijsten uit

    Als je geen blog website hebt en dus geen auteurs informatie wilt delen kun je deze ook beter verbergen. De auteurs info pagina verbergen kun je op 2 manieren doen:

    1. Voeg de volgende snippet toe aan jouw .htaccess bestand.

    # Stop author listings
    RewriteCond %{QUERY_STRING} author=d
    RewriteRule ^ /? [L,R=301]

    2. Of je kan ook een author.php bestand toevoegen aan jouw child thema met de volgende code:

  • Gebruik HTTP beveiligingsheaders

    Je kan de security headers toevoegen via een plugin of via het .htaccess bestand. De belangrijkste headers om toe te voegen zijn: strict-transport-security, x-content-type en x-frame-options.

    Test jouw huidige headers en score hier (https://securityheaders.com/). Tip: Vink wel even ‘hide results’ aan anders wordt de website zichtbaar in de lijstjes onder het zoek venster.

  • Bestandsbewerking in wp-admin uitschakelen

    In WordPress staat standaard de optie aan om de code van sommige bestanden te bewerken. Mocht een hacker admin toegang krijgen tot de website dan is dit een veiligheids risico. Dit is eenvoudig uit te schakelen via een aanpassing in wp-config.php.

    Direct boven de regel /* That’s all, stop editing! Happy blogging. */, kun je de volgende code toevoegen:

    define( 'DISALLOW_FILE_EDIT', true );.
    
  • Schakel thema en plugin beheer uit

    Op een productie website is het verstandig om het beheer van thema en plugins uit te schakelen. Door het beperken van plugin en thema wijzigingen is het risico op een hack aanzienlijk kleiner. Een eventuele inbreker kan dan geen ‘stoute’ code in de website aanbrengen mocht deze als beheerder kunnen inloggen. De onderstaande code in wp-config.php regelt dit.

    define('DISALLOW_FILE_MODS', true );

Werkwijze en externe factoren

  • Goede (veilige) hosting kiezen

    Een goede en veilige hosting is meestal niet de goedkoopste oplossing, maar wel de beste. Naast de hogere veiligheids standaard is er vaak ook een aanemelijk winst in snelheid op een dergelijke hosting. Onze snelle WordPress hosting is dan ook de beste keuze.

  • Werk volgens het beginsel van de minste privileges

    Gebruik op bijvoorbeeld de MYSQL database gebruiker de laagst mogelijke rechten die WordPress nodig heeft om nog goed te blijven werken. Dit beperkt het risico bij een eventuele SQL injection via een WordPress plugin.

  • Gebruik HTTPS (SSL certificaat)

    Bezoekt je een website via HTTPS (HTTP over TLS), dan worden de HTTP verzoeken en reacties versleuteld door gebruik te maken van een tls/ssl certificaat en kunnen niet worden onderschept of gewijzigd door een aanvaller.

    Huidige hosting partijen bieden vrijwel altijd de mogelijkheid tot een gratis certificaat via bijvoorbeeld een Lets Encrypt certificaat. Bij onze hosting pakketten is dit ook standaard al geregeld.

    Het inschakelen hiervan is redelijk eenvoudig, al kan het omschakelen van eerder gebruikte HTTP naar HTTPS wel wat ingewikkelder zijn doordat de interne url’s nog het http protocol gebruiken. Hiervoor kun je een plugin gebruiken als bijvoorbeeld Really Simpel SSL, maar beter is het om dit zonder pluging te laten aanpassen door een WordPress specialist. Wij helpen je hier graag mee.

  • Veiliger WordPress structuur gebruiken

    Standaard gebruiken wij een WordPress opzet met een aangepaste structuur (Bedrock boilerplate). Hier staan alle configuratie zaken en wachtwoord voor de database buiten de website root. Zie ook onze blog hier over. Verhuis je naar onze servers dan bouwen we jouw website gratis om naar deze verbeterde structuur.

Hoe moet ik dat nu precies doen?

Als klant van haha! hoef je helemaal niets te doen! Dat doen wij al voor je als je het technisch beheer van jouw WordPress website door ons laat doen en gebruikmaakt van onze snelle WordPress hosting.

Wil je weten hoe veilig jouw WordPress website is?

Vraag dan gratis een screening en advies aan…