Waarom zou je alle internetgebruikers wereldwijd de mogelijkheid geven om in te loggen op een beheeromgeving voor databases? Misschien voor ontwikkel- en testdoeleinden, maar niet voor productie… toch? Wij vonden 700 unieke installaties van databasebeheertool phpMyAdmin bij de overheid, cybersecuritybedrijven, politieke partijen, de zorg, gemeenten en andere door ons gemeten sectoren. De meeste zijn niet bijgewerkt naar de laatste versie; er zitten zelfs bekende kwetsbaarheden in.
Basisbeveiliging waarschuwt sinds 2023 voor het gebruik van phpMyAdmin op openbare plekken, omdat het de verkeerde plaats om deze software in te zetten. Een oordeel bleef echter uit: het kwam niet terug in de rapporten op Basisbeveiliging. Dat is nu aangepast. Wij meten op phpMyAdmin nu met tweedaagse controles. Organisaties die phpMyAdmin openbaar aanbieden, staan vanaf nu op rood.
In dit artikel wordt uitgelegd waarom het openbaar aanbieden van phpMyAdmin lastig te verdedigen is. Dat komt niet alleen door het opzettelijke verschil in interpretatie van normen, maar ook omdat gebruikers er niet voor betalen. Er is dus geen financiële borging dat de software veilig is, terwijl organisaties wel van deze veiligheid afhankelijk zijn. Tot slot wordt met voorbeelden getoond waar phpMyAdmin staat en welke versies gebruikt worden.
Wil je de coole sticker in de kop van het artikel? Om bij de rijksoverheid aandacht te vragen voor dit onderwerp hebben we deze parodie-sticker gemaakt. Het combineert de beeldmerken van het rijk en phpMyAdmin en laat zien dat de overheid leunt op deze software. De sticker is te krijgen zolang de overheid phpMyAdmin blijft gebruiken en er niet voor betaalt. Lees hier hoe je ze krijgt.
Vind je transparantie, veiligheid, soevereiniteit, toegankelijkheid en privacy belangrijk? Word dan deelnemer van de Internet Cleanup Foundation en ondersteun onze missie om het internet transparant te maken. We meten al meer dan 10.000 organisaties en 300.000 adressen en maken deze informatie beschikbaar voor iedereen. Meer over deelnemerschap.
Lastig te verdedigen
Met phpMyAdmin worden databases beheerd: ontwikkelaars en beheerders krijgen direct toegang tot ruwe informatie in de database, wat hoger liggende applicatielogica/permissies omzeilt. Als je eenmaal bent ingelogd, zijn er vaak weinig remmen: alles kan en mag. Voor ontwikkelaars is het een geweldige tool om op systeemniveau zaken aan te passen en te onderzoeken: dat is precies waar phpMyAdmin voor is bedoeld.
phpMyAdmin is een krachtig middel: iedereen wereldwijd de kans geven om het te mogen gebruiken is daarom niet de bedoeling. We meten dat er nu 700 unieke installaties openbaar bereikbaar zijn, verdeeld over 2000 domeinen. Aan hardening ontbreekt het vaak: niet alleen zien we de software; in 62% is het een oudere versie met kwetsbaarheden en mogen willekeurige bezoekers pogingen doen om in te loggen (of het te kraken). Wie echter niet zo technisch is, pakt gewoon een bak popcorn, wacht op de volgende ernstige kwetsbaarheid en downloadt daarna alles. Aanvallers hebben sinds jaar en dag overzichten klaarliggen van installaties van phpMyAdmin.
Het is lastig om argumenten te verzinnen waarom phpMyAdmin openbaar beschikbaar moet zijn. Het enkel leunen op de interne verdedigingsmechanismen van phpMyAdmin is een schraal beveiligingsmodel. Beveiligingsnormen zoals ISO27002 of de Baseline Informatiebeveiliging Overheid zijn zo geschreven dat alles kan, als je er maar over nadenkt. In ISO27002 staan de volgende aanbevelingen over middelen als phpMyAdmin:
- Gevoelige toepassingen moeten geïsoleerd worden (27002 – 8.3e),
- Overbodige functies moeten uitgezet zijn (27002 – 8.9c) en
- Toegang tot krachtige systeemhulpmiddelen moet worden beperkt (27002 – 8.9d).
Onze conclusie is dat er geen aanknopingspunten zijn om dit soort krachtige beheersmiddelen openbaar aan te bieden. Hiervan afwijken vereist waarschijnlijk schriftelijke verantwoording binnen een organisatie; wij vragen ons af of dat überhaupt gebeurt. Wij vragen ons ook af of het gebruik van phpMyAdmin gedekt is onder een cyberverzekering.
Voorbeeld: phpMyAdmin naast een WordPress-website. phpMyAdmin werkt om beveiligingen van WordPress heen, want een ingelogde gebruiker kan alle gebruikersnamen en (versleutelde) wachtwoorden van WordPress-gebruikers in de database zien, terwijl WordPress dat afschermt. Het aanvalsoppervlak en daardoor de kans dat er wordt ingebroken, wordt nodeloos vergroot. phpMyAdmin kan andere en zelfs zwakkere inlogeisen hebben dan WordPress. Beide pakketten zijn voor aanvallers interessante doelwitten om op in te breken.
Het gat tussen gratis en aanbesteden
Kostenbesparing is een belangrijke reden om phpMyAdmin te gebruiken. In beginsel is het gratis, omdat het open source is. Het gebruik ervan hoeft niet te worden aanbesteed, tot blijdschap van iedereen. Het verschil tussen aanbesteden en niets betalen is groot: ten minste 30.000 euro per jaar per organisatie per product. Voor opensourceprojecten is dat verschil snel een enorm bedrag.
Het is onredelijk te verwachten dat iets veilig is zonder erin te investeren. Het is logisch het onderhoud en de veiligheid van gebruikte software te willen borgen. Het bedrijfsmodel van phpMyAdmin is sponsoring. Wie zoekt naar Nederlandse organisaties op de sponsorpagina, ziet er twee: prijsvergelijken.nl en autonomer.nl. Deze twee bedrijven dragen financieel de gehele veiligheid van phpMyAdmin voor Nederland. Geen overheid, school, zorginstelling of beveiligingsbedrijf betaalt. Is dat slim?
Wij vermoeden dat de oorzaak zit in twee dingen: regels en cultuur.
Kleine bedragen uitgeven in een grotere organisatie is een duur en eerloos traject. Iemand zei ons laatst dat deelnemer worden van ICF te weinig kost, waardoor inkopers er geen zin in hebben. Als je dan toch door meerdere lagen bureaucratie heen moet, wil je bedragen waaraan je tijdsverantwoording of status kunt ontlenen. Daarnaast is het vanuit de Nederlandse cultuur vreemd om te betalen voor iets dat je gratis krijgt. Voor armlastigen is dat begrijpelijk, maar niet voor organisaties waar aanbestedingen de norm zijn. Wij zien dus een soort onbewust bedelgedrag bij professionele organisaties. Dit is voor iedereen ongewenst, er moet dus iets veranderen.
Het moet vanzelfsprekend zijn om alle gebruikte opensourceprojecten jaarlijks te betalen. Dan zou Nederland jaarlijks enkele tonnen in de kas van het phpMyAdmin project storten. Uiteindelijk helpen organisaties daarmee vooral zichzelf: software wordt onderhouden en stijgt in kwaliteit, betrouwbaarheid en veiligheid. Misschien is het belangrijkste dat het aantal aanbestedingen daardoor op lange termijn zakt.
Waar is het geïnstalleerd?
Installaties komen in alle sectoren voor. We zien relatief hoge concentraties aan installaties van phpMyAdmin in drie sectoren.
- We zien dat 2,14% van de IP-adressen van GGZ’s phpMyAdmin bevat. Mocht de instelling data van aanmeldformulieren of IP-adressen van bezoekers opslaan, dan betekent de aanwezigheid van phpMyAdmin dat het risico op het uitlekken van deze privacygevoelige data verdubbelt: eenmaal via de website en eenmaal via phpMyAdmin.
- De hostingsector heeft op 4,87% van haar IP-adressen een phpMyAdmin staan. Dit is veelal bedoeld voor sites van klanten, waar niet of nauwelijks eisen aan te stellen zijn. Deze sector zonderen we daarom uit van beoordeling op phpMyAdmin. Voor andere sectoren, zoals Managed Service Providers (1,84%), zijn er wel verwachtingen.
- Voortgezet en primair onderwijs hebben een relatief hoge concentratie aan phpMyAdmin. Op sommige IP’s staan soms meer dan 50 websites. Het gaat hier duidelijk om beheergemak van de leverancier. De hoge concentratie installaties heeft mogelijk te maken met kostenefficiëntie.
In onderstaande tabel staat hoeveel unieke installaties per sector werden gevonden. Een installatie wordt in totaal één keer geteld en wordt alleen op IP-adres gemeten. Er zijn 679 unieke installaties, die samen op 2.000 domeinen zijn te vinden.
| Sector | Subsector | Unieke installaties | Op percentage ip’s |
|---|---|---|---|
| Overheid | Overheid | 86 | 0,55% |
| Overheid | Provincies | 13 | 1,52% |
| Overheid | Waterschappen | 2 | 0,33% |
| Overheid | Gemeente | 102 | 1,30% |
| Overheid | Veiligheidsregio’s | 1 | 0,23% |
| Commerciëel | Cybersecurity bedrijven | 23 | 0,48% |
| Politieke partijen | Politieke partijen | 23 | 1,80% |
| Onderwijs | Universiteiten | 41 | 0,43% |
| Onderwijs | Hoger Beroepsonderwijs | 19 | 0,81% |
| Onderwijs | Middelbaar Beroepsonderwijs | 6 | 0,67% |
| Onderwijs | Voortgezet Onderwijs | 101 | 5,27% |
| Onderwijs | Primair Onderwijs | 101 | 4,96% |
| Zorg | Ziekenhuis | 25 | 0,60% |
| Zorg | GGD | 3 | 0,56% |
| Zorg | GGZ | 33 | 2,14% |
| Vitaal / Energie | Energie | 52 | 0,59% |
| Vitaal / Water | Water | 3 | 0,31% |
| Vitaal / Ruimtevaart | Ruimtevaart | 17 | 0,44% |
| Vitaal / Digitaal | Cloud Hoster | 4 | 0,73% |
| Vitaal / Digitaal | Datacenter | 9 | 0,31% |
| Vitaal / Digitaal | DNS Verantwoordelijken | 3 | 0,37% |
| Vitaal / Digitaal | Hosting | 70 | 4,87% |
| Vitaal / Digitaal | Internet Provider | 10 | 0,24% |
| Vitaal / Digitaal | Managed Service Provider | 65 | 1,84% |
| Vitaal / Financiën | Bank (depositogarantiestelsel) | 3 | 0,09% |
| Vitaal / Financiën | Bank (EU op NL markt) | 1 | 0,17% |
| Vitaal / Financiën | Betalingsverwerkers | 2 | 0,07% |
| Totaal installaties | 679 |
Hieronder staat een klein overzicht van webadressen waar phpMyAdmin openbaar wordt aangeboden. Het zijn niet de minste websites; zeker als kenners van deze domeinen zien we sites terug die daar totaal niet thuishoren. Actuele metingen van alle sectoren staan op basisbeveiliging.nl.
| Sector | Voorbeelden |
|---|---|
| Centrale overheid | depolitievrijwilliger.nl, waarborg.nl, www.kbvg.nl, alertonline.nl, digibewust.nl, cyberspiekbrief.nl, onlinetrustcoalition.nl, www.verlorenofgevonden.nl, zelfinspectie.nl, hetdonorregister.nl, dierenartsenregister.nl, big-register.nl, ministerievanvws.nl, medicijnregister.nl, www.inspectiejeugdzorg.nl, www.meldzorgfraude.nl |
| Cybersecuritybedrijven | nederlandscybercollectief.nl, tstc.nl, cybersecurityketen.nl, qdoc.nl, integripro.nl, pinewood.nl, messi.legian.nl, tt3p.nl |
| Poltieke partijen | www.wordlidvandenk.nl, www.spnet.nl, groenlinks-pvda.nl, bvnl.nl, tickets.fvd.nl, mail.pvvn.nl |
| Zorg (Ziekenhuizen en GGD) | lichaamsdonatie.info, gelre-apotheek.nl, mijnslingeland.nl, hetdiakonessenhuis.nl, mscentrum-adrz.nl, laboratorium.rdgg.nl |
Kwetsbare verouderde versies
Wanneer we kijken naar verschillende versies, zien we grote verschillen tussen installaties. In de tabel en grafiek hieronder staat de verdeling van versies over installaties. Samengevat zien we de volgende drie kenmerken:
- Versies van phpMyAdmin lopen van 4.5.4 tot 5.2.3.
- Voor versies tot en met 5.2.2 bestaan bekende kwetsbaarheden, waarvan de laatste is gepubliceerd in januari 2025.
- Ruim een jaar na dato van de laatste beveiligingsupdate zijn 259 van de 680 installaties up-to-date: 38%, 62% loopt dus achter.
| Versie | IP (Count All) |
| 0 | 14 |
| 4.5.4.1deb2ubuntu2.1 | 1 |
| 4.6.6deb5ubuntu0.5 | 4 |
| 4.7.6 | 1 |
| 4.8.2 | 1 |
| 4.8.3 | 1 |
| 4.8.4 | 1 |
| 4.8.5 | 1 |
| 4.9.0.1 | 4 |
| 4.9.1 | 1 |
| 4.9.10 | 20 |
| 4.9.11 | 1 |
| 4.9.2 | 1 |
| 4.9.5 | 28 |
| 4.9.5deb2 | 5 |
| 4.9.7 | 44 |
| 5.0.1 | 1 |
| 5.0.2 | 2 |
| 5.0.4deb2 | 2 |
| 5.1.0 | 1 |
| 5.1.1 | 8 |
| 5.1.1deb5ubuntu1 | 8 |
| 5.1.3 | 16 |
| 5.2.0 | 53 |
| 5.2.1 | 93 |
| 5.2.1-1.el8.remi | 1 |
| 5.2.1deb1 | 6 |
| 5.2.1deb3 | 6 |
| 5.2.2 | 93 |
| 5.2.2deb1 | 2 |
| 5.2.3 | 242 |
| 5.2.3-1.el8.remi | 17 |
| i | 1 |
| Eindtotaal (met off-by-one fout) | 680 |
Verantwoording
Wij hebben alle domeinen op Basisbeveiliging gescand op de aanwezigheid van phpMyAdmin. Het kan zijn dat een organisatie in meerdere sectoren voorkomt; in dat geval hebben we de eerste sector gepakt. Dat heeft een kleine afwijking in de cijfers veroorzaakt. Een eerdere versie van dit artikel was opgesteld aan de hand van phpMyAdmin-installaties per domein: dat gaf dezelfde conclusies wat betreft toepassing in sectoren met iets grotere getallen. Wij hebben gekozen om op basis van het IPv4-adres en de poorten 443 en 8443 een vergelijking te maken, omdat dit meer overeenkomt met de hoeveelheid werk die verricht moet worden om de installaties op te ruimen.
Via onze API is het mogelijk om zelf actuele overzichten samen te stellen.
Onder de spelregels van Coordinated Vulnerability Disclosure van het NCSC mag iedereen proberen in te loggen op Nederlandse systemen. Een succesvolle poging moet echter gemeld worden als kwetsbaarheid. Wij hebben tijdens dit onderzoek niet geprobeerd in te loggen op openstaande installaties.






