Beveilig mijn WordPress website – Deel 3
We zijn alweer aangekomen bij het laatste deel. Deeltje 3 van WordPress beveiliging. In deel 3 gaan we verder waar we bij deel 2 gestopt waren. Dit betekend dat u nog meer tips en voorbeelden krijgt over het beveiligen van WordPress. Laten we snel verder gaan want we hebben nog best het e.e.a. te bespreken.
Zet gebruikersregistratie uit:
Als u WordPress gebruikt voor een website die geen community is dan is het raadzaam om registraties uit te zetten omdat veel exploits daar gebruik van maken. Het uitzetten van gebruikersregistraties doet u via: Instellingen – Algemeen. Hier zet u bij “Lidmaatschap” het vinkje uit bij “iedereen kan registreren”.
Zet gebruikersreacties uit:
Als u gebruikersreacties niet gebruikt is het goed om deze ook uit te schakelen. De velden kunnen dan niet gebruikt worden om kwaadaardige code te injecteren. Gebruikersreacties uitzetten doet u via: Instellingen – Reacties. Hier schakelt u het vinkje uit bij “Sta toe dat bezoekers kunnen reageren op nieuwe artikelen”.
Schakel directory browsing uit:
Middels directory browsing kunnen hackers door je bestanden en mappen heen bladeren om te zien welke plug-ins e.d. je geïnstalleerd hebt. Zo kunnen ze er gemakkelijk achter komen of je onveilige plug-ins of bestanden hebt die ze kunnen misbruiken om toegang te verkrijgen. Omdat directory browsing voor WordPress verder geen functie heeft is het aan te raden deze uit te zetten. Het uitzetten is simpel. Voeg hiervoor de volgende regel code toe aan je .htaccess bestand.
Options –Indexes |
Gebruik Unieke Salts & Keys:
Salts & Keys worden in WordPress gebruikt om deze te beveiligen tegen “cookie hacks”. WordPress slaat veel inloginformatie op in cookies op de pc van de cliënt. Deze cookies worden versleuteld middels een standaard principe. Echter wordt de versleuteling vele malen sterker wanneer deze nogmaals versleuteld wordt met sterke salts. Meer over salts binnen versleuteling in een ander artikel dat binnenkort online verschijnt.
Salts en Keys worden geconfigureerd in uw wp-config bestand en deze moeten uniek zijn! Binnen de wp-config file kunnen we 4 keys en 4 salts opgeven:
Keys:
- AUTH_KEY
- SECURE_AUTH_KEY
- LOGGED_IN_KEY
- NONCE_KEY
Salts:
- AUTH_SALT
- SECURE_AUTH_SALT
- LOGGED_IN_SALT
- NONCE_SALT
Een standaard WordPress salts & keys configuratie ziet er zo uit:
define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here'); |
De keys moeten echter opgevuld worden door complete unieke sleutels van meer dan 60 tekens. U kunt dit handmatig doen maar het is makkelijker om dat via de online secret-key service van WordPress te doen. Elke keer genereerd deze pagina unieke sleutels. Vervang de lege sleutels in uw wp-config bestand voor de aangemaakte sleutels zodat het er als volgt uitziet:
define('AUTH_KEY', 'Yo`oiS*HGB7:7IBt4U[0dY1w3nPSk*}[]REBm}/tjqN(-q8v:{$Msi,U|Pw9D&/^'); define('SECURE_AUTH_KEY', 'MjR(WN^?`]lmNLqV`Trlm;fz+})P)+mW#w<({JrL;tpgDjQ^iORtdF_7(b+|=Lig'); define('LOGGED_IN_KEY', '!lY*F9O#~O|-w9jYZ-Ak.ejG&FkBn!o3#EF-x/*/:tSYh*Oe51=*8Hv{YB?_(Vr#'); define('NONCE_KEY', '%D+7/-hIry}p]cE+JnMHEH1.r t?w+BR.yN~](f@THd(|evUA&6Ux`lW.$fpirN='); define('AUTH_SALT', '87$H|)~UJ(|<%Fy4bH^61(@$40@H>a};+iz?e)*8,ikE>y|i4FogPNU@[u%<U'); define('SECURE_AUTH_SALT', 'd9%1.48]Z=]`cnLjx&jmx5lk&XR9h,+GJ|8chVpOF?<ab7OhV<blyq%5F6kj65g4'); define('LOGGED_IN_SALT', 'D&v<wNv|J79-O=4Z-rXM/>Z q(*qj@PX|>Wu~!Cw)|VXK)|RV|6xR=w3PuHNk8mk'); define('NONCE_SALT', '7oGo G$]3( ,]Zin} -]=PN;U~,I(O}Oy!%Vy1UJ)>f#Bi2Tp^8z#y+J*p+-<WR|'); |
Let op dat u deze keys na het invullen bij voorkeur iedere maand vervangt.
Verwijder onnodige bestanden en plugins:
Onnodige bestanden, templates en plugins staan op uw host feitelijk niets te doen en worden ook niet meer correct bijgewerkt waardoor ze een potentieel beveiligingsrisico met zich meebrengen. Daarnaast nemen de diskruimte in beslag die beter door iets anders gebruikt kan worden. Opruimen dus!
Script injectie beveiliging:
Om nog beter beveiligd te zijn tegen script injectie en modificaties van de _REQUEST en GLOBALS variabelen is het raadzaam on onderstaande script toe te voegen aan uw .htaccess bestand onder de # END WORDPRESS regel:
Options +FollowSymLinks RewriteEngine On RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) RewriteRule ^(.*)$ index.php [F,L]\ |
Plugins:
Tenslotte zijn er nog vele plug-ins die uw website kunnen beveiligen. Een van de betere zijn iThemes Security en Wordfence. Deze plug-ins maken het nog makkelijker om veel van bovenstaande taken te automatiseren. Controleer echter altijd handmatig omdat je met een plug-in nooit exact weet wat hij exact doet. Zorg ook voor een goede back-up alvorens u met deze plug-ins aan de slag gaat omdat deze vaak vergaande modificaties doorvoeren die heel soms fout aflopen.
Conclusie:
Er is dus aardig wat mogelijk in WordPress. Als deze zaken zijn niet standaard meegenomen in de installatie van WordPress maar met een kleine moeite zelf te regelen. Is hiermee uw WordPress website onhackbaar? Nee! Dat is helaas niet mogelijk. Wel bent u na het doorvoeren van de tips in onze WordPress Beveiliging Posts stukken beter beveiligd en worden de simpele aanvallen en hackers perfect tegengehouden. Wilt u echter beveiliging tegen zware aanvallen neem dan contact op met ons. Wij helpen u graag uw WordPress beter te beveiligen. We gebruiken hiervoor verschillende cloud technieken en state-of-the-art backup methodes. Veel succes met het veiliger maken van uw WordPress website.