Kort gezegd: Een cryptominer op de server toont zich meestal door permanent hoge CPU-belasting zonder aanwijsbare reden, door vreemde processen, vaak onder de webservergebruiker, en door uitgaande verbindingen naar onbekende doelen. Beëindig het proces niet overhaast: stel eerst sporen veilig, zoek de mechanismen die het opnieuw starten en dicht de toegangspoort. Een miner betekent dat iemand code op uw server kon uitvoeren.
Als de rekening van de cloudaanbieder de eerste waarschuwing is
Vaak valt een cryptominer niet op door een beveiligingsalarm, maar terloops. De website wordt traag, de hoster meldt een overschrijding van de rekentijd, de ventilator in het eigen datacenter draait voortdurend, of de afrekening bij de cloudaanbieder stijgt zonder nieuwe projecten. Voor aanvallers is een miner een eenvoudige manier om van een gecompromitteerde server geld te maken.
Minen betekent de rekenkracht van een vreemd systeem gebruiken voor het genereren van cryptovaluta. De schade lijkt overzichtelijk, omdat er geen gegevens worden versleuteld. Dat bedriegt: wie een miner kan starten, kan ook toegangsgegevens lezen, databases kopiëren en verdere achterdeuren aanleggen.
Na PHP2Shell loont de controle bijzonder. De lekken CVE-2026-109618 en CVE-2026-109619 maken de uitvoering van schadelijke code zonder aanmelding mogelijk. Bevestigde Indicators of Compromise bestaan niet, en een miner is geen specifiek teken van deze lekken. Hoge belasting door onbekende processen behoort echter tot de algemene tekenen die onder Ben ik al gecompromitteerd? zijn beschreven.
De tekenen van een cryptominer juist duiden
Hoge belasting heeft veel onschuldige oorzaken. De tabel helpt bij de eerste indeling:
| Waarneming | Onschuldige verklaring mogelijk | Wat u controleert |
|---|---|---|
| CPU permanent bijna vol belast | back-up, beeldverwerking, indexopbouw | Is de belasting ook 's nachts en in het weekend gelijkmatig? |
| Proces met een naam als een systeemservice | zelden | Staat het programmabestand in het verwachte systeempad? |
Proces onder www-data, apache of nginx dat geen PHP is |
nauwelijks | Wie heeft het gestart, vanuit welke map? |
Programma in /tmp, /var/tmp of /dev/shm |
nauwelijks | Sinds wanneer bestaat het bestand, van wie is het? |
| Permanente uitgaande verbinding naar een onbekend doel | monitoring, updates | Hoort het doel bij een bekende dienst? |
| Belasting daalt zodra u zich aanmeldt | zelden | Sommige schadelijke programma's pauzeren als bewakingshulpmiddelen draaien |
Hoe meer regels van toepassing zijn, hoe waarschijnlijker een vondst. Dat de webservergebruiker überhaupt vreemde programma's start, is op zichzelf een sterk waarschuwingssignaal, zoals het artikel De webserver start een shell toont.
Zo controleert u processen en verbindingen
De volgende opdrachten lezen alleen. Noteer resultaat en tijdstip voordat u iets wijzigt:
# Processen op CPU-verbruik, met gebruiker, starttijd en volledige opdracht
ps -eo pid,ppid,user,lstart,%cpu,%mem,args --sort=-%cpu | head -20
# Programmabestand en werkmap van een verdacht proces (PID invullen)
sudo ls -l /proc/PID/exe /proc/PID/cwd
# Uitgaande verbindingen met proces
sudo ss -tnp state established
# Uitvoerbare bestanden in tijdelijke mappen
sudo find /tmp /var/tmp /dev/shm -type f -perm -u+x -ls 2>/dev/null
Wijst /proc/PID/exe naar een bestand met de toevoeging (deleted), dan is het programma na de start verwijderd. Dat is een typische camouflagepoging. Het proces draait door, en zolang het draait, is het programmabestand nog via /proc veilig te stellen. Dat moet iemand doen die met schadelijke software kan omgaan; voer het bestand nooit uit.
Hoe u processen verder dan de miner systematisch doorloopt, beschrijft Verdachte processen op Linux-servers vinden.
Waarom de miner steeds terugkomt
Veel exploitanten beëindigen het proces, verheugen zich over de dalende belasting en stellen de volgende dag vast dat alles weer van voren af aan begint. Miners worden bijna altijd met een herstartmechanisme geïnstalleerd. Typische plekken zijn:
- Cronjobs van de webservergebruiker of systeembreed, die elke paar minuten controleren of de miner draait en hem anders naladen.
- Systeemservices met onopvallende namen, die bij het opstarten beginnen.
- Een webshell in de webmap, waarmee de aanvaller de miner op elk moment opnieuw start.
- Gewijzigde opstartscripts of profielbestanden van gebruikers.
- Vreemde SSH-sleutels, waarmee de aanvaller zich rechtstreeks weer aanmeldt.
# Cronjobs van de webservergebruiker en systeembrede vermeldingen
sudo crontab -u www-data -l
ls -la /etc/cron.d /etc/cron.hourly /var/spool/cron 2>/dev/null
# Onlangs gewijzigde systemd-units
sudo find /etc/systemd/system /lib/systemd/system -name '*.service' -newermt "2026-10-17" -ls
Pas als alle mechanismen zijn gevonden, blijft de server blijvend rustig. Had de aanvaller rootrechten, dan is een heropbouw op een vers systeem meestal betrouwbaarder dan het zoeken naar elke schuilplaats.
De juiste volgorde na de vondst
Een miner lijkt een technische ergernis, maar is een beveiligingsincident. Ga daarom ordelijk te werk:
- Veiligstellen: Proceslijst, verbindingen, verdachte bestanden en logs met controlesom kopiëren voordat iets wordt beëindigd.
- Beheersen: Server isoleren of uitgaande verbindingen blokkeren, als dat zonder gegevensverlies mogelijk is.
- Oorzaak dichten: PHP op een verholpen stand brengen (8.5.12, 8.4.27, 8.3.36, 8.2.35 of bevestigde backport), alle workers herstarten, CMS en extensies bijwerken.
- Opschonen of opnieuw opbouwen: Miner, herstartmechanismen en achterdeuren verwijderen, in geval van twijfel opnieuw opzetten.
- Gevolgen controleren: Konden toegangsgegevens of persoonsgegevens worden gelezen? Stel dan gegevensbescherming en eventuele meldplichten vast.
Betrek uw hoster of cloudaanbieder vroeg. Veel aanbieders blokkeren servers met opvallende belasting of opvallend netwerkverkeer preventief. Wie de aanbieder zelf informeert en de aanpak afstemt, behoudt eerder de controle over het tijdstip van de uitschakeling. Vraag daarbij ook naar de netwerk- en toegangslogs van de aanbieder, want die liggen buiten uw server en zijn voor een aanvaller moeilijk te wijzigen.
Voor de directie is een korte, eerlijke inschatting belangrijk: de miner zelf kost vooral rekentijd en prestaties. De eigenlijke vraag luidt echter wat de aanvaller verder heeft gezien. Zolang dat niet is opgehelderd, mag het incident niet als afgedaan gelden, ook al is de belasting weer normaal.
Een cryptominer toont dat er code op uw server is uitgevoerd. Behandel alle toegangsgegevens die op de server stonden als mogelijk weggelekt en vernieuw ze na de opschoning.
Hoe helpt PHP SOS concreet?
- Wij plaatsen de belasting en onderscheiden onschuldige oorzaken van vreemde processen.
- Wij stellen processen, bestanden en verbindingen veilig voordat de miner wordt beëindigd.
- Wij zoeken alle herstartmechanismen en achterdeuren en ruimen de server op in het kader van de malwareverwijdering of bouwen hem opnieuw op.
- Wij dichten de toegangspoort, vernieuwen toegangen en richten een belastingsbewaking in die ongewone patronen vroeg meldt.
Veelgestelde vragen
Waaraan herken ik een cryptominer op mijn server?
Typisch is een permanent hoge CPU-belasting die niet past bij bezoekersaantallen of geplande taken. Daarbij komen processen met onbekende of onschuldig klinkende namen, vaak onder de webservergebruiker, en uitgaande verbindingen naar vreemde adressen. Een afzonderlijk kenmerk is nog geen bewijs.
Volstaat het het mining-proces te beëindigen?
Nee. Miners worden meestal via cronjobs, systeemservices of een webshell steeds opnieuw gestart. Wie alleen het proces beëindigt, ziet het vaak korte tijd later weer. Bovendien blijft de toegangspoort open waardoor de miner op de server kwam.
Is een cryptominer onschuldig omdat hij alleen rekenkracht steelt?
Nee. Wie een miner kon installeren, kon code op de server uitvoeren. Daarmee waren in de regel ook configuratiebestanden, toegangsgegevens en databases bereikbaar. De miner is het zichtbare symptoom van een inbraak.
Welke onschuldige oorzaken heeft een hoge serverbelasting?
Back-ups, beeldverwerking, opbouw van een zoekindex, agressieve crawlers of een foutieve extensie kunnen eveneens veel rekentijd verbruiken. Deze oorzaken zijn meestal aan een bekend proces en schema te koppelen. Blijft de belasting zonder verklaring, controleer dan nauwkeuriger.