Actuele situatie: PHP2Shell. Twee kritieke PHP-kwetsbaarheden (CVSS 9.2) maken schadelijke code zonder inloggen mogelijk. Patches sinds 21-10-2026.Wat u nu moet doen →

Woordenlijst: PHP en IT-beveiliging

125 vakbegrippen in heldere woorden, telkens met een verwijzing naar de passende vakpagina.

#

2FA
2FA (tweestapsverificatie) vraagt bij het inloggen naast het wachtwoord een tweede bewijs, bijvoorbeeld een code uit een app of een beveiligingssleutel. Een gestolen wachtwoord alleen volstaat dan niet meer. Voor alle beheerderstoegangen tot CMS, hostingpaneel en servers zou 2FA standaard moeten zijn. Tweefactorauthenticatie voor beheertoegangen instellen →
3-2-1-back-up
De 3-2-1-regel adviseert drie kopieën van de gegevens op twee verschillende opslagmedia, waarvan één op een andere locatie. Minstens één kopie moet vanaf de server niet te wijzigen zijn, zodat aanvallers haar niet kunnen verwijderen of versleutelen. Een back-up telt pas als het terugzetten is getest. Back-upstrategie voor servers: back-ups volgens de 3-2-1-regel →

A

Apache
De Apache HTTP Server is een van de oudste en meest verbreide webservers. PHP draait daarin ofwel als module (mod_php) ofwel via PHP-FPM met FastCGI. Met .htaccess-bestanden kan de configuratie per map worden aangepast. Apache met mod_php beveiligen →
AVG art. 33
Art. 33 AVG verplicht verwerkingsverantwoordelijken een inbreuk op de beveiliging van persoonsgegevens zo mogelijk binnen 72 uur na het bekendworden te melden aan de bevoegde toezichthouder. De plicht vervalt alleen als de inbreuk waarschijnlijk geen risico voor de betrokkenen inhoudt. In een concreet geval adviseren functionarissen voor gegevensbescherming of advocaten. AVG-meldplicht: 72 uur na het incident →
AVG art. 34
Art. 34 AVG regelt de kennisgeving aan de betrokken personen zelf. Ze is nodig wanneer een datalek waarschijnlijk een hoog risico voor hun rechten en vrijheden inhoudt. Of dat het geval is, moet met functionarissen voor gegevensbescherming of advocaten worden beoordeeld. AVG-meldplicht: 72 uur na het incident →

B

Backdoor
Een backdoor (achterdeur) is een verborgen toegang waarlangs aanvallers na een inbraak kunnen terugkeren. Dat kan een bestand, een beheerdersaccount, een cronjob of een SSH-sleutel zijn. Daarom hoort bij elke opschoning het zoeken naar alle soorten toegangen, niet alleen naar bestanden. WordPress-backdoor vinden: achterdeurtjes systematisch opsporen →
Backport
Een backport brengt een beveiligingscorrectie over naar een oudere programmaversie, zonder over te stappen op de nieuwe versie. Linuxdistributies en hostingproviders doen dat vaak; het getoonde versienummer blijft dan gelijk. Of een backport is doorgevoerd, blijkt uit de pakket-changelog en de bevestiging van de aanbieder, niet uit het nummer. PHP-upgrade of backport? De keuze voor oude systemen →
Beveiligingsheaders
Beveiligingsheaders zijn HTTP-antwoordkoppen die de browser beschermingsregels meegeven, bijvoorbeeld Content-Security-Policy, Strict-Transport-Security of X-Content-Type-Options. Ze beschermen bezoekers tegen bepaalde aanvallen in de browser. Tegen kwetsbaarheden op de server zoals PHP2Shell helpen ze niet. Security headers voor websites: beveiligingsheaders correct instellen →
Bewijsveiligstelling
Bewijsveiligstelling betekent sporen van een incident veiligstellen voordat ze door opschoning, herstart of herinstallatie verloren gaan. Daartoe horen logbestanden, images van gegevensdragers en, afhankelijk van het geval, het werkgeheugen. De vakpers adviseert na PHP2Shell serverlogs vanaf 20-10-2026 te bewaren. Bewijs veiligstellen voordat u de server opnieuw opzet →
Brute force
Bij een brute-forceaanval probeert een aanvaller geautomatiseerd veel wachtwoorden voor een account uit. Doelwit zijn vaak beheerderslogins van CMS'en, SSH of FTP. Bescherming bieden sterke wachtwoorden, tweestapsverificatie en automatische blokkades zoals Fail2ban. Beheerlogins beschermen tegen brute force: brute-force-bescherming voor elke login →
BSI
Het BSI (Bundesamt für Sicherheit in der Informationstechnik, de Duitse federale dienst voor informatiebeveiliging) is de cyberbeveiligingsautoriteit van de Duitse federale overheid. Het publiceert waarschuwingen, aanbevelingen en standaarden zoals de IT-Grundschutz. Voor PHP2Shell heeft het BSI waarschuwingsniveau 3 (oranje) afgekondigd en directe updates aanbevolen. Wat het BSI over PHP2Shell adviseert →

C

