Security
Tips en tutorials

WordPress beveiligen

Geplaatst op: - Laatste aanpassing:

Iedere website ongeacht of je gebruik maakt van WordPress, Drupal, Joomla of iets anders moet aan veiligheid denken. De kans is groot dat je website vroeg of laat “aangevallen” gaat worden door bots of hackers. Werk je met persoonsgegevens of is je website een merk? Dan wil je een datalek en reputatieschade voorkomen.

In dit artikel gaan we kijken wat we kunnen doen om onze WordPress website zo veilig mogelijk te maken. De tips die we je geven hebben we opgedaan uit ervaring met vele honderden WordPress websites van klein tot groot en van low risk tot high risk en waarbij er audits hebben plaatsgevonden door externe partijen.

We hopen dat je gebruikt zult maken van de praktische tips uit dit artikel en dat ze je meer inzicht en vertrouwen zullen geven.

Inhoudsopgave

Waarom WordPress beveiligen?

WordPress is wereldwijd het meest gebruikte content-beheersysteem en is daardoor een interessant doelwit voor hackers, want is er eenmaal een kwetsbaarheid gevonden dan is de kans groot dat ze deze ook op tal van andere sites kunnen toepassen. Is WordPress dan een verkeerde keuze vanuit veiligheidsoverwegingen? Nee hoor, want als het zijn veiligheid niet goed op orde had dan was het ook niet zo’n enorm succes geweest.

Waarom moet je WordPress dan beveiligen? Door de populariteit en flexibiliteit zijn er enorm veel plugins en thema’s te vinden, sommige zijn door professionele partijen geschreven andere zijn op hobbymatige basis gemaakt, in beide gevallen kan het voorkomen dat er foutjes* in de code zitten welke door hackers misbruikt kunnen worden. Daarnaast is het ook belangrijk dat sitebeheerders en redacteuren zorgvuldig te werk gaan want ook zij kunnen per ongeluk de weg vrij maken voor hackers.

Hackers zoeken naar deze fouten en proberen ze voor eigengewin te gebruiken. Dit kan ervoor zorgen dat jouw website onbruikbaar, gevaarlijk voor de bezoeker (in het geval van malware) of slachtoffer van een datalek wordt met alle gevolgen van dien.

Door de juiste stappen te nemen kunnen we al deze problemen voorkomen en zijn we gerustgesteld doordat we maatregelen hebben genomen.

* Deze foutjes in de programmatuur worden ook wel bugs genoemd


De beste plugins om WordPress te beveiligen

Een belangrijke en eenvoudige maatregel die je kunt treffen is het downloaden van een security plugin. Wanneer je zoekt op “security” in de WordPress plugins bibliotheek zal het je snel opvallen dat er best een hoop plugins op dit gebied te vinden zijn. Dit zijn de top 5 plugins met 800.000 actieve installaties of meer:

Logo van de Jetpack plugin

Jetpack

Jetpack omschrijft zichzelf als “The most popular WordPress plugin for just about everything” en dit komt omdat deze plugin niet alleen functionaliteiten op het gebied van WordPress beveiliging heeft maar nog veel meer. Om eerlijk te zijn is het hier door lastig om de populariteit op het gebied van veiligheid met de andere plugins te vergelijken omdat we niet precies weten hoeveel mensen Jetpack vanwege zijn beveiligingsfuncties gebruiken.

Toch is het waard om deze plugin te noemen vanwege zijn populariteit en omdat de plugin onderhouden wordt door Automattic een bedrijf van WordPress mede-oprichter Matt Mullenweg en het bedrijf achter WordPress.com dit zou je dus enige vertrouwen kunnen geven in de werking en de kwaliteit van de plugin.

Op het gebied van veiligheid bevat Jetpack:

  • Automatisch maken en terugzetten van website backups
  • Activiteitenlogboek waarmee je kunt zien wie welke wijziging heeft gemaakt
  • Automatische malware en security scans met een functie om te herstellen van malware
  • Bescherming tegen brute force aanvallen op de inlogpagina
  • Blokkeren van spam op reacties en formulieren via de Akismet dienst
  • 2FA (twee-factor-authenticatie) via WordPress.com
  • Automatisch updaten van plugins
  • Web Application Firewall (in beta)

