Direct naar de inhoud

Cookie-instellingen

Kies per soort welke cookies je toestaat. Je kunt je keuze altijd wijzigen via Cookie-instellingen onderaan elke pagina. Privacyverklaring

Noodzakelijk

Altijd aan

Nodig om in te loggen, je winkelwagen te bewaren en je keuzes te onthouden. Deze staan altijd aan.

Welke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: je sessie en ingelogd blijven
  • weboke_basket: je winkelwagen
  • wkBtwIncl: prijzen met of zonder btw tonen
  • wok_cookies: je cookiekeuze, 12 maanden

Meet welke advertentie tot een bezoek of bestelling leidt, zodat we niet betalen voor advertenties die niets doen.

Welke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), tot 90 dagen
  • OpenAI Ads, advertenties in ChatGPT
  • wok_aff: via welke partner je bij ons kwam (affiliateprogramma), 60 dagen

4,6

Land en taal

Elk land heeft zijn eigen site, met prijzen en btw van dat land.

Bekijken

Module 7 · 7.1

Nederlands

Hoe websites gehackt worden

Module 7: Beveiliging · Leestijd: 8 minuten

Leerdoel: Na deze les kun je realistisch uitleggen hoe WordPress-sites meestal gehackt worden, waarom kleine sites ook doelwit zijn en wat inbrekers ermee willen.

Kernbegrippen: kwetsbaarheid, lek in plugin of thema, automatische scans, credential stuffing, brute force, nulled software, besmette computer, gevolgen (spam, doorsturen, phishing, malware), aanvalsoppervlak

"Mijn site is te klein om interessant te zijn"

Dat is de meest gehoorde misvatting. Bijna geen enkele WordPress-hack is gericht op één bepaalde site. Inbrekers gebruiken programma's die automatisch duizenden sites per uur aflopen en zoeken naar één ding: een bekende zwakke plek. Vindt het programma die, dan breekt het in, ongeacht of de site van een multinational of van de plaatselijke voetbalclub is.

Wat ze willen, is niet jouw site, maar wat je site kan:

  • Spam en zoekmachinemisbruik: duizenden verborgen pagina's of links voor medicijnen, gokken of nepwinkels, die meeliften op de goede naam van je domein bij Google.
  • Doorsturen: bezoekers (vaak alleen die van Google of op een telefoon) worden naar een nepsite of oplichterspagina gestuurd. Jij ziet niets, want jij komt via een bladwijzer.
  • Phishing: een nagemaakte inlogpagina van een bank of bezorgdienst, verstopt in je map uploads, met jouw domeinnaam in de link.
  • Malware verspreiden naar bezoekers.
  • Mail versturen: je server verstuurt spam, en daarna komt je eigen mail niet meer aan.
  • Rekenkracht: je pakket wordt gebruikt voor aanvallen op andere sites of voor het delven van cryptomunten.
  • Gegevens: bij een webwinkel of ledensite de gegevens van je klanten.

Ingang 1: een lek in een plugin of thema

Dit is verreweg de belangrijkste. Volgens het jaarrapport van Patchstack, een bedrijf dat WordPress-lekken bijhoudt, werden er in 2024 7.966 nieuwe kwetsbaarheden in het WordPress-ecosysteem gevonden. 96% zat in plugins, 4% in thema's, en in WordPress zelf maar zeven. De meeste lekken zijn niet zomaar te misbruiken, maar een deel wel, en die worden binnen uren of dagen na bekendmaking massaal gescand.

Het patroon is bijna altijd hetzelfde:

  1. Er wordt een lek gevonden in versie 3.2 van een populaire plugin.
  2. De maker brengt versie 3.2.1 uit met een reparatie. Het lek wordt openbaar.
  3. Binnen korte tijd scannen programma's het internet af naar sites met versie 3.2 of ouder.
  4. Wie nog niet heeft bijgewerkt, wordt binnengedrongen.

Het gevaar zit dus niet in een geheim lek dat niemand kent, maar in een bekend lek waarvoor al een update is die niet is geïnstalleerd. Daarom zijn updates (les 7.2) de allerbelangrijkste maatregel, en verwijder je wat je niet gebruikt (les 5.4): elke plugin die er staat, ook gedeactiveerd, vergroot je aanvalsoppervlak.

Een bijzonder geval zijn verlaten plugins: de maker is gestopt, er komen geen reparaties meer. En nulled software (les 5.3): een gestolen kopie van een betaalde plugin, vaak met een ingebouwde achterdeur.

Ingang 2: wachtwoorden

De tweede grote ingang is inloggen met een geldig wachtwoord:

  • Credential stuffing: bij een datalek van een andere dienst zijn miljoenen combinaties van e-mailadres en wachtwoord uitgelekt. Programma's proberen die combinaties op allerlei sites, waaronder WordPress-inlogpagina's. Gebruik je hetzelfde wachtwoord als bij die gelekte dienst, dan zijn ze binnen.
  • Brute force: een programma probeert gewoon heel veel wachtwoorden, vaak met veelgebruikte gebruikersnamen als admin. Met een lang, uniek wachtwoord is dat kansloos, maar het kost je server wel rekenkracht.
  • Phishing: een nepmail "je WordPress moet worden bijgewerkt, log hier in" met een link naar een nagemaakte inlogpagina.

Les 7.3 gaat over de verdediging: wachtwoordmanager, tweestapsverificatie en het beperken van inlogpogingen.

Ingang 3: alles om WordPress heen

Niet elke hack begint in WordPress:

  • Een besmette computer van jou of van je webbouwer, met een programma dat wachtwoorden steelt, bijvoorbeeld de wachtwoorden die in een FTP-programma zijn opgeslagen.
  • Gewone FTP zonder versleuteling, op een openbaar netwerk.
  • Een andere site in hetzelfde pakket: een vergeten oude testinstallatie, een oude Joomla in een submap. Alle sites in één pakket delen meestal dezelfde gebruiker op de server. Wordt de oude site gehackt, dan kan de inbreker ook bij je WordPress.
  • Een gelekt databasewachtwoord, bijvoorbeeld via een kopie van wp-config.php in de webmap (les 1.3).
  • Formulieren zonder controle die misbruikt worden om spam te versturen.

Bij een goede hoster is je pakket afgeschermd van dat van andere klanten op dezelfde server (bij DirectAdmin-servers met CloudLinux bijvoorbeeld met CageFS). Wat binnen je eigen pakket gebeurt, blijft wel jouw zaak.

Wat je ervan merkt (en wat niet)

Een goede hack merk je in eerste instantie niet. Inbrekers willen je site zo lang mogelijk gebruiken. Signalen (les 7.5 gaat erop in):

  • Google meldt "Deze site is mogelijk gehackt", of je ziet vreemde pagina's van je domein in de zoekresultaten (zoek eens op site:example.com);
  • bezoekers melden dat ze ergens anders uitkomen;
  • er staan beheerders of bestanden die je niet kent;
  • je hoster of een malwarescanner meldt iets;
  • je mail komt opeens niet meer aan, of je pakket zit vol of is traag.

Verdediging in lagen

Geen enkele maatregel is waterdicht. Beveiliging is een stapeling van lagen, zodat een fout in de ene laag niet meteen alles openzet:

  1. Bijwerken (les 7.2): sluit de bekende lekken. Verreweg het belangrijkste.
  2. Weinig onderdelen (les 5.3 en 5.4): minder om bij te werken, minder lekken.
  3. Inloggen afschermen (les 7.3): lange unieke wachtwoorden, tweestapsverificatie, minste rechten (les 3.3).
  4. Verharden (les 7.4): rechten, instellingen en headers die schade beperken.
  5. Back-ups (les 8.1): als het toch misgaat, kun je terug.
  6. Weten wat je doet als het misgaat (les 7.5).

Samenvatting

  • Bijna alle hacks zijn automatisch en niet gericht; kleine sites zijn net zo goed doelwit.
  • Inbrekers willen wat je site kan: spam, doorsturen, phishing, mail, rekenkracht, gegevens.
  • De grootste ingang is een bekend lek in een plugin of thema waarvoor al een update was (in 2024 zat 96% van de nieuwe kwetsbaarheden in plugins).
  • De tweede ingang zijn wachtwoorden: hergebruikt, geraden of afgevist.
  • Ook een besmette computer, gewone FTP of een vergeten oude site in hetzelfde pakket kan de ingang zijn. Verdedig in lagen.

Quiz

1. Waarom is een kleine verenigingssite ook een doelwit?



2. Waar zitten volgens de jaarcijfers van Patchstack verreweg de meeste nieuwe kwetsbaarheden in het WordPress-ecosysteem?



3. Wat is credential stuffing?



4. Je hebt naast je WordPress-site een oude testinstallatie in een submap staan die je al jaren niet hebt bijgewerkt. Waarom is dat een risico voor je echte site?



Opdracht

Opdracht D7.1: Je eigen risicolijst. Maak een lijst van alles in je hostingpakket dat een ingang kan zijn: elke WordPress-installatie (ook test- en oude sites), elke plugin en elk thema (ook inactief), elk account met beheerrechten (WordPress, FTP, het hostingpaneel), en de computers waarvan wordt ingelogd. Zet bij elk onderdeel: wanneer voor het laatst bijgewerkt, nog nodig (ja/nee), en wie verantwoordelijk is. Vink aan welke drie dingen je deze week opruimt of bijwerkt en noteer waarom juist die.

Opdracht D7.1: Je eigen risicolijst

Deze opdracht doe je zelf; niemand kijkt hem na. Vink af wat je gedaan hebt en markeer de opdracht als gedaan.



Je vinkjes en aantekeningen blijven alleen in deze browser; we sturen ze nergens heen. Ben je aangemeld, dan bewaren we in Mijn cursussen alleen dat je de opdracht gedaan hebt.

Verder lezen

Deze artikelen beschrijven de stappen in de panelen van WebOké; in andere panelen werken ze vergelijkbaar.

Even geduld…

Stel je domeinen in

Regel per domein de nameservers, de koppeling aan je hosting en wie de eigenaar wordt.

Je domeinen laden…