• wordpress-beveiligen

De 15 ultieme beveiligingsmaatregelen voor je WordPress website

De 15 ultieme beveiligingsmaatregelen voor je WordPress website

WordPress is het meest gebruikte Open Source Content Management System. Ongeveer 27% van alle websites op het internet is gemaakt met deze geweldige software. Hiermee is het ook zeer aantrekkelijk voor hackers. Met de 15 ultieme beveiligingsmaatregelen voor je WordPress website die ik voor je heb samengesteld ben je goed beschermd tegen aanvallen van buitenaf en is de kans zeer klein dat je gehackt wordt.
Als je WordPress website eenmaal gehackt is kan dit zeer nadelig voor je uitpakken. De kans is zeer groot dat de gehele website opnieuw ontwikkeld moet worden of er moet een schone installatie plaats vinden. Dit brengt vaak hoge kosten met zich mee. Volg mijn onderstaande tips van 15 ultieme beveiligingsmaatregelen voor je WordPress website om je website te beschermen tegen hackers en Brute Force Attacks.

Zwakke plekken van WordPress

Volgens Wordfence wordt het grootste deel van de zwakke plekken van WordPress veroorzaakt door plugins. In de grafiek hieronder zie je dat een extreem hoog percentage hacks komt van plugins. 55.9% van alle inbraken in WordPress websites komt van plugins.
Er zijn c.a. 43.500 plugins te downloaden als extra functionaliteit voor je WordPress website. Niet allemaal zijn ze waterdicht of met regelmaat ge-update. Hier gaat het vaak fout.

beveiligingsmaatregelen voor je WordPress website

Op de website van Sucuri kun je je WordPress website scannen op zwakheden.

Zoals je in de grafiek boven kunt zien zijn niet alleen de WordPress plugins het probleem. Brute Force Attacks en zwakheden door een niet ge-update core óf zwakke plekken in de core van WordPress scoren ook hoog. Het in je website proberen te komen op verschillende manieren en je website goed beveiligen blijft een kat en muisspel tussen de hacker en eigenaar van een website. Je zult nooit 100% kunnen voorkomen dat je website gehackt wordt maar je kunt zeker je WordPress website heel goed beveiligen. Lees mijn 15 tips van ultieme beveiligingsmaatregelen voor je WordPress website.

  1. Zorg dat de WordPress core, themes & plugins goed zijn.
  2. Kies de juiste gebruikersnamen en een veilig wachtwoord.
  3. Maak gebruik van 2-factor authenticatie.
  4. Installeer een goede beveiligingsplugin.
  5. Maak gebruik van een SFTP verbinding.
  6. Controleer je bestandsrechten.
  7. Beveilig je Database.
  8. Hernoem je wp-admin.
  9. Beveilig je wp-config.php.
  10. Gebruik een SSL-certificaat.
  11. Zet XML-RPC uit.
  12. Zet file editing in WordPress uit.
  13. Verberg je WordPress versie.
  14. Alleen inloggen vanaf je eigen ip-adres.
  15. Maak gebruik van WordPress salts.

1. Zorg dat de WordPress core, themes & plugins goed zijn

WordPress core

Zorg voor een ge-update versie van WordPress. Met regelmaat komt er een nieuwe versie uit van WordPress. Dit kun je zien in je WordPress Dashboard.

wordpress-update

De ontwikkelaars van WordPress hebben altijd een goede reden om WordPress te updaten. Hackers proberen vaak in een oudere versie van WordPress “binnen te komen”.  Website wpvulndb.com heeft een lijst gepubliceerd met de zwakke plekken in de verschillende WordPress versies. Sinds WordPress 3.7 krijg je de update melding automatisch in je Dashboard te zien. Je kunt de laatste versie van WordPress ook downloaden via de website van WordPress NL.

WordPress themes

Als je een thema gebruikt van WordPress raad ik je aan alleen thema’s te downloaden via de WordPress directory of van gerenommeerde en vertrouwde websites die WordPress thema’s aanbieden. Installatie van een gratis WordPress thema uit de directory doe je via Weergave >> Thema’s >> Nieuw thema toevoegen.

wordpress-thema

WordPress plugins