CDN
Een CDN (content delivery network) levert inhoud via veel verspreide servers en staat daarmee vóór de eigenlijke website. Veel CDN's bieden aanvullend WAF-regels, bijvoorbeeld Cloudflare tegen PHP2Shell. De bescherming werkt alleen voor verkeer via het CDN en vervangt geen PHP-update. Cloudflare-beschermingsregels tegen PHP2Shell: wat ze doen en wat niet →
CERT-Bund
CERT-Bund is het Computer Emergency Response Team van de Duitse federale overheid bij het BSI. Het publiceert waarschuwings- en informatiediensten over kwetsbaarheden en stelt netwerkbeheerders op de hoogte van kwetsbare systemen. Ook over PHP2Shell heeft CERT-Bund gewaarschuwd. Wat CERT-EU en CERT-Bund over PHP2Shell adviseren →
CERT-EU
CERT-EU is het cyberbeveiligingsteam voor de instellingen, organen en agentschappen van de Europese Unie. Volgens berichten acht CERT-EU het mogelijk dat bij PHP2Shell versies vanaf PHP 5 zijn getroffen. Het adviseert openbaar bereikbare toepassingen te isoleren als ze niet tijdig kunnen worden gepatcht. Wat CERT-EU en CERT-Bund over PHP2Shell adviseren →
CGI
CGI (Common Gateway Interface) is een oude interface waarbij de webserver voor elk verzoek een extern programma start en de uitvoer daarvan teruggeeft. Ze is eenvoudig maar traag en is voor PHP grotendeels vervangen door FastCGI. Oude CGI-opstellingen vindt u nog op sommige hosting- en Windows-systemen. CGI en FastCGI: de basis →
cgroups
cgroups (control groups) zijn een functie van de Linux-kernel waarmee geheugen, CPU en andere resources voor procesgroepen kunnen worden begrensd. Containers en systemd gebruiken ze, bijvoorbeeld met MemoryMax. php.net adviseert als overgangsmaatregel tegen PHP2Shell een geheugenlimiet via container of cgroup in plaats van via RLIMIT_AS of RLIMIT_DATA. Geheugengrenzen instellen met systemd en cgroups →
Chain of custody
De chain of custody (bewijsketen) documenteert sluitend wie een bewijsstuk wanneer heeft veiliggesteld, overgedragen en bewerkt. Aangevuld met controlesommen toont ze aan dat gegevens niet zijn gewijzigd. Zonder deze documentatie verliezen sporen waarde voor de rechter of tegenover verzekeraars. IT-forensica na een webserveraanval →
Changelog
Een changelog somt de wijzigingen van een programma- of pakketversie op, bij beveiligingscorrecties meestal met het CVE-nummer. Onder Debian en Ubuntu toont apt-get changelog de pakket-changelog, in de RHEL-familie rpm -q --changelog. Zo is een backport ook bij een gelijk versienummer aan te tonen. CVE-nummers aantonen in de pakket-changelog →
CLI
CLI (Command Line Interface) is PHP op de opdrachtregel, bijvoorbeeld voor cronjobs, consoleopdrachten van CMS'en en Composer. De CLI-PHP kan een andere versie zijn dan de PHP die webpagina's levert. De opdracht php -v toont daarom alleen de versie van de opdrachtregel; beide wegen moeten gepatcht zijn. PHP op de opdrachtregel (CLI) →
CloudLinux
CloudLinux is een Linuxdistributie voor shared hosting die klanten in beperkte omgevingen scheidt. Met alt-php biedt ze veel PHP-versies naast elkaar aan, ook oudere. Elk van die versies moet afzonderlijk zijn gepatcht. CloudLinux en alt-php: wat hostingklanten moeten weten →
Command injection
Bij command injection belanden invoergegevens ongecontroleerd in een systeemopdracht die de toepassing uitvoert. De aanvaller kan zo eigen opdrachten starten met de rechten van de webserver. Bescherming bieden het vermijden van shell-aanroepen waar mogelijk en consequent escapen met escapeshellarg(). Command injection in PHP voorkomen →
Composer
Composer is het pakketbeheer van PHP. Het installeert bibliotheken volgens de gegevens in composer.json en legt de exacte versies vast in composer.lock. Met composer audit kunt u geïnstalleerde pakketten controleren op bekende kwetsbaarheden; kwetsbaarheden in PHP zelf vindt de opdracht niet. Composer: het pakketbeheer voor PHP →
Container
Een container is een afgeschermde runtimeomgeving die een toepassing met alle afhankelijkheden vanuit een image start, bijvoorbeeld met Docker. De PHP in de container komt uit het image, niet van het hostsysteem. Een update op de host patcht haar daarom niet; het image moet opnieuw worden gebouwd en de container herstart. PHP in containers draaien →
cPanel
cPanel is een beheerpaneel voor webhosting, met WHM als interface voor de serverbeheerder. PHP-versies worden daar meestal via eigen pakketten (EasyApache) aangeboden. Welke builds zijn gepatcht, bevestigen de pakketstatus en de hostingprovider. cPanel en WHM: PHP beveiligen →
Credential stuffing
Bij credential stuffing proberen aanvallers inloggegevens uit eerdere datalekken bij andere diensten uit. Het werkt omdat veel mensen wachtwoorden meermaals gebruiken. Bescherming bieden unieke wachtwoorden per dienst en tweestapsverificatie. Tweefactorauthenticatie voor beheertoegangen instellen →
Cryptominer
Een cryptominer is schadelijke software die op vreemde servers cryptovaluta berekent. Typische signalen zijn permanent hoge CPU-belasting en onbekende processen. Een miner toont dat een aanvaller code kan uitvoeren; de server moet dan als gecompromitteerd gelden. Cryptominer op de webserver: tekenen en aanpak →
CSP
CSP (Content Security Policy) is een header die vastlegt uit welke bronnen een pagina scripts, afbeeldingen en andere inhoud mag laden. Ze bemoeilijkt XSS en het inbrengen van vreemde scripts, bijvoorbeeld bij skimming. Een strikte CSP moet zorgvuldig worden getest, zodat de website blijft functioneren. Security headers voor websites: beveiligingsheaders correct instellen →
CSRF
CSRF (cross-site request forgery) brengt de browser van een ingelogde gebruiker ertoe ongewild een actie op een andere website uit te voeren. Typisch zijn wijzigingen in beheeromgevingen. Bescherming bieden willekeurige tokens in formulieren en cookies met het SameSite-attribuut. CSRF-bescherming in PHP-applicaties →
CVE
CVE (Common Vulnerabilities and Exposures) is een wereldwijd gebruikt register dat aan elke bekende beveiligingskwetsbaarheid een uniek nummer geeft, bijvoorbeeld CVE-2026-109618. Het nummer maakt meldingen van fabrikanten, overheden en distributies vergelijkbaar. Via het CVE-nummer kunt u ook in de pakket-changelog controleren of een fix is doorgevoerd. CVE-nummers aantonen in de pakket-changelog →
CVSS
CVSS (Common Vulnerability Scoring System) beoordeelt de ernst van een kwetsbaarheid op een schaal van 0 tot 10. De beoordeling houdt er bijvoorbeeld rekening mee of een aanval via het netwerk en zonder inloggen mogelijk is. De PHP2Shell-kwetsbaarheden hebben elk CVSS v4.0 9.2; over het concrete risico in uw omgeving zegt de waarde op zichzelf niets.
Cyberverzekering
Een cyberverzekering dekt afhankelijk van het contract kosten na een aanval, bijvoorbeeld voor forensisch onderzoek, herstel of bedrijfsonderbreking. Veel contracten bevatten verplichtingen zoals tijdige updates en een onmiddellijke melding van de schade. Wat in een concreet geval geldt, bespreekt u met uw verzekeraar. Cyberverzekering: wat telt bij een schadegeval →

D

DDoS
Een DDoS-aanval (distributed denial of service) overbelast een dienst met verzoeken uit veel bronnen tot hij niet meer bereikbaar is. Gegevens worden daarbij doorgaans niet gestolen. Een DDoS moet worden onderscheiden van een exploit, die gericht een kwetsbaarheid uitbuit. DDoS of hackeraanval? Aanvallen juist inschatten →
Defacement
Bij defacement wijzigen aanvallers zichtbaar de startpagina of inhoud van een website, bijvoorbeeld met boodschappen of afbeeldingen. Het valt op, maar is vaak slechts het zichtbare teken van een diepere inbraak. De website moet tot opheldering als gecompromitteerd worden behandeld. Website gehackt, wat nu? Noodhulp op afstand →
Deserialisatie
Deserialisatie zet opgeslagen gegevens terug om in objecten, in PHP bijvoorbeeld met unserialize(). Komen de gegevens van gebruikers, dan kunnen aanvallers objecten zo bouwen dat bij het laden ongewenste code draait. Voor gebruikersgegevens is JSON de veiligere keuze. Onveilige deserialisatie in PHP: unserialize en beveiliging →
disable_functions
disable_functions is een php.ini-instelling waarmee afzonderlijke PHP-functies worden uitgeschakeld, doorgaans functies om systeemopdrachten uit te voeren. Ze kan alleen in de php.ini worden ingesteld, niet in de toepassingscode. Ze maakt het aanvallers lastiger, maar vervangt noch updates noch correcte rechten. PHP disable_functions correct inzetten →
display_errors
display_errors bepaalt of PHP foutmeldingen direct in de browser toont. In productie hoort de waarde op Off te staan; fouten worden dan met log_errors naar een logbestand geschreven. Zichtbare meldingen verraden anders paden, versies en codefragmenten. display_errors off: foutuitvoer in productie uitschakelen →

E

EDR
EDR (endpoint detection and response) is software op servers en werkplekken die processen, bestandstoegang en netwerkverbindingen observeert en verdacht gedrag meldt of stopt. Op webservers kan ze bijvoorbeeld herkennen dat PHP-FPM een shell start. Omdat er voor PHP2Shell geen bevestigde IOC's zijn, is zulke gedragsanalyse extra belangrijk. Waarschuwingssignaal: de webserver start een shell →
Embargo
Een embargo is de afgesproken periode waarin details van een kwetsbaarheid vertrouwelijk blijven tot er patches beschikbaar zijn. Zo kunnen fabrikanten en distributies updates voorbereiden. Bij PHP2Shell werden volgens meerdere berichten details openbaar vóór het einde van het embargo; php.net kondigde de patches daarom op 20-10-2026 aan. Waarom het PHP-lek vóór de patch bekend werd →
End of life
End of life (EOL) betekent dat een softwareversie van de fabrikant geen updates meer krijgt, ook geen beveiligingscorrecties. PHP 8.1 en ouder krijgen van het PHP-project geen officiële updates meer; voor 7.4, 8.0 en 8.1 zijn er alleen minimale backports van de broncode. Systemen met EOL-software hebben een upgradeplan nodig. PHP end of life: risico's van verouderde versies →
Exploit
Een exploit is code of een werkwijze die een concrete kwetsbaarheid daadwerkelijk uitbuit. Zodra een patch verschijnt, kunnen aanvallers die analyseren en er exploits van afleiden. Daarom wordt de tijd tot aanvallen na de publicatie van een patch vaak aanzienlijk korter. Het tijdvenster tussen patch en aanval →
expose_php
expose_php bepaalt of PHP zijn versie verraadt in de HTTP-header X-Powered-By. In productie hoort de instelling op Off te staan, zodat aanvallers niet meteen zien welke PHP-versie draait. Dat is informatiebescherming, geen vervanging van een update. expose_php en Server-header: versiegegevens verbergen →
Extensie
Een extensie breidt PHP uit met functies, bijvoorbeeld voor databases, afbeeldingen of versleuteling. Extensies draaien in hetzelfde proces als PHP en hebben dezelfde rechten. Niet benodigde extensies uitschakelen verkleint het aanvalsoppervlak. PHP-extensies (extensions) begrijpen →

F

Fail2ban
Fail2ban leest logbestanden en blokkeert IP-adressen tijdelijk in de firewall na herhaalde mislukte pogingen. Typische toepassingen zijn SSH, e-mail en beheerlogins van websites. Tegen gedistribueerde aanvallen vanuit veel adressen helpt het maar beperkt. Fail2ban voor webservers instellen →
FastCGI
FastCGI is een protocol waarmee een webserver verzoeken doorgeeft aan permanent draaiende programmaprocessen, bijvoorbeeld aan PHP-FPM. Anders dan bij klassiek CGI wordt niet voor elk verzoek een nieuw proces gestart. Omdat processen meerdere verzoeken na elkaar afhandelen, is een correcte herstart na updates belangrijk. CGI en FastCGI: de basis →
Forensisch onderzoek
IT-forensisch onderzoek onderzoekt na een incident methodisch wat er is gebeurd: hoe de aanvaller binnenkwam, wat hij heeft gedaan en welke gegevens zijn getroffen. Basis zijn veiliggestelde kopieën van gegevensdragers, werkgeheugen en logs. De resultaten zijn belangrijk voor meldplichten, verzekering en aangifte. IT-forensica na een webserveraanval →
FPM-pool
Een pool is een groep PHP-FPM-processen met een eigen configuratie, een eigen socket en idealiter een eigen systeemgebruiker. Een eigen pool per website scheidt de websites van elkaar, zodat een inbraak op de ene site niet direct de bestanden van de andere bereikt. In de pool kunnen instellingen met php_admin_value vast worden voorgeschreven. PHP-FPM-pools per website isoleren →
FrankenPHP
FrankenPHP is een moderne applicatieserver voor PHP op basis van de webserver Caddy. PHP is daar direct ingebed; in de workermodus blijft de toepassing tussen verzoeken in het geheugen. FrankenPHP hoort volgens het PHP-team bij de getroffen uitvoeringsmodi; na de update moet de server met de nieuwe PHP worden herstart. FrankenPHP beveiligen →

G

GHSA
GHSA is de aanduiding van een GitHub Security Advisory, dus een beveiligingsmelding in de database van GitHub. Veel opensourceprojecten, ook PHP, publiceren hun meldingen daar naast het CVE-nummer. Voor PHP2Shell zijn dat GHSA-w8hw-w9fx-j79w en GHSA-6wmf-4rv5-p3rp.

H

Hardening
Hardening betekent een systeem zo instellen dat het zo min mogelijk aanvalsoppervlak biedt: alleen noodzakelijke diensten, beperkte rechten, veilige standaardinstellingen. Bij PHP-servers horen daar bijvoorbeeld aparte pools, geblokkeerde functies en geen PHP-uitvoering in uploadmappen bij. Hardening beperkt schade, maar vervangt geen updates. Serverhardening voor PHP-webservers →
HSTS
HSTS (HTTP Strict Transport Security) is een header waarmee een website de browser meedeelt haar gedurende een bepaalde tijd alleen nog via HTTPS te openen. Dat voorkomt dat verbindingen worden teruggezet naar onversleuteld HTTP. Voordat u het inschakelt, moet HTTPS op alle betrokken domeinen betrouwbaar werken. Security headers voor websites: beveiligingsheaders correct instellen →
.htaccess
.htaccess-bestanden zijn configuratiebestanden per map voor Apache en compatibele servers zoals LiteSpeed. CMS'en gebruiken ze voor doorverwijzingen en toegangsbeveiliging, aanvallers voor verborgen omleidingen. Nginx leest .htaccess niet uit; beschermingsregels moeten daar in de serverconfiguratie. Apache veilig configureren voor PHP →

I

Image-digest
Een image-digest is een hashwaarde (sha256) die de inhoud van een containerimage eenduidig vastlegt. Anders dan een tag zoals php:8.3-fpm, die naar nieuwe builds kan worden verschoven, verandert een digest nooit. Wie images met een digest vastzet, moet die na een beveiligingsupdate bewust bijwerken. Officiële PHP Docker-images: tags, digests en herbouw →
Incident response
Incident response is de geordende afhandeling van een beveiligingsincident: herkennen, indammen, sporen veiligstellen, opschonen, herstellen en nabespreken. Een vastgelegde werkwijze voorkomt dat in de hectiek bewijs wordt vernietigd of achterdeuren over het hoofd worden gezien. Duidelijke verantwoordelijkheden en een sluitende documentatie zijn belangrijk. Incident response bij serveraanvallen →
ini_set()
ini_set() is een PHP-functie waarmee een script instellingen tijdens de uitvoering wijzigt. Wat een script mag wijzigen, hangt af van de wijzigingsmodus van de instelling. Omdat ook schadelijke code ini_set() kan aanroepen, horen beschermende instellingen in de server- of poolconfiguratie, niet in de toepassingscode. De php.ini uitgelegd: opbouw, niveaus en voorrang →
Integriteitscontrole
Bij een integriteitscontrole worden bestanden vergeleken met een bekende oorspronkelijke toestand, meestal via controlesommen. Veel CMS'en bieden daarvoor eigen opdrachten, bijvoorbeeld voor WordPress, Nextcloud of Matomo. Aangepaste bestanden, uploads en database-inhoud worden door zo'n vergelijking niet gedekt. CMS-kernbestanden vergelijken met het origineel →
IOC
IOC (indicator of compromise) zijn concrete sporen van een aanval, zoals bestandsnamen, hashwaarden, IP-adressen of domeinen. Daarmee kunnen systemen gericht op een bekende aanval worden gecontroleerd. Voor PHP2Shell zijn er geen gepubliceerde, bevestigde IOC's; de detectie berust op gedragsanalyse. Ben ik al gecompromitteerd? Tekenen na PHP2Shell →
ISO 27001
ISO/IEC 27001 is de internationale standaard voor managementsystemen voor informatiebeveiliging (ISMS). Ze vraagt om een geregelde omgang met risico's, maatregelen en verbeteringen, inclusief beheer van kwetsbaarheden en incidenten. Bedrijven kunnen zich daarop laten certificeren. ISO 27001 en TISAX: wat webservers raakt →
IT-Grundschutz
De IT-Grundschutz van het BSI is een methodiek met bouwstenen en eisen voor informatiebeveiliging in bedrijven en overheden. Er zijn eigen bouwstenen bijvoorbeeld voor webservers en webtoepassingen. Hij is te gebruiken als basis voor een ISMS of een certificering. CIS-benchmarks en BSI-bouwstenen voor webservers →

J

JIT
JIT (just-in-time-compiler) vertaalt vaak uitgevoerde PHP-code tijdens de uitvoering naar machinecode. Hij kwam met PHP 8.0 en maakt deel uit van OPcache. Voor typische websites is de prestatiewinst meestal gering, voor rekenintensieve taken groter. JIT en prestaties in PHP 8 →

L

Least privilege
Least privilege (principe van minimale rechten) betekent dat elke gebruiker en elk proces alleen de rechten krijgt die echt nodig zijn. Draait PHP met beperkte rechten, dan kan een aanvaller na een inbraak minder aanrichten. Dat geldt voor systeemgebruikers, bestandsrechten, databaseaccounts en beheerderstoegangen. Least privilege: de rechten van de webservergebruiker →
Lessons learned
Lessons learned is de nabespreking van een incident: wat is er gebeurd, wat ging goed, wat moet veranderen? Doel zijn concrete maatregelen met verantwoordelijken en deadlines, geen schuldtoewijzing. De uitkomsten vloeien in noodplan, patchproces en trainingen. Lessons learned: beter worden na het incident →
LFI
LFI (local file inclusion) doet zich voor wanneer een toepassing een lokaal bestand insluit waarvan het pad door de aanvaller kan worden beïnvloed. Zo kunnen configuratiebestanden worden gelezen of onder omstandigheden ingebrachte code worden uitgevoerd. Bescherming bieden vaste toegestane-lijsten in plaats van bestandsnamen uit gebruikersinvoer. Local file inclusion in PHP voorkomen: LFI en RFI →
LiteSpeed
LiteSpeed is een webserver die grotendeels compatibel is met Apache-configuraties zoals .htaccess en PHP aankoppelt via de eigen interface LSAPI. Hij is bij hostingproviders verbreid; OpenLiteSpeed is de vrije variant. LiteSpeed hoort volgens het PHP-team bij de door PHP2Shell getroffen uitvoeringsmodi. LiteSpeed en LSAPI: PHP bijwerken →

M

Managed server
Bij een managed server stelt de aanbieder een eigen server beschikbaar en neemt hij contractueel vastgelegde delen van het beheer over, vaak updates van besturingssysteem en PHP. Wat er precies bij hoort, staat in het contract en verschilt sterk tussen aanbieders. In geval van twijfel moet de verantwoordelijkheid voor patches schriftelijk worden bevestigd. Managed server: verantwoordelijkheid duidelijk maken →
memory_limit
memory_limit begrenst hoeveel werkgeheugen één PHP-script mag gebruiken; standaard is dat 128 MB. Wordt de grens bereikt, dan breekt PHP af met een out-of-memory-fout. Tegen CVE-2026-109618 adviseert php.net tijdelijk memory_limit=-1, vast ingesteld, en een geheugenlimiet via container of cgroup. memory_limit juist instellen →
mod_php
mod_php is de PHP-module voor de Apache-webserver. PHP draait daarbij direct in het Apache-proces en meestal met diens gebruikersrechten. Het PHP-team schat het risico van PHP2Shell bij mod_php het hoogst in; daar is een exploit gedemonstreerd voordat er zelfs maar toepassingscode draait. mod_php uitgelegd: PHP in het Apache-proces →
ModSecurity
ModSecurity is een veelgebruikte opensource-WAF die als module in Apache, Nginx of andere webservers draait. Ze beoordeelt verzoeken aan de hand van regels en kan ze registreren of blokkeren. Meestal wordt ze samen met de OWASP Core Rule Set ingezet. ModSecurity en het OWASP Core Rule Set inzetten →
Monitoring
Monitoring is de doorlopende bewaking van systemen, bijvoorbeeld bereikbaarheid, belasting, logbestanden en bestandswijzigingen. Beveiligingsmonitoring zoekt gericht naar bijzonderheden zoals nieuwe PHP-bestanden of shells die door de webserver worden gestart. Het helpt alleen als iemand de meldingen ook tijdig beoordeelt. Security-monitoring voor webservers →

N

Nginx
Nginx is een veelgebruikte webserver en reverse proxy. Hij voert PHP niet zelf uit, maar geeft verzoeken via FastCGI door aan PHP-FPM. Belangrijk is een configuratie die alleen echte PHP-bestanden aan PHP doorgeeft en uploadmappen uitzondert. Nginx met PHP-FPM beveiligen →
NIS2
NIS2 is een EU-richtlijn die voor veel bedrijven en instellingen verplichtingen voor risicobeheer en het melden van beveiligingsincidenten vastlegt. Ze treft aanzienlijk meer sectoren en bedrijfsgroottes dan de voorgaande regeling. Of uw bedrijf eronder valt, moet u nagaan aan de hand van de nationale omzetting en met juridisch advies. NIS2 en beveiliging van webservers →
Noodplan
Een IT-noodplan legt vast wie bij een incident wat doet: contacten, beslislijnen, eerste stappen, herstart van de bedrijfsvoering. Het moet ook offline beschikbaar zijn voor het geval systemen uitvallen. Regelmatige oefeningen laten zien of het in een noodgeval werkt. IT-noodplan voor webservers opstellen →

O

OPcache
OPcache is de meegeleverde bytecodecache van PHP. Ze slaat reeds vertaalde code op in het gedeelde geheugen, zodat PHP-bestanden niet bij elk verzoek opnieuw worden gecompileerd. Na een update of opschoning moet de cache worden geleegd of PHP worden herstart, anders kan oude code blijven draaien. OPcache uitgelegd: de bytecodecache van PHP →
open_basedir
open_basedir beperkt tot welke mappen PHP-scripts met bestandsfuncties toegang hebben. Op servers met meerdere websites voorkomt dat dat de ene site zomaar de bestanden van een andere leest. Volledige isolatie is het niet; aparte systeemgebruikers en FPM-pools horen erbij. open_basedir en isolatie per website →
Origin-server
De origin-server is de eigenlijke webserver achter een CDN of reverse proxy. Is hij ook rechtstreeks via zijn IP-adres bereikbaar, dan kunnen aanvallers de voorgeschakelde bescherming omzeilen. Daarom moet de origin alleen verbindingen van het CDN of de proxy accepteren. Cloudflare-beschermingsregels tegen PHP2Shell: wat ze doen en wat niet →
Out of memory
Out of memory is de toestand waarin een programma geen extra geheugen meer krijgt en moet stoppen. In PHP gebeurt dat wanneer memory_limit wordt overschreden. Bij CVE-2026-109618 kan zo'n afbreking PHP onderbreken terwijl verzoekgegevens maar gedeeltelijk zijn geïnitialiseerd. memory_limit en out-of-memory: wat er van binnen gebeurt →
OWASP CRS
De OWASP Core Rule Set (CRS) is een vrij beschikbare regelset voor ModSecurity en compatibele WAF's. Hij herkent typische aanvalsklassen zoals SQL-injectie of command injection. De regels moeten op de toepassing worden afgestemd, anders blokkeren ze ook legitieme verzoeken. ModSecurity en het OWASP Core Rule Set inzetten →
OWASP Top 10
De OWASP Top 10 is een regelmatig bijgewerkte lijst van de belangrijkste risico's voor webtoepassingen, uitgegeven door de non-profit OWASP Foundation. Ze dient als basis voor ontwikkeling, controles en trainingen. Aanvullend biedt OWASP de Cheat Sheets met concrete tegenmaatregelen.

P

Patch
Een patch is een correctie van de fabrikant die een kwetsbaarheid in de programmacode dicht. Hij werkt pas als hij is geïnstalleerd en alle lopende processen zijn herstart. Een patch verwijdert geen reeds ingebrachte schadelijke software en bewijst niet dat er daarvoor niets is gebeurd. PHP-patchservice: update laten installeren, met herstart en bewijs →
PECL
PECL (PHP Extension Community Library) is het register voor PHP-extensies die in C zijn geschreven en niet tot de standaardomvang behoren. Zulke extensies moeten bij de geïnstalleerde PHP-versie passen. Na een wissel van de PHP-hoofdversie moeten ze vaak opnieuw worden gebouwd of vervangen. PHP-extensies (extensions) begrijpen →
PHP
PHP is een scripttaal die vooral op webservers draait en daar webpagina's genereert. Veel gangbare CMS- en webshopsystemen zoals WordPress, TYPO3 of Shopware zijn in PHP geschreven. Een kwetsbaarheid in de PHP-interpreter treft daarom alle toepassingen die erop draaien, ongeacht hun eigen updatestatus. Wat is PHP? De programmeertaal uitgelegd →
php-cgi
php-cgi is het PHP-programma voor gebruik via CGI of FastCGI. Het hoort volgens het PHP-team bij de uitvoeringsmodi die door PHP2Shell zijn getroffen. Waar php-cgi nog wordt gebruikt, loont het om te controleren of een overstap naar PHP-FPM mogelijk is. php-cgi: oude erfenis met risico →
PHP-FPM
PHP-FPM (FastCGI Process Manager) is een aparte service die PHP-processen in pools beheert en verzoeken van de webserver via FastCGI aanneemt. Het is tegenwoordig de gebruikelijke uitvoeringsmodus met Nginx en op veel Apache-servers. Na een PHP-update moet PHP-FPM worden herstart, zodat er geen oude processen blijven draaien. PHP-FPM uitgelegd: procesmanager, pools en workers →
php.ini
De php.ini is het centrale configuratiebestand van PHP. Ze legt grenzen, beveiligings- en foutinstellingen vast, bijvoorbeeld memory_limit of display_errors. Vaak is er per SAPI (FPM, CLI, Apache) een eigen php.ini die afzonderlijk moet worden onderhouden. De php.ini uitgelegd: opbouw, niveaus en voorrang →
PHP2Shell
PHP2Shell is de naam voor twee kritieke kwetsbaarheden in PHP zelf, CVE-2026-109618 en CVE-2026-109619, elk met CVSS v4.0 9.2. Ze maken het uitvoeren van schadelijke code op afstand mogelijk zonder inloggen. Ze zijn verholpen in PHP 8.5.12, 8.4.27, 8.3.36 en 8.2.35, gepubliceerd op 21-10-2026. Wat is PHP2Shell? Het lek eenvoudig uitgelegd →
php_admin_value
php_admin_value stelt een PHP-instelling in de FPM-pool of de Apache-configuratie zo in dat toepassingen die niet kunnen overschrijven via ini_set() of .htaccess. Voor schakelaars bestaat php_admin_flag. php.net adviseert deze route voor de overgangsmaatregelen tegen PHP2Shell, bijvoorbeeld voor memory_limit. php_admin_value: instellingen tegen overschrijven vergrendelen →
Plesk
Plesk is een veelgebruikt beheerpaneel voor webservers, waarmee domeinen, PHP-versies en handlers per website zijn in te stellen. Het levert eigen PHP-pakketten mee, maar kan ook de PHP-pakketten van de distributie gebruiken. Bij backports kan Plesk een ouder nummer zoals 8.2.34 blijven tonen, ook al is er gepatcht. Plesk-server: PHP-versies controleren en patchen →
post_max_size
post_max_size bepaalt hoe groot de inhoud van een POST-verzoek in totaal mag zijn; standaard is dat 8 MB. Als overgangsmaatregel tegen PHP2Shell noemt php.net 8M voor websites zonder uploads en 32M met uploads. upload_max_filesize moet daaronder blijven. post_max_size en upload_max_filesize zinvol beperken →
Proof of concept
Een proof of concept (PoC) is een bewijs dat een kwetsbaarheid uitbuitbaar is, vaak als eenvoudige demonstratiecode. Het dient fabrikanten en onderzoekers voor de beoordeling, maar kan ook aanvallers als voorbeeld dienen. Een gepubliceerde PoC verhoogt daarom doorgaans de urgentie van patchen.

R

Ransomware
Ransomware versleutelt gegevens en eist losgeld voor de ontsleuteling, vaak gecombineerd met de dreiging gestolen gegevens te publiceren. Een gecompromitteerde webserver kan daarvoor het toegangspunt zijn. De meest effectieve bescherming zijn gescheiden, geteste back-ups en een noodplan. Back-upstrategie voor servers: back-ups volgens de 3-2-1-regel →
RCE
RCE (Remote Code Execution) betekent dat een aanvaller op afstand eigen code kan uitvoeren op een vreemd systeem. Is daarvoor geen inlog nodig, dan spreekt men van unauthenticated RCE, de zwaarste klasse van webserverkwetsbaarheden. Met RCE kan een aanvaller gegevens lezen, achterdeuren aanleggen en de server verder misbruiken. Wat is PHP2Shell? Het lek eenvoudig uitgelegd →
Releasecyclus
Elke PHP-versie krijgt eerst bugfixes en daarna een tijdlang alleen nog beveiligingscorrecties. Wanneer welke versie eindigt, publiceert het PHP-project op php.net bij de ondersteunde versies. PHP 8.2 bereikt volgens php.net op 31-12-2026 het einde van de ondersteuning. PHP-versies en releasecyclus →
Reverse proxy
Een reverse proxy neemt verzoeken van het internet aan en stuurt ze door naar een of meer servers erachter. Hij kan TLS overnemen, belasting verdelen en dienen als plek voor filterregels of een WAF. Bescherming biedt hij alleen als de servers erachter niet bovendien rechtstreeks bereikbaar zijn. Uploadverzoeken aan de rand filteren: kansen en risico's →
RFI
RFI (remote file inclusion) is de variant waarbij een toepassing code van een vreemd adres nalaadt en uitvoert. In PHP voorkomt de instelling allow_url_include=Off, die al lang standaard is, het insluiten van externe bestanden. Oude toepassingen en configuraties moeten hierop worden gecontroleerd. Local file inclusion in PHP voorkomen: LFI en RFI →
Rootserver
Een rootserver is een gehuurde server waarop de klant volledige beheerdersrechten heeft. Daarmee ligt ook de volledige verantwoordelijkheid voor updates, hardening en bewaking bij de klant. De aanbieder levert alleen hardware en netwerk. Rootserver en vServer zelf beveiligen →

S

SAPI
SAPI (Server Application Programming Interface) is de interface waarmee PHP met zijn omgeving praat, bijvoorbeeld met Apache, PHP-FPM of de opdrachtregel. Welke SAPI wordt gebruikt, bepaalt hoe PHP-processen worden gestart, hergebruikt en herstart. Bij PHP2Shell zijn volgens het PHP-team meerdere uitvoeringsmodi getroffen, mod_php met het hoogste risico. SAPI uitgelegd: hoe PHP met de webserver praat →
SEO-spam
SEO-spam zijn ingebrachte pagina's, links of doorverwijzingen waarmee aanvallers vreemde aanbiedingen in zoekmachines plaatsen. Vaak zien alleen zoekmachines of bezoekers vanuit Google de gemanipuleerde inhoud. Naast de opschoning is daarna een controle in Google Search Console nodig. SEO-spam en vreemde pagina's in de Google-index →
serialize_handler
session.serialize_handler bepaalt in welk formaat PHP sessiegegevens opslaat, bijvoorbeeld php, php_binary of php_serialize. De waarschuwing bij CVE-2026-115560 betreft alleen een ongebruikelijke configuratie waarin dit formaat tijdens de uitvoering wordt omgeschakeld en session-upload-progress actief is. Tot de volgende bugfixrelease helpt session.upload_progress.enabled=0. CVE-2026-115560: aanwijzing over session upload progress →
Sessie
Een sessie koppelt meerdere verzoeken van dezelfde bezoeker, bijvoorbeeld voor inloggen of winkelwagen. PHP slaat de gegevens aan serverzijde op en geeft de browser een sessie-ID, standaard in de cookie PHPSESSID. Wie een vreemde sessie-ID kent, kan zich onder omstandigheden als die gebruiker voordoen. Sessies en cookies in PHP →
session.upload_progress
Session-upload-progress is een PHP-functie die de voortgang van lopende bestandsuploads in de sessie opslaat; ze staat standaard aan. php.net adviseert tijdelijk session.upload_progress.enabled=0 in php.ini, FPM-pool of serverconfiguratie, en daarna alle workers te herstarten. De instelling alleen sluit volgens vakberichten niet beide PHP2Shell-kwetsbaarheden; de update blijft verplicht. session.upload_progress uitschakelen: juist en blijvend →
Shared hosting
Bij shared hosting delen veel klanten een server die de hostingprovider beheert. De hostingprovider is verantwoordelijk voor PHP, besturingssysteem en webserver, de klant voor zijn toepassing. Bij PHP2Shell betekent dat: vraag de patchstatus op bij de hostingprovider en controleer de eigen website op sporen. Shared hosting: wat de hostingprovider doet en wat u moet doen →
SIEM
Een SIEM (security information and event management) verzamelt logdata uit veel systemen centraal en analyseert ze op beveiligingsgebeurtenissen. Zo zijn verbanden te herkennen die in afzonderlijke logs ondergaan. Een SIEM heeft onderhouden regels nodig en mensen die de meldingen afhandelen. Security-monitoring voor webservers →
Skimming
Bij skimming in webshops brengen aanvallers JavaScript in de checkout in dat betaal- en klantgegevens meeleest en doorstuurt. De code zit vaak in themabestanden, trackingscripts of database-items. Klanten merken er niets van, de webwinkelier vaak pas door meldingen van betaaldienstverleners. Webshop gehackt? IT-beveiliging voor webwinkeliers →
SQL-injectie
Bij een SQL-injectie voert een aanvaller via invoer eigen databaseopdrachten in een toepassing in. Zo kunnen gegevens worden uitgelezen of gewijzigd. Bescherming bieden voorbereide instructies (prepared statements) met plaatshouders in plaats van samengestelde SQL-teksten. SQL-injectie in PHP voorkomen →
SSRF
SSRF (server-side request forgery) brengt een toepassing ertoe in opdracht van de aanvaller verzoeken naar andere adressen te sturen, ook naar interne systemen. Zo worden diensten bereikbaar die van buitenaf eigenlijk zijn afgeschermd. Bescherming bieden toegestane-lijsten voor bestemmingen en het blokkeren van interne adresbereiken. Server-side request forgery (SSRF) in PHP voorkomen →
Superglobals
Superglobals zijn variabelen die PHP in elk script beschikbaar stelt, zoals $_GET, $_POST, $_COOKIE, $_FILES, $_SERVER en $_SESSION. Ze bevatten de gegevens van het huidige verzoek, die grotendeels van de bezoeker afkomstig zijn. Alles daarin moet als onbetrouwbaar worden behandeld en gecontroleerd. Superglobals: $_GET, $_POST, $_FILES en co. →
sury.org
sury.org is een pakketrepository van Ondřej Surý met actuele en oudere PHP-versies voor Debian en Ubuntu. Het is een aanbod van een derde en niet het beveiligingsarchief van Debian. Volgens berichten werden daar builds voor alle takken van 5.6 tot 8.5 beschikbaar gesteld. De sury.org-repository: PHP-pakketten uit een externe bron →

T

Threat hunting
Threat hunting is het actief zoeken naar aanvallers in het eigen netwerk, zonder dat er een waarschuwing is. Uitgangspunt zijn hypothesen, bijvoorbeeld: heeft een webserverproces sinds 20-10 een shell gestart? Zo worden inbraken gevonden die geautomatiseerde tools missen. Waarschuwingssignaal: de webserver start een shell →
Tijdlijn
Een tijdlijn (timeline) ordent alle sporen van een incident chronologisch: logregels, bestandswijzigingen, aanmeldingen, processen. Ze laat zien wanneer de aanval begon en wat in welke volgorde gebeurde. Een uniforme tijdzone is belangrijk, het best UTC. De tijdlijn van een incident opstellen →
TISAX
TISAX is een toetsings- en uitwisselingsprocedure voor informatiebeveiliging in de auto-industrie. Het berust op een eisencatalogus van de Duitse autobrancheorganisatie VDA en wordt beheerd door de ENX Association. Toeleveranciers moeten daarmee tegenover fabrikanten hun beveiligingsniveau aantonen. ISO 27001 en TISAX: wat webservers raakt →
TLS
TLS (Transport Layer Security) versleutelt de verbinding tussen browser en server; herkenbaar aan HTTPS. Momenteel worden TLS 1.2 en 1.3 aanbevolen, oudere protocolversies moeten zijn uitgeschakeld. TLS beschermt gegevens onderweg, niet tegen kwetsbaarheden op de server zelf. TLS en HTTPS correct configureren →
Type juggling
Type juggling is de automatische typeconversie in PHP, bijvoorbeeld bij een losse vergelijking met ==. Daardoor kunnen waarden als gelijk gelden die dat niet zijn, wat gevaarlijk wordt bij controles van wachtwoorden of tokens. Bescherming bieden strikte vergelijkingen met === en hash_equals() voor geheimen. Type juggling in PHP: losse vergelijkingen als beveiligingsrisico →

U

upload_max_filesize
upload_max_filesize begrenst de grootte van één geüpload bestand; standaard is dat 2 MB. De waarde moet kleiner zijn dan post_max_size, omdat het bestand deel uitmaakt van het POST-verzoek. Te ruime waarden vergroten het aanvalsoppervlak zonder nut. post_max_size en upload_max_filesize zinvol beperken →
.user.ini
.user.ini-bestanden bevatten PHP-instellingen per map die PHP-FPM en CGI uitlezen. Daarmee kunnen websitebeheerders zonder servertoegang afzonderlijke waarden wijzigen, maar alleen die welke PHP daarvoor vrijgeeft. Beveiligingsrelevante voorschriften zoals session.upload_progress.enabled=0 tegen PHP2Shell moeten volgens php.net niet via .user.ini worden ingesteld. De php.ini uitgelegd: opbouw, niveaus en voorrang →

V

VdS 10000
VdS 10000 is een richtlijn van VdS Schadenverhütung (Duitsland) voor informatiebeveiliging in kleine en middelgrote bedrijven. Ze is slanker dan ISO 27001 en afgestemd op de mogelijkheden van het mkb. Certificering volgens deze richtlijn is mogelijk. VdS 10000: informatiebeveiliging voor kleine en middelgrote bedrijven →
Verwerkersovereenkomst
Een verwerkersovereenkomst volgens art. 28 AVG is nodig wanneer een dienstverlener in opdracht persoonsgegevens verwerkt of daar toegang toe kan hebben. Dat geldt vaak ook voor hostingproviders, bureaus en IT-dienstverleners met servertoegang. De overeenkomst regelt onder meer instructies, beschermingsmaatregelen en meldroutes. Verwerking in opdracht wanneer dienstverleners bij servers kunnen →
Virtueel patchen
Virtueel patchen blokkeert aanvallen op een bekende kwetsbaarheid vóór de toepassing, meestal met een WAF, zonder de kwetsbare code te wijzigen. Het levert tijd op tot de echte update mogelijk is. Bij PHP2Shell waarschuwt onder meer Cloudflare dat regels op basis van alleen de verzoekgegevens niet volstaan; de update blijft verplicht. WAF en virtueel patchen voor PHP →
vServer
Een vServer (virtuele server) is een virtuele computer op gedeelde hardware, met een eigen besturingssysteem en meestal roottoegang. Voor de beveiliging geldt hetzelfde als bij de rootserver: updates en hardening zijn zaak van de klant. Veel vServers draaien met voorgeïnstalleerde panelen zoals Plesk. Rootserver en vServer zelf beveiligen →

W

Waarschuwingsniveau
Het BSI deelt de dreigingssituatie bij beveiligingswaarschuwingen in niveaus in, die ook met kleuren worden aangeduid. Niveau 3 (oranje) staat voor een bedrijfskritieke situatie met mogelijk ernstige verstoring van de normale bedrijfsvoering. Voor PHP2Shell geldt waarschuwingsniveau 3 / oranje. BSI-waarschuwingsniveau Oranje: wat de indeling betekent →
WAF
Een WAF (web application firewall) controleert HTTP-verzoeken vóór de toepassing en blokkeert bekende aanvalspatronen. Ze kan draaien als clouddienst, als proxy of als webservermodule. Ze levert tijd op maar vervangt geen update, en wordt omzeild als de server ook rechtstreeks bereikbaar is. WAF en virtueel patchen voor PHP →
Webshell
Een webshell is een script dat aanvallers op een webserver plaatsen om hem via de browser op afstand te besturen. Ze is vaak klein, versluierd en verborgen in upload- of cachemappen. Een webshell blijft ook na een PHP- of CMS-update bestaan en moet gericht worden opgespoord. Webshell herkennen en verwijderen →

X

XSS
XSS (cross-site scripting) betekent dat vreemd JavaScript via een website in de browser van andere bezoekers wordt uitgevoerd. Daarmee kunnen sessies worden overgenomen of formulierinvoer worden meegelezen. Bescherming bieden consequent coderen van alle uitvoer en een Content Security Policy. XSS in PHP voorkomen: cross-site scripting veilig afweren →
XXE
XXE (XML external entities) maakt gebruik van het feit dat XML-parsers externe verwijzingen in documenten kunnen naladen. Daardoor kunnen onder omstandigheden bestanden van de server worden gelezen of interne verzoeken worden uitgelokt. Bescherming biedt het uitschakelen van het laden van externe entiteiten bij het verwerken van onbetrouwbare XML-gegevens. XML external entities (XXE) in PHP voorkomen →

Z

ZAC
De Zentrale Ansprechstellen Cybercrime (ZAC) van de Duitse politie zijn gespecialiseerde contactpunten voor bedrijven en overheden die slachtoffer zijn geworden van een cyberaanval. Ze bestaan in alle Duitse deelstaten en bij het BKA (de Duitse federale recherche). Ze nemen aangiften op en adviseren over de verdere aanpak. Aangifte doen: Zentrale Ansprechstellen Cybercrime →
Zend Engine
De Zend Engine is de kern van de PHP-interpreter. Ze vertaalt PHP-code naar interne opdrachten (opcodes), voert die uit en beheert het geheugen. Fouten in de Zend Engine werken door in elke PHP-toepassing en zijn alleen te verhelpen met een PHP-update. De Zend Engine: het hart van PHP →
Zero-day
Een zero-day is een kwetsbaarheid die wordt misbruikt of openbaar bekend is voordat de fabrikant een patch beschikbaar stelt. Beheerders hebben dan nul dagen voorbereidingstijd. Tot de patch helpen alleen overgangsmaatregelen, afscherming en bewaking. Het tijdvenster tussen patch en aanval →
Direct contact

Elk uur telt. Schrijf ons nu.

Beschrijf kort het systeem, de PHP-versie en wat u opmerkt. Wij nemen contact op, brengen de situatie in kaart en werken op afstand tot het incident is afgerond en gedocumenteerd.

Directe hulp