Jetpack gratis of betaald

Jetpack biedt een aantal van zijn functionaliteiten gratis aan zoals downtime monitoring en bescherming tegen brute force aanvallen. Helaas betaal je wel voor de backups (VaultPress Backup) en scans (Jetpack Scan) je kunt voor losse onderdelen betalen of de Jetpack Security bundel afnemen waar alle aan beveiliging gerelateerde functionaliteiten in zitten.

Logo van de Wordfence plugin

Wordfence

Wordfence omschrijft zich als “The leader in WordPress security” en is na Jetpack de plugin met de meeste installaties op WordPress websites. Wordfence is volledig gericht op het beveiligen van WordPress websites en bieden hierbij verschillende pakketten aan, namelijk: Free, Premium, Care en Response, waarbij de gratis variant alle basisfunctionaliteiten heeft. Wat interessant is aan Wordfence is dat betaalde gebruikers in real-time de laatste gegevens van malware en malafide IP-adressen krijgen, hierdoor kunnen sites die gebruik maken van Wordfence elkaar versterken.

Wordfence functionaliteiten:

  • Automatische security scans (met detectie voor gewijzigde bestanden)
  • Web Application Firewall
  • Malware scanner
  • Blokkeren van IP adressen en specifieke landen
  • Inbraakwaarschuwingen
  • Rate limiting
  • Bescherming tegen brute force aanvallen op de inlogpagina
  • Loginbeveiliging met 2FA (twee-factor-authenticatie) en reCAPTCHA
  • Overzicht met de status van al je websites met Wordfence Central

De verschillen tussen Wordfence Free, Premium, Care en Response

De gratis versie van Wordfence heeft bijna alle functionaliteiten maar krijgt de laatste updates aan de firewall en malware met 30 dagen vertraging, kan geen specifieke landen blokkeren en maakt geen gebruik van de real-time IP blocklist van Wordfence. De premium versie heeft al deze extra functionaliteiten wel en als premium gebruiker kun je support tickets inschieten bij vragen en problemen, waarbij de gratis gebruikers dit alleen via het forum kunnen doen.

Dan heeft Wordfence ook nog de care en de response pakketten, hierbij helpen ze je met het configureren en beheren van Wordfence, doen ze een jaarlijkse audit, houden ze de website in de gaten en helpen ze je wanneer je website toch in de problemen is gekomen. Het response pakket overtreft het care pakket omdat je 24/7 ondersteuning krijgt en de reactietijd gegarandeerd binnen één uur is.

Heb je meerdere WordPress websites? Dan kan Wordfence Central een handige aanvulling zijn – door je websites te koppelen aan dit gratis te gebruiken dashboard op de Wordfence website kun je in één overzicht de status van al je websites zien en de configuraties hergebruiken.

Logo van de All-In-One Security plugin

All-In-One Security (AIOS)

De All-In-One Security (hierna AIOS genoemd) is een erg uitgebreide WordPress plugin voor het beveiligen van je WordPress site en biedt ontzettend veel opties, op het moment van schrijven is dit ook de enige plugin met een volledige 5 sterren beoordeling, al komen de andere plugins met 4.5 sterren erg dicht in de buurt.

AIOS functionaliteiten:

  • Automatische security scans (met detectie voor gewijzigde bestanden)
  • Malware scanner
  • Blokkeren van IP adressen en specifieke landen
  • Content bescherming (blokkeren van spam door middel van reCAPTCHA en tegengaan van kopiëren van teksten)
  • Smart 404 blokkering
  • Brute force bescherming
  • Loginbeveiliging met o.a. 2FA (twee-factor-authenticatie) en reCAPTCHA
  • Web Application Firewall

De verschillen tussen AIOS Free en AIOS Premium

De gratis versie van AIOS heeft alle functionaliteiten uit de login beveiliging, firewall en content bescherming onderdelen maar mist de malware scanner, malware notificaties, het blokkeren van specifieke landen, smart 404 blokkering, ondersteuning en een aantal aanvullende opties bij twee-factor-authenticatie.