Zoals ik al eerder zei, er zijn 43.500 verschillende plugins voor WordPress. Niet allemaal zijn ze even betrouwbaar of worden ze regelmatig ge-update. Ik raad je aan te controleren of de plugin te gebruiken is met jouw versie van WordPress. Als het goed is is dat de laatste versie 😉 . Kijk ook even de reviews van de plugin en hoe vaak deze gebruikt wordt. Update z.s.m. als er een nieuwe versie uit is. Ik gebruik vaak dezelfde plugins voor websites maar het kan zijn dat je net even iets anders nodig hebt. Checken dus!

2. Kies juiste gebruikersnamen en een veilig wachtwoord

Om mee te beginnen: Gebruik nooit een gebruikersnaam zoals admin of webmaster. Ook niet iets wat er op lijkt als administrator of de naam van je website. Dit zijn de eerste gebruikersnamen waar mee geprobeerd wordt in te loggen door een hacker. Gebruik ook geen wachtwoorden zoals 123456 of welkom. Er zijn talloze bots op het internet die continu bezig zijn met het achterhalen van je wachtwoorden. Ongeveer 8% van gehackte WordPress websites is een gemakkelijk te achterhalen wachtwoord het probleem. Mijn tip: Gebruik leestekens, hoofdletters, kleine letters en cijfers. Dan krijg je zoiets als: J)q#[email protected]%orT8. Lastig te onthouden maar dan heb je ook wat!

Je kunt ook gebruik maken van online oplossing zoals Dashlane of Zoho Vault. Beiden uitstekende passwords managers en hebben een gratis oplossing.

3. 2 Factor Authenticatie

Mocht je naast een goede gebruikersnaam en een sterk wachtwoord nog een extra beveiliging in willen bouwen dan raad ik je aan om deze pagina eens te bezoeken. Hierop staan de beste en meest gedownloade 2 factor authenticatie plugins voor je WordPress website.

Als voorbeeld met de Google Authenticatie plugin dien je als extra beveiligingsmaatregel een code in te voeren naast je gebruikersnaam en wachtwoord. Deze code ontvang je op je telefoon.

wordpress 2 stappen authenticatie

4. Installeer een Security Plugin

Er zijn verschillende goede beveiligingsplugins voor WordPress. Ik gebruik zelf voor het overgrote deel Ithemes Security. Éénmaal geïnstalleerd dekt het een groot deel van de lading en neemt je veel werk uit handen. Met de Ithemes security plugin kun je je website op meer dan 30 cruciale punten beveiligen. Een voordeel t.o.v. andere plugins vind ik dat je zonder de WordPress broncode hoeft te wijzigen je wp-admin kan hernoemen naar een zelf gekozen URL. Als je weet wat je doet ben je binnen 10 minuten gereed met de configuratie.

Een aantal andere opties voor het beveiligen van je WordPress website:

Sucuri Security
Wordfence Security
All in one WordPress security & Firewall

5. Maak gebruik van SFTP

FTP (File Transfer Protocol) is het standaardprotocol voor het overbrengen van bestanden naar je server. Met een FTP-client kun je bestandssystemen uploaden en downloaden van je PC. Als je regelmatig bestanden upload naar je server raad ik je aan dit te doen via een SFTP (SSH file transfer protocol) verbinding. Als je standaard SFTP gebruikt is je verbinding altijd versleuteld. Je webhost dient je wel toegang te verlenen tot SSH. SFTP gebruikt poort 22.

Enkele programma’s om een verbinding te maken met SFTP:

Filezilla;
WinSCP;
CoreFTP.

sftp-filezilla

6. Controleer en wijzig je bestandsrechten

Om je bestanden te beschermen dien je de juiste rechten in te schakelen voor mappen en bestanden die het mogelijk maakt om bestanden en mappen te lezen, schrijven of uit te voeren. Als deze rechten niet juist zijn ingesteld open je misschien een achterdeur voor hackers óf zorgen ervoor dat je WordPress website niet goed functioneert.
Het verlenen van deze rechten gaat met CHMOD (Change mode). Hieronder een uitleg over CHMOD.

CHMOD is een commando dat het systeem laat weten hoeveel of hoe weinig toegang verleend wordt aan een bepaalde gebruiker. CHMOD bestaat uit een simpel systeem van 3 cijfers en wordt uitgevoerd in letters.

Uitvoeren: X (Execute);
Schrijven: W (Write);
Lezen: R (Read).

0 – Geen toegang
1 – Alleen uitvoeren  (X – ‘execute’)
2 – Alleen schrijven (W – ‘write’)
3 – Schrijven en uitvoeren (WX)
4 – Alleen lezen (R – ‘read’)
5 – Lezen en uitvoeren (RX)
6 – Lezen en schrijven (RW)
7 – Volledige toegang; lezen/schrijven/uitvoeren (RWX)

