Het principe is eenvoudig: je zet iets klaar dat geen enkele legitieme gebruiker reden heeft om aan te raken. Elke interactie met dat lokaas is dus per definitie verdacht, en dat levert een signaal op met bijna geen valse positieven. De beveiligingswoordenlijst van de IETF (RFC 4949) beschrijft een honeypot als een systeem of hulpmiddel dat indringers moet aantrekken, zoals honing beren lokt. In het Nederlands wordt vrijwel altijd de Engelse term gebruikt.
De verschillende soorten honeypots
- Netwerk- of serverhoneypot: een geïsoleerde machine die een kwetsbare dienst nabootst (SSH, database, webserver). Onderzoekers en securityteams gebruiken ze om de tools en werkwijzen van aanvallers te bestuderen.
- Lage of hoge interactie: een honeypot met lage interactie simuleert alleen de buitenkant van een dienst; een honeypot met hoge interactie biedt een echt systeem, dat meer informatie oplevert maar riskanter is als het slecht geïsoleerd is.
- Valadres op een website: een URL die alleen bots opvragen, zoals
/.env,/phpmyadminof/administrator/op een site die geen Joomla! is. - Valveld in een formulier: een veld dat met CSS verborgen is, zodat een mens het niet ziet, maar een spambot het wel invult. Het bericht wordt dan genegeerd, zonder dat er een CAPTCHA nodig is.
Hoe een bottenval werkt
Aanvalsbots scannen het internet met lijsten van bekende adressen: vergeten configuratiebestanden, beheertools, inlogpagina's van andere CMS'en. Een site die geen van die adressen heeft, kan ze als sensor gebruiken. Het antwoord blijft een gewone 404-fout, maar elk verzoek wordt geteld. Boven een bepaalde drempel kan het IP-adres een tijdje worden geblokkeerd: een mens loopt niet in meerdere vallen achter elkaar, een scanner wel.

Wil je weten welke adressen je moet bewaken, lees dan gewoon je eigen logbestanden: ons artikel over scanbots in de serverlogs bespreekt de meest voorkomende verzoeken en hoe je erop reageert.
Voor WordPress
Op een WordPress-site zijn de veelzeggendste vallen de adressen die je zelf hebt afgesloten: wp-login.php nadat je de inlogpagina hebt verplaatst, xmlrpc.php zodra XML-RPC geblokkeerd is, /?author= wanneer gebruikersenumeratie is uitgeschakeld. Een bot die op die adressen blijft aandringen, bereidt bijna altijd een brute-force-aanval voor.
- Blokkeer nooit op basis van een enkele val: een kapotte link of een audittool kan een vals alarm veroorzaken.
- Zit je achter een CDN of proxy, zorg dan dat het echte IP-adres van bezoekers wordt hersteld, anders deelt iedereen het adres van de proxy.
- Vermeld de logbestanden in je privacyverklaring en beperk hoe lang je ze bewaart.
Grenzen
Een honeypot detecteert bots en kan ze weren, maar dicht geen enkel lek. Een aanvaller die rechtstreeks een bekende kwetsbare plugin aanvalt, hoeft niet langs een valadres. Een honeypot vervangt ook geen web application firewall en geen bescherming tegen gedistribueerde aanvallen.
De module Robotvallen van WP Masquerade telt gratis de bots per familie (lekken van het nagebootste CMS, gevoelige bestanden, afgesloten WordPress-adressen). De Pro-versie voegt blokkering toe na een zelfgekozen aantal vallen (drie aanbevolen), een logboek van 30 dagen met ingekort IP-adres en nep-inlogpagina's van Joomla! en Drupal. Pagina's die al in de cache staan, worden nog steeds aan een geblokkeerde bot geserveerd.