Ons oordeel over AIOS

We vinden het leuk dat deze plugin een “veiligheidssterktemeter” heeft waardoor wij extra ons best doen om dit getal zo hoog mogelijk te krijgen. Daarnaast bevat deze plugin erg veel opties waaronder een aantal unieke onderdelen die de andere plugins niet hebben zoals de “smart 404 blocking” en de “copywriting protection”. Al vragen wij ons bij een aantal onderdelen wel af hoe zinvol ze zijn, het blokkeren van de mogelijkheid om tekst te kopiëren is het wegnemen van een basale browserfunctionaliteit, daarnaast is het nut hiervan zeer beperkt gezien er nog tal van andere mogelijkheden zijn om dit als nog te doen.

Verder missen we een beetje de verdieping in de statistieken zoals; uit welke landen de geblokkeerde IP adressen komen en welke plugins achterlopen of kwetsbaarheden bevatten ook vinden we het jammer dat de gratis versie zoveel notificaties en advertenties in de admin toont. Toch is de premium versie van deze plugin misschien interessant als je een klein budget hebt, het is namelijk een stukje goedkoper dan Jetpack Security en Wordfence Premium.

Logo van de iThemes Security plugin

iThemes Security

De iThemes Security plugin is gemaakt door een bedrijf dat o.a. bekend is van plugins als Backup Buddy en iThemes Sync. De iThemes Security plugin heeft een soort van onboarding waarbij je stap voor stap de beveiligingsopties instelt zonder dat je daarvoor technische kennis hoeft te hebben.

iThemes Security functionaliteiten

  • Real-time security dashboard
  • Database backups
  • Malware scanner
  • Brute force bescherming
  • Security hardening
  • Loginbeveiliging met o.a. 2FA (twee-factor-authenticatie) en wachtwoord vereisten

Premium functionaliteiten zijn o.a.: importeren en exporteren van instellingen, inzien van gebruikersactiviteit, WP-cli integratie, wachtwoorden laten verlopen en gelekte wachtwoorden weigeren, overzicht met welke gebruikers aan alle wachtwoord vereisten voldoen, magic links en inloggen zonder wachtwoord, automatisch updaten van WordPress, plugins en thema’s, reCAPTCHA en alleen inloggen vanaf vertrouwde apparaten.

Ons oordeel over iThemes Security

De plugin (en dan met name de pro versie) heeft een inzichtelijk dashboard waarop je alle statistieken kunt zien en kan voor organisaties die willen dat alle accounts aan de vooraf opgestelde wachtwoord vereisten voldoen erg interessant zijn, je ziet in één oogopslag of iemand 2FA, een sterk wachtwoord en deze recent nog heeft aangepast zien, ook zie je alle actieve sessies. Het onboarding proces maakt het instellen van de plugin een fluitje van een cent.

Wij zijn wel minder te spreken over het eigen design wat de plugin met zich meebrengt en dat de plugin bij activatie de wp-config file aanpast, iets wat minder handig kan zijn wanneer je geen gebruik maakt van een standaard WordPress installatie. Daarnaast is het jammer dat een aantal functionaliteiten alleen beschikbaar zijn in de pro versie terwijl ze in onze ogen toch best wel standaard zijn. Desalniettemin kan het een interessante plugin zijn, zeker wanneer je de prijzen vergelijkt met sommige concurrenten.

Logo van de Sucuri plugin

Sucuri Security

Sucuri is het enige bedrijf uit dit lijstje die zich niet alleen op WordPress richt maar ook oplossingen biedt voor sites gemaakt op andere systemen. Ze zijn een bekende en grote speler en hun software wordt ook gebruikt door bekende hostingpartijen zoals GoDaddy en WPEngine.

Sucuri Security functionaliteiten

  • Controle van beveiligingsactiviteiten
  • Bewaking van bestandsintegriteit
  • Malware scanner
  • Blacklist monitoring (controleert of je website niet op bekende zwarte lijsten staat)
  • Security hardening
  • Post-hack beveiligingsacties
  • Beveiligingsnotificaties
  • Web Application Firewall (premium)

Ons oordeel over Sucuri Security

De Sucuri plugin heeft minder opties als de andere top 5 plugins maar ziet er erg netjes en professioneel uit. Er zijn weinig toeters en bellen en het richt zich erg goed op de noodzakelijke functionaliteiten. Ondanks dat ook deze plugin een eigen design met zich meebrengt integreert hij netjes met WordPress en zie je dat er ook met aandacht naar de WordPress design guidelines is gekeken. Er zijn geen advertenties te bekennen en de plugin is overzichtelijk.

Zoals op de plugin pagina te lezen valt is deze plugin voornamelijk bedoelt om je bestaande beveiligingsstructuur te complementeren. Hierdoor zul je voor een aantal functionaliteiten misschien aanvullende plugins nodig hebben. Een voorbeeld hiervan is 2FA (twee-factor-authenticatie). Dit is wat ons betreft niet erg; je kunt de plugins selecteren op het geen waar zij sterk in zijn. Wel is het jammer dat je moet betalen voor de firewall maar met een vanaf prijs van $9,99 per maand is dat nog te overzien en je hebt dan wel een firewall van een professioneel security bedrijf. Ze hebben overigens ook abonnementen voor grote organisaties waarbij ze de website actief monitoren en helpen op het moment dat er iets aan de hand is.

Logo van de Patchstack plugin

Eervolle vermelding: Patchstack

Patchstack is de “new kid on the block” en hoewel ze nog een lange weg te gaan hebben om in de buurt te komen van de actieve installaties die de plugins hierboven hebben, willen we deze plugin toch heeft genoemd hebben. Ze timmeren hard aan de weg en hebben een erg mooi dashboard waarop je sites in de gaten kunt houden.

Patchstack onderdelen:

  • Detectie van kwetsbaarheden in plugins, thema’s en in WordPress core
  • Virtuele patches voor plugins, thema’s en de WordPress core
  • Detectie van onveilige configuratie, security headers en verlopen domeinnamen en SSL certificaten
  • Zero-day bescherming uit de OWASP top 10
  • Eigen firewall regels en waarschuwingstriggers
  • Logbestanden, analyse, en maandelijkse PDF rapporten
  • Meldingen naar Slack en e-mail

Patchstack is wat ons betreft een zeker een plugin om in de gaten te houden.

⭐️ Onze favoriet

🥇 Onze topfavoriet is Wordfence; deze plugin heeft een heleboel opties waarmee je de beveiliging van je WordPress website zelf kunt afstellen en geen van deze opties komt overbodig over. Wij vinden het klasse dat de gratis variant al zoveel mogelijkheden heeft en eigenlijk direct al de beveiliging van websites zo goed aanscherpt. Als bedrijven doen ze het goed doordat de plugin ook gebruikt kan worden door grote organisaties (Care, Response), er kennis wordt gedeeld via de blog en Wordfence Intelligence en doordat ze eigen onderzoekers in dienst te hebben.

🥈 Sucuri krijgt van ons de 2e plaats omdat deze plugin zo netjes integreert met WordPress en heel gericht doet waar het goed in is; integriteit bewaken, scannen, hardening, melden en tegen brute force aanvallen beschermen. Weinig toeters en bellen en het enige waarvoor je betaald is de firewall, maar dan heb je wel een firewall van een gerenommeerd beveiligingsbedrijf. Wij raden deze plugin aan wanneer je het gebruikt om bestaande beveiligingsmaatregelen te complementeren of wanneer je als organisatie voor de extra dienstverlening van Sucuri gaat zoals hun ondersteuning bij incidenten en het verwijderen van malware.


WordPress beveiligen checklist

1. Een betrouwbare en goede hostingpartij

Je kunt de beveiliging van je website nog zo goed op orde hebben maar als de hostingpartij dit niet heeft dan kan het als nog fout aflopen. Zorg er dus voor dat je een hostingpartij kiest die:

  • Adequaat en snel handelt op het moment dat het fout gaat
  • Goed te bereiken is in geval van noodgevallen
  • Een recente PHP versie aanbiedt (PHP 8 en hoger)
  • De hostingserver continu van de laatste beveiligingsupdates voorziet
  • De eigen beveiliging op orde heeft
  • Backups maakt
  • Rechten en permissies op mappen en bestanden goed heeft staan
  • En liefst ook eigen beveiligingsmaatregelen heeft zoals monitoring, malware scans en een firewall