file-permissions

Als je de rechten aan een bestand of map wilt toewijzen moet je de cijfers optellen bij elkaar.
Bijvoorbeeld uitvoeren en lezen, dan krijg je 1 + 4 = 5. Dus 5 staat voor uitvoeren en lezen, wat overeenkomt met de vorige tabel. Op deze manier zijn alle combinaties (1-7) te maken. Als een bestand dus ingesteld moet worden op  755, krijgen we het volgende:

Eigenaar: 7 (= 1 + 2 + 4)
Groep: 5 (= 1 + 4)
Overige:  5 (= 1 + 4) 

Kijk op het plaatje hierboven om de juiste rechten toe te wijzen aan WordPress. Er is meer te vinden hierover op WordPress CHMOD.

7. WordPress Database goed beveiligen

Als je alleen je bestandsrechten aanpast met de juiste rechten voor je WordPress website is niet genoeg. Om je website nóg beter te beveiligen raad ik je aan om je WordPress database goed te beveiligen. Het eerste wat ik je aanraad is een andere DB prefix te gebruiken. Standaard gebruikt WordPress wp_. Als je dit bijvoorbeeld wijzigt in v6K9a_ zal het veel lastiger zijn voor een buitenstaander om te raden. Je kunt de DB prefix op verschillende manieren wijzigen. De eerste mogelijkheid wordt je al geboden bij de installatie van WordPress.
Heb je dit nu over het hoofd gezien of gewoon niet gedaan kun je nog altijd de wp_ veranderen in je wp.config.php bestand. Vergeet dit bestand niet te uploaden naar de server. Dit kun je doen met een FTP cliënt. En vergeet ook niet om SFTP in te schakelen hè?!

Een andere mogelijkheid is om de DB prefix te wijzigen via een plugin. Voor bijna al mijn websites gebruikt ik Ithemes Security. Deze uitstekende plugin biedt de mogelijkheid de DB prefix te wijzigen. Hieronder enkele andere plugins om je DB prefix te wijzigen:

Sucuri Security
Change DB Prefix

Als tweede raad ik aan om de naam en gebruikersnaam van je WordPress website database zo moeilijk mogelijk te maken. Vaak zijn de eerste karakters de gebruikersnaam van je website om in te loggen op je serverpanel van je webhost.

Voorbeeld:
Website: Jenniferlopez.com
Database: znifpejer_H7Asx
Database username: znifpejer_l2Bg0s

En als laatste mag een moeilijk te raden wachtwoord ook niet ontbreken natuurlijk!

8. Wijzigen van wp-admin

Het wijzigen van wp-admin is waarschijnlijk één van de meest simpele beveiligingsmaatregelen voor je WordPress website. De meeste WordPress websites hebben last van tientallen inlogpogingen per dag. Dit kan zelfs oplopen tot enkele duizenden. Met de eerder beschreven beveiligingsplugins van WordPress kun je dit daadwerkelijk ook zien.

wordpress wp-admin veranderen

Wijzigen van wp-admin doe je heel gemakkelijk met een plugin.

WPS Hide Login

9. Beveiligen van wp-config.php

Beveiligen van wp-config.php is extreem belangrijk. Dit bestand is het belangrijkste bestand in je gehele WordPress installatie. Zorg ervoor dat je onderstaande werkzaamheden uitvoert.

Je kunt toegang van buitenaf voorkomen door onderstaande snippet toe te voegen in je .htaccess bestand:

<Files wp-config.php>
order allow,deny
deny from all
</Files>

10. Installeer een SSL Certificaat

Sinds kort heb ik besloten om elke website van een klant op te leveren met een SSL certificaat. Via een HTTPS verbinding is de communicatie tussen je thuis netwerk en de server versleuteld. Als je geen HTTPS verbinding hebt en je logt in op je WordPress dashboard worden je gebruikersnaam en wachtwoord in klare tekst verzonden over het internet.

beveiligingsmaatregelen voor WordPress

Als je een SSL certificaat geïnstalleerd hebt is het handig als je SSL forceerd door onderstaande code toe te voegen in je wp-config.php.

define('FORCE_SSL_ADMIN', true);

11. Zet XML-RPC uit

XML-RPC is een standaard functie in WordPress. Het is een communicatiemiddel die ervoor kan zorgen dat externe applicaties kunnen communiceren met jouw website. Als voorbeeld kun je denken aan het plaatsen van nieuwe content via een mobiele app.
99% van de WordPress gebruikers gebruikt deze optie nooit. Ik werk al 8 jaar met WordPress en nog nooit gebruikt. Uitzetten dus. WordPress heeft een tijd geleden wereldwijd een flink aantal Brute Force Attacks gehad door XML-RPC.

Download en installeer de Disable XML-RPC plugin.

Wil je liever geen plugin gebruiken? Plak dan onderstaande code in je .htaccess bestand. Vergeet niet het ip-adres te wijzigen in je eigen ip-adres.

## block any attempted XML-RPC requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
</Files>

12. Zet File Editing uit in WordPress dashboard

editor-wordpress

Normaal gesproken kun je onder Weergave >> editor de tekst/code van je bestanden bewerken. Als je deze optie aan laat staan is je WordPress installatie zeer kwetsbaar. Als je toch wijzigingen doet aan je bronbestanden doe dit dan via SFTP met een FTP cliënt. Om deze optie uit te schakelen voeg je onderstaande code toe aan je wp-config.php.

define( ‘DISALLOW_FILE_EDIT’, true );

13. Verberg je WordPress versie

WordPress wordt regelmatig ge-update. Hackers hebben het voorzien op oudere versies van WordPress. Hoe ouder de WordPress versie des te gemakkelijker wordt het voor hackers om in te breken in je website. Als ze ook nog eens gemakkelijk kunnen achterhalen welke versie van WordPress je gebruikt kunnen ze doelgericht aanvallen. Zorg daarom dat je de WordPress versie verbergt.

wordpress versie verwijderen

WPBeginner heeft een gemakkelijke functie gemaakt die je kunt implementeren in je functions.php.

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

Verwijder readme.html

Bij elke WordPress installatie zit een readme.html inbegrepen. Hierin wordt je WordPress versie in vermeld. Zorg dat je deze verwijderd.

domain.com/readme.html

14. Alleen inloggen vanaf je eigen ip-adres

beveiligingsmaatregelen-voor-WordPress

Plaats de volgend code in je .htaccess bestand en upload deze naar je server (vervang het 111.111.111 door je eigen ip-adres). Zo kun je alleen maar inloggen vanaf je eigen ip-adres.

<FilesMatch "^(xmlrpc\.php|wp-trackback\.php|wp-login\.php|admin\.php)">
Order Deny,Allow
Deny from all
Allow from 111.111.111
</FilesMatch>

Weet je je eigen ip-adres niet? Kijk op www.whatsmyip.com. Plaats deze voor of na de standaard WordPress code. Dat kun je zien door het # teken. Alles tussen de # kan WordPress overschrijven.

15. Maak gebruik van WordPress SALT

Om nog een extra versleuteling te geven aan je inloggegevens maakt WordPress gebruik van Secret Keys. Je hoeft deze niet zelf te verzinnen. In de wp-config.php staat een link naar de Api. Ga naar: https://api.wordpress.org/secret-key/1.1/ en copy & paste de karakters in je wp-config.php. Dit ziet er als volgt uit. Vergeet niet de wp-config.php te uploaden naar de server.

beveiligingsmaatregelen voor je WordPress website

Conclusie:

Zoals je ziet zijn er tegenwoordig nogal wat beveiligingsmaatregelen nodig om je WordPress website goed te beveiligen. Voor de meeste handelingen moet je ook wel wat weten over de werking van WordPress en FTP of beter gezegd SFTP 😉 . De meeste FTP cliënts ondersteunen SFTP en zijn gemakkelijk mee te werken. Zorg dat je weet wat je doet, dat scheelt al de helft. Met de installatie van een security plugin zoals Wordfence of Ithemes Security ben je goed op weg om alle 15 beveiligingsmaatregelen te implementeren. Wil je niet het risico nemen om zelf met deze Plugins te stoeien? Laat dan naar je WordPress website kijken door een expert.

Zorg ervoor dat je geheel WordPress installatie up to date is.

Denk er trouwens aan dat je je WordPress website nog zo goed kunt beveiligen maar als je PC niet goed beveiligt is, nog gehackt kunt worden. Ik gebruik Eset Smart Security of AVAST.

Heb jij nog andere tips om je WordPress website nog beter te beveiligen tegen aanvallen van hackers? Vertel het me, deel en zorg dat het web veiliger wordt!

2017-02-28T16:47:02+00:00 0 Comments

Leave A Comment