“Wij hebben Wordfence erop staan, dus dat zit wel goed.” Die zin krijgen wij regelmatig te horen, meestal terwijl er op hetzelfde scherm elf openstaande updates staan. De vraag of een beveiligingsplugin genoeg is, verdient een eerlijker antwoord dan zowel de verkopers als de bangmakers geven: hij doet echt iets, en hij dekt ongeveer een derde van wat er nodig is.

Dit artikel legt uit waar die grens ligt. Niet om beveiligingsplugins af te schrijven, want wij zetten ze zelf op vrijwel elke site die wij beheren, maar omdat het groene vinkje in dat scherm iets suggereert wat het niet waarmaakt.

Wat zo’n plugin wel doet

Laten we eerst eerlijk zijn over de waarde, want die is aanzienlijk. Een fatsoenlijk ingestelde beveiligingsplugin blokkeert geautomatiseerde inlogpogingen, wat verreweg het grootste volume aan aanvalsverkeer is. Hij herkent bekende aanvalspatronen en weert die voordat WordPress ze te zien krijgt. Hij scant bestanden op wijzigingen en op bekende malware. En bij de betaalde varianten krijgt u virtuele patches: regels die aanvallen op een net gepubliceerd lek tegenhouden, ook voordat u heeft bijgewerkt.

Dat laatste is oprecht waardevol. Het koopt u de dagen die u nodig heeft tussen het bekend worden van een kwetsbaarheid en het moment dat u toekomt aan de update. Wat een firewall precies wel en niet tegenhoudt, staat verder uitgewerkt bij de uitleg over wat een firewall voor uw site betekent.

Waar het misgaat: het vinkje

Het probleem zit niet in de plugin maar in wat hij communiceert. U opent het beheerscherm, ziet een groen schild en een tekst dat er geen problemen zijn gevonden. Dat is feitelijk juist: er zijn geen problemen gevonden binnen wat die plugin controleert.

Wat er buiten valt, is precies het lastige deel. De scanner kijkt naar bekende malware, niet naar code die nog nergens is gemeld. Hij ziet niet dat u een plugin gebruikt die al twee jaar niet is bijgewerkt. Hij vertelt niet dat er zes beheerdersaccounts openstaan van mensen die er niet meer werken. En hij weet niet of uw back-up van gisteren daadwerkelijk terug te zetten is.

Dat groene vinkje is dus geen oordeel over uw beveiliging. Het is een oordeel over één laag ervan, en het is precies de laag die het meest geautomatiseerd kan worden.

Wat er hoe dan ook blijft liggen

Zeven dingen die geen enkele plugin voor u regelt.

  • Updates uitvoeren en controleren of er daarna niets stuk is. Automatisch bijwerken kan, maar iemand moet kijken of de bestelknop het nog doet.
  • Beslissen welke plugin weg moet. Een uitbreiding die al een jaar geen update kreeg, is een risico dat groeit. Dat is een keuze, geen scan.
  • De gebruikerslijst opschonen. Wie heeft er rechten en waarom nog.
  • Back-ups testen. Een kopie die nooit is teruggezet, is een aanname.
  • Meldingen daadwerkelijk lezen. De plugin verstuurt ze; iemand moet ze openen en beoordelen.
  • De PHP-versie en de hostingomgeving bijhouden. Verouderde serversoftware krijgt geen beveiligingsupdates meer.
  • Weten wat er is veranderd. Een scanner meldt een gewijzigd bestand, maar alleen iemand die de site kent, weet of dat een update was of iets anders.

Dat is samen ongeveer een uur per maand voor een gemiddelde bedrijfssite. Niet veel, maar het is wel een uur dat iemand moet maken, en dat is precies waar het bij de meeste bedrijven strandt.

De praktijk: waar wij besmettingen zien

Van de gehackte sites die wij de afgelopen jaren hebben opgeruimd, had een fors deel gewoon een beveiligingsplugin actief. In vrijwel al die gevallen kwam de inbraak via een route waar die plugin niets tegen kon: een verouderde uitbreiding met een bekend lek, een beheerdersaccount met een hergebruikt wachtwoord, of een thema uit een gratis downloadsite.

Dat is geen aanklacht tegen de plugin. Het is een aanwijzing dat de resterende risico’s juist zitten in de dingen die menselijke aandacht vragen. Een firewall houdt duizend geautomatiseerde pogingen tegen; hij houdt niet tegen dat iemand met een geldig wachtwoord binnenloopt.

Er is nog een bijeffect dat wij geregeld tegenkomen: het stapelen van pakketten. Twee firewalls tegelijk zitten elkaar in de weg, veroorzaken vreemde storingen en maken de site trager. Meer beveiligingsplugins is niet meer beveiliging; welke pakketten wat doen, staat bij de vergelijking van beveiligingsplugins voor WordPress.

Wat wel werkt

Zie de plugin als het slot en het onderhoud als het beleid. Een slot zonder beleid betekent dat de deur op slot zit terwijl er zeven sleutels rondslingeren en het raam openstaat.

De combinatie die in de praktijk het verschil maakt is niet ingewikkeld. Actuele software, en dan bedoelen wij maandelijks in plaats van jaarlijks. Zo min mogelijk plugins, en alleen die onderhouden worden. Unieke wachtwoorden met tweestapsverificatie op elk beheerdersaccount. Weinig accounts met veel rechten. Een back-up die buiten de server staat en waarvan één keer is teruggezet. En iemand die meldingen leest.

De beveiligingsplugin hoort daar gewoon bij, als een van de zes. Hij is niet overbodig; hij is alleen niet het geheel.

Voor wie is een plugin alleen wel genoeg?

Nuance hoort erbij, want er zijn situaties waarin het volstaat. Heeft u een eenvoudige site met vier pagina’s, drie plugins en één beheerder, en werkt u die zelf elke maand bij, dan is een goed ingestelde beveiligingsplugin plus een externe back-up een redelijke opzet. U bent dan zelf de menselijke laag.

Het kantelt zodra er meerdere mensen toegang hebben, zodra er een webshop of een ledenomgeving bij komt, of zodra u merkt dat het bijwerken er structureel bij inschiet. Dat laatste is het eerlijkste criterium: staat er op dit moment meer dan een handvol updates open, dan is er geen beleid en dan compenseert geen enkele plugin dat.

Voor die situaties bestaat het combineren van bescherming met doorlopend beheer, waarbij de plugin het volume wegvangt en een mens de keuzes maakt. Bij WebMaintor is dat precies de reden dat wij nooit alleen een beveiligingspakket installeren en het daarbij laten.

Concrete volgende stap: open uw beheerscherm en kijk naast het groene vinkje van uw beveiligingsplugin naar het aantal openstaande updates. Die twee getallen naast elkaar vertellen u binnen tien seconden hoe uw site er werkelijk voor staat.