Vergeet ook niet je eigen verantwoordelijkheden:

  • Een sterk wachtwoord welke je met enige regelmaat verandert, bijvoorkeur stel je ook 2FA (twee-factor-authenticatie) in
  • Verander de standaardwachtwoorden die je van de hostingpartij toegestuurd krijgt
  • Gebruik nooit dezelfde wachtwoorden voor het controle paneel, database, FTP account enzovoorts
  • Deel je inloggegevens alleen met mensen die je kunt vertrouwen
  • Zorg ervoor dat je SSH keys gebruikt wanneer je inlogt met SSH
  • Bescherm je server door aan te geven dat je altijd via een bepaald IP-adres inlogt en blokkeer alle andere IP-adressen

2. Gebruikers en wachtwoorden

Veel websites worden gehackt doordat we zelf niet zorgvuldig genoeg omgaan met onze gegevens of onze website.

Tips bij gebruikers en wachtwoorden:

  • Vermijd voor de hand liggende gebruikersnamen zoals admin, administrator en beheer want deze worden vaak als eerste gebruikt bij een brute force aanval
  • Zorg ervoor dat alle gebruikers een sterk wachtwoord hebben en stel dit verplicht
  • Zorg ervoor dat alle gebruikers verplicht met 2FA (twee-factor-authenticatie) moeten inloggen
  • Adviseer je gebruikers unieke wachtwoorden te gebruiken
  • Geef gebruikers de juiste rollen en rechten voor het geen zij moeten kunnen
  • Wees zuinig op de beheerdersrol omdat deze overal bij kan
  • Verwijder inactieve gebruikers zo snel mogelijk
  • Houd er rekening mee dat individuele gebruikers gehackt kunnen worden en denk na over wat de gevolgen daarvan kunnen zijn

3. Toegang tot de wp-admin beperken

Het is algemeen bekend dat je bij het inlogscherm van de meeste WordPress websites kunt komen door /admin, /wp-admin of /wp-login.php achter het webadres te zetten. Hackers weten hierdoor in de meeste gevallen waar zij hun brute force aanvallen kunnen uitvoeren.

Tips bij het beperken van de toegang tot de wp-admin:

  • Geef alleen bepaalde IP-adressen of landen toegang tot de wp-admin pagina
  • Login pogingen beperken met een plugin
  • Een vereiste 2FA (twee-factor-authenticatie) of reCAPTCHA op het inlogscherm te zetten
  • Een extra inlogscherm (bijvoorbeeld basic auth) bovenop de wp-admin te zetten

Security by obscurity

Sommige mensen kiezen ervoor om het adres van de /wp-admin te veranderen naar iets anders. Hoewel dit inderdaad brute force aanvallen kan tegengaan waarbij er verder geen slimme methodieken worden gebruikt om het inlogscherm te achterhalen, is het geen garantie dat je daardoor ook echt veilig bent. Je verstopt hiermee de plek maar het kan nog wel gevonden worden, dit wordt ook wel security by obscurity genoemd.

4. Plugins en thema’s

WordPress heeft een enorme hoeveelheid plugins en thema’s waar we gebruik van kunnen maken om mooie websites te bouwen. Helaas zoeken hackers naar kwetsbaarheden in plugins en thema’s om op die manier zoveel mogelijk websites te treffen. Het is daarom belangrijk dat je ook bij het uitzoeken van plugins en thema’s rekening houd met eventuele kwetsbaarheden.

Tips bij plugins en thema’s:

  • Download alleen van legitieme en betrouwbare bronnen
  • Update plugins en thema’s zodra er updates zijn
  • Lees de recensies en controleer de regelmaat van updates
  • Onthoud dat alle plugins en thema’s kwetsbaarheden kunnen hebben
  • Verwijder plugins en thema’s die je niet gebruikt

5. Beveiligde verbinding met HTTPS

HTTPS staat voor “Hypertext Transfer Protocol Secure” en versleuteld de communicatie tussen webserver en browser door er een encryptie laag aan toe te voegen, hierdoor kunnen derde dit niet onderscheppen. Vandaag de dag is het een ongeschreven regel dat je HTTPS moet hebben, zeker wanneer je met persoonsgegevens werkt. Zonder HTTPS zullen veel browsers en bezoekers je website al minder vertrouwen geven.

6. DNSSEC

DNSSEC staat voor “Domain Name System Security Extensions” en voorziet de DNS van een website van een digitale handtekening waardoor de aanvrager kan controleren of de website wel de echte is. Door DNSSEC te gebruiken is het voor kwaadwillende niet langer mogelijk om DNS-vergiftiging en een Man-in-the-middle-aanval toe te passen. Doordat DNSSEC te maken heeft met de DNS is dit iets wat je bij de hostingpartij zult moeten toepassen, een WordPress plugin kan dit niet voor je doen.

7. Web Application Firewall (WAF)

Een Web Application Firewall (afgekort WAF) beveiligt websites door HTTP verkeer te monitoren en te filteren. Een goede firewall biedt bescherming tegen aanvallen zoals Cross Site Scripting (XSS) en SQL injectie. Je kunt een WAF zien als een beveiligingsmechanisme welke tussen het internet en de website staat, de bezoeker moet eerst langs de firewall voordat hij of zij de server en dus de website bereikt.

Een WAF maakt gebruik van een reeks regels met daarin bekende kwetsbaarheden en filter mogelijkheden voor het filteren van malafide aanvragen. Er bestaan drie verschillende soorten WAFs, namelijk: netwerk, host en cloud. We zullen in dit artikel niet verder in gaan op de verschillen maar het is wellicht wel interessant om te weten dat een aantal van de eerder genoemde WordPress beveiligingsplugins gebruik maken van cloud based WAFs.

8. CSP headers

CSP staat voor “Content Security Policy” en is een webstandaard welke gebruikt kan worden om cross-site scripting (XSS), clickjacking en andere malafide code injecties te voorkomen. Met een CSP kun je als website eigenaar aangeven vanaf welke bronnen de website informatie mag ophalen en kan toegepast worden op verschillende bestandstype zoals JavaScript, CSS, iframes, afbeeldingen, webfonts maar bijvoorbeeld ook op audio en videobestanden.

Wanneer je een CSP gebruikt stuurt de webserver een zogeheten “Content-Security-Policy header” met elke aanvraag naar bestanden mee. In het onderstaande voorbeeld laten we je zien wat er in zo’n header kan staan.

Content-Security-Policy: default-src 'self'; img-src 'self' wordpress.org;

De default-src 'self'; geeft aan dat we vanaf ons eigen domein de standaard bestanden zoals JavaScript, CSS, iframes, afbeeldingen, webfonts enzovoorts mogen laden. Wanneer we alleen deze regel zouden toepassen zal de webserver geen verzoeken naar bestanden op andere websites meer afhandelen. We kunnen hier wel uitzonderingen opmaken en dat doen we in het voorbeeld door er img-src 'self' wordpress.org; aan toe te voegen. Hiermee zeggen we dat we een uitzondering voor bestanden van het type afbeelding (image) willen maken en deze van zowel ons eigen domein als wordpress.org willen laden.

Met een CSP kunnen we onze website dus restricties opleggen en beschermen tegen het laden van onbedoelde bestanden uit andere bronnen, hiermee kunnen we voorkomen dat hackers via een kwetsbaarheid in onze website malafide scripts proberen te laden.

Op de website content-security-policy.com (Engels) kun je hier meer over lezen en voorbeelden bekijken.

9. Wordress API

De WordPress API is een vaak vergeten onderdeel wanneer het op het beveiligen van een website aankomt. Wist je bijvoorbeeld dat de WP API een aantal publiekelijk benaderbare endpoints heeft? Zo kun je bijvoorbeeld een GET request naar de /wp-json verzenden en een overzicht krijgen van alle beschikbare endpoints in een WordPress website.

{
	"name": "",
	"description": "",
	"url": "",
	"home": "",
	"gmt_offset": 0,
	"timezone_string": "Europe\/London",
	"namespaces": [
		"oembed\/1.0",
		"yoast\/v1",
		"yoast\/v1\/myyoast",
		"wp-super-cache\/v1",
		"regenerate-thumbnails\/v1",
		"wp\/v2"
	],
	"authentication": [],
	"routes": {
       	"\/wp\/v2\/users": {
			"namespace": "wp\/v2",
			"methods": [
				"GET",
				"POST"
			],
			"endpoints": [
				...
			],
			"_links": {
				"self": ""
			}
		},
        ...
    }
}

Hackers kunnen deze informatie gebruiken om te kijken welke plugins je gebruikt maar ook welke endpoints en onderdelen niet goed beschermd zijn of fouten bevatten. Wanneer endpoints niet goed geconfigureerd zijn kan het voor buitenstaanders mogelijk zijn gevoelige informatie op te slaan, te bewerken of te verwijderen.

Uit het bovenstaande voorbeeld kunnen we opmaken dat er een /wp-json/wp/v2/users endpoint bestaat waar we GET en POST verzoeken naar kunnen sturen. Deze staat, hoe vreemd dan ook, standaard open bij WordPress. Het is gelukkig niet mogelijk om zonder toegangsrechten informatie te bewerken en de API geeft ons (normaal gesproken) ook geen extreem gevoelige informatie over een gebruiker.

[
	{
		"id": 1,
		"name": "Triumph",
		"url": "",
		"description": "",
		"link": "https:\/\/...nl\/author\/triumph_123\/",
		"slug": "triumph_123",
		"avatar_urls": {...},
		"meta": [],
		"_links": {
			"self": [
				{
					"href": "https:\/\/...nl\/wp-json\/wp\/v2\/users\/1"
				}
			],
			"collection": [
				{
					"href": "https:\/\/...nl\/wp-json\/wp\/v2\/users"
				}
			]
		}
	},
	{
		"id": 5,
		"name": "Sarah",
		"url": "",
		"description": "",
		"link": "https:\/\/...nl\/author\/sarah\/",
		"slug": "sarah",
		"avatar_urls": {...},
		"meta": [],
		"_links": {
			"self": [
				{
					"href": "https:\/\/...nl\/wp-json\/wp\/v2\/users\/5"
				}
			],
			"collection": [
				{
					"href": "https:\/\/...nl\/wp-json\/wp\/v2\/users"
				}
			]
		}
	}
]

En toch is dit voor hackers waardevolle informatie omdat het gebruikt kan worden bij het uitvoeren van brute force aanvallen, in de meeste gevallen zeggen de name en slug velden iets over de gebruikersnaam. Op deze manier heeft de hacker 50% van de benodigde inloggegevens en kan gerichter een brute force aanval uitvoeren.

Tips bij de Wordpress API:

  • Controleer welke endpoints publiek toegankelijk zijn (plugins kunnen ook endpoints toevoegen)
  • Trek applicatie wachtwoorden in wanneer je geen gebruik maakt van de WP API
  • Scherm indien mogelijk endpoints af of gebruik een security plugin die dit voor je doet

Aanvullende tools

Je kunt de onderstaande tools gebruiken om nog meer inzicht te krijgen in de veiligheid van je website.

internet.nl

Met de test van internet.nl kun je controleren of je website moderne en betrouwbare internetstandaarden gebruikt.

WPScan

WPScan heeft een WordPress plugin en CLI tool waarmee je een security scan op je website kunt uitvoeren en je website kunt controleren op bekende kwetsbaarheden.


Tot slot

We hopen dat de praktische tips in dit artikel je hebben geholpen met het beveiligen van je website. Als laatste willen we je nog meegeven dat de veiligheid van je website een lopend proces is wat je altijd zult moeten bijhouden. Hackers zoeken naar nieuwe kwetsbaarheden en wij als website eigenaren moeten er dus voor zorgen dat we ze altijd een paar stappen voorblijven.

Geef een reactie

Reacties zullen eerst worden gemodereerd, we publiceren je e-mailadres niet.