Lühidalt: Krüptokaevur serveris väljendub enamasti põhjuseta püsivalt suures CPU koormuses, võõrastes protsessides, sageli veebiserveri kasutaja all, ja väljaminevates ühendustes tundmatutesse sihtkohtadesse. Ärge lõpetage protsessi kiirustades: kindlustage esmalt jäljed, otsige mehhanisme, mis selle uuesti käivitavad, ja sulgege sissetungikoht. Kaevur tähendab, et keegi sai teie serveris koodi käivitada.
Kui pilvepakkuja arve on esimene hoiatus
Krüptokaevur ei jää sageli silma turvahäirega, vaid möödaminnes. Veebisait muutub loiuks, veebimajutaja teatab arvutusaja ületamisest, oma andmekeskuse ventilaator töötab pidevalt või pilvepakkuja arve kasvab ilma uute projektideta. Ründajatele on kaevur lihtne viis kompromiteeritud serverist raha teenida.
Kaevandamine tähendab võõra süsteemi arvutusvõimsuse kasutamist krüptovaluuta tekitamiseks. Kahju tundub piiratud, sest andmeid ei krüpteerita. See petab: kes saab kaevuri käivitada, saab ka ligipääsuandmeid lugeda, andmebaase kopeerida ja luua uusi tagauksi.
Pärast PHP2Shelli tasub kontroll eriti. Turvaaugud CVE-2026-109618 ja CVE-2026-109619 lubavad kahjuliku koodi käivitamist ilma sisselogimiseta. Kinnitatud kompromiteerimistunnuseid (Indicators of Compromise) ei ole ja kaevur ei ole nende turvaaukude spetsiifiline tunnus. Suur koormus tundmatutest protsessidest kuulub aga üldiste tunnuste hulka, mida kirjeldab Kas olen juba kompromiteeritud?.
Krüptokaevuri tunnuste õige tõlgendamine
Suurel koormusel on palju kahjutuid põhjuseid. Tabel aitab esmasel liigitamisel:
| Tähelepanek | Võimalik kahjutu seletus | Mida kontrollida |
|---|---|---|
| CPU püsivalt täiskoormuse lähedal | varukoopia, pilditöötlus, indeksi ülesehitus | Kas koormus on ühtlane ka öösel ja nädalavahetusel? |
| Süsteemiteenuse nimega protsess | harva | Kas programmifail asub oodatud süsteemiteel? |
Protsess kasutaja www-data, apache või nginx all, mis ei ole PHP |
vaevalt | Kes selle käivitas, millisest kaustast? |
Programm kataloogis /tmp, /var/tmp või /dev/shm |
vaevalt | Alates millest fail eksisteerib, kellele see kuulub? |
| Püsiv väljaminev ühendus tundmatusse sihtkohta | seire, uuendused | Kas sihtkoht kuulub tuntud teenuse juurde? |
| Koormus langeb niipea, kui sisse logite | harva | Mõned kahjulikud programmid peatuvad, kui töötavad jälgimistööriistad |
Mida rohkem ridu kehtib, seda tõenäolisem on leid. Et veebiserveri kasutaja üldse võõraid programme käivitab, on iseenesest tugev hoiatusmärk, nagu näitab artikkel Veebiserver käivitab shelli.
Nii kontrollite protsesse ja ühendusi
Järgmised käsud ainult loevad. Märkige tulemus ja kellaaeg üles enne, kui midagi muudate:
# Protsessid CPU tarbimise järgi, koos kasutaja, käivitusaja ja täieliku käsuga
ps -eo pid,ppid,user,lstart,%cpu,%mem,args --sort=-%cpu | head -20
# Kahtlase protsessi programmifail ja töökataloog (sisestage PID)
sudo ls -l /proc/PID/exe /proc/PID/cwd
# Väljaminevad ühendused koos protsessiga
sudo ss -tnp state established
# Käivitatavad failid ajutistes kaustades
sudo find /tmp /var/tmp /dev/shm -type f -perm -u+x -ls 2>/dev/null
Kui /proc/PID/exe osutab failile lisandiga (deleted), kustutati programm pärast käivitamist. See on tüüpiline maskeerimiskatse. Protsess töötab edasi ja seni, kuni ta töötab, saab programmifaili kataloogi /proc kaudu veel kindlustada. Selle peaks üle võtma keegi, kes oskab kahjuliku tarkvaraga ümber käia; ärge faili kunagi käivitage.
Kuidas protsesse kaevurist kaugemale süstemaatiliselt läbi käia, kirjeldab Kahtlaste protsesside leidmine Linuxi serverites.
Miks kaevur tuleb ikka tagasi
Paljud haldajad lõpetavad protsessi, rõõmustavad langeva koormuse üle ja avastavad järgmisel päeval, et kõik algab otsast peale. Kaevurid paigaldatakse peaaegu alati taaskäivitusmehhanismiga. Tüüpilised kohad on:
- Cron-tööd veebiserveri kasutajal või süsteemselt, mis kontrollivad iga paari minuti järel, kas kaevur töötab, ja laadivad selle muidu juurde.
- Süsteemiteenused märkamatute nimedega, mis käivituvad süsteemi käivitumisel.
- Veebishell veebikataloogis, mille kaudu ründaja kaevuri igal ajal uuesti käivitab.
- Muudetud käivitusskriptid või kasutajate profiilifailid.
- Võõrad SSH-võtmed, millega ründaja logib otse uuesti sisse.
# Veebiserveri kasutaja cron-tööd ja süsteemsed kirjed
sudo crontab -u www-data -l
ls -la /etc/cron.d /etc/cron.hourly /var/spool/cron 2>/dev/null
# Viimati muudetud systemd unitid
sudo find /etc/systemd/system /lib/systemd/system -name '*.service' -newermt "2026-10-17" -ls
Alles kui kõik mehhanismid on leitud, jääb server püsivalt rahulikuks. Kui ründajal olid root-õigused, on värskes süsteemis uuesti ülesehitus enamasti usaldusväärsem kui iga peidukoha otsimine.
Õige järjekord pärast leidu
Kaevur näeb välja nagu tehniline tüli, kuid on turvaintsident. Toimige seetõttu korrapäraselt:
- Kindlustage: kopeerige protsessinimekiri, ühendused, kahtlased failid ja logid kontrollsummaga, enne kui midagi lõpetatakse.
- Piirake: isoleerige server või blokeerige väljaminevad ühendused, kui see on andmekaoteta võimalik.
- Sulgege põhjus: tooge PHP parandatud seisu (8.5.12, 8.4.27, 8.3.36, 8.2.35 või kinnitatud backport), taaskäivitage kõik tööprotsessid, uuendage CMS ja laiendused.
- Puhastage või ehitage uuesti: eemaldage kaevur, taaskäivitusmehhanismid ja tagauksed, kahtluse korral seadistage uuesti.
- Kontrollige tagajärgi: kas ligipääsuandmed või isikuandmed võidi lugeda? Siis selgitage andmekaitse ja vajaduse korral teavitamiskohustused.
Kaasake varakult oma veebimajutaja või pilvepakkuja. Paljud pakkujad blokeerivad silmatorkava koormuse või võrguliiklusega serverid ennetavalt. Kes teavitab pakkujat ise ja lepib tegutsemise kokku, säilitab suurema tõenäosusega kontrolli väljalülitamise ajahetke üle. Küsige seejuures ka pakkuja võrgu- ja juurdepääsuprotokollide kohta, sest need asuvad teie serverist väljaspool ja neid on ründajal raske muuta.
Juhtkonnale on oluline lühike aus hinnang: kaevur ise maksab eelkõige arvutusaega ja jõudlust. Tegelik küsimus on aga see, mida ründaja veel nägi. Kuni see on selgitamata, ei tohiks intsidenti lõpetatuks pidada, isegi kui koormus on jälle normaalne.
Krüptokaevur näitab, et teie serveris on koodi käivitatud. Käsitlege kõiki ligipääsuandmeid, mis serveris asusid, võimalikult lekkinuna ja uuendage need pärast puhastamist.
Kuidas PHP SOS konkreetselt aitab?
- Hindame koormust ja eristame kahjutuid põhjuseid võõrastest protsessidest.
- Kindlustame protsessid, failid ja ühendused enne kaevuri lõpetamist.
- Otsime kõik taaskäivitusmehhanismid ja tagauksed ning puhastame serveri kahjuliku tarkvara eemaldamise raames või ehitame selle uuesti üles.
- Sulgeme sissetungikoha, uuendame ligipääsud ja seadistame koormuse jälgimise, mis annab ebatavalistest mustritest varakult märku.
Korduma kippuvad küsimused
Kuidas tunda ära krüptokaevur oma serveris?
Tüüpiline on püsivalt suur CPU koormus, mis ei sobi külastajate arvu ega ajastatud ülesannetega. Lisanduvad tundmatu või kahjutu kõlaga nimega protsessid, sageli veebiserveri kasutaja all, ja väljaminevad ühendused võõrastele aadressidele. Üksik tunnus ei ole veel tõend.
Kas piisab kaevandusprotsessi lõpetamisest?
Ei. Kaevurid käivitatakse enamasti cron-tööde, süsteemiteenuste või veebishelli kaudu üha uuesti. Kes lõpetab ainult protsessi, näeb seda sageli lühikese aja pärast taas. Lisaks jääb lahti sissetungikoht, mille kaudu kaevur serverisse jõudis.
Kas krüptokaevur on kahjutu, sest varastab vaid arvutusvõimsust?
Ei. Kes sai kaevuri paigaldada, sai serveris koodi käivitada. Sellega olid üldjuhul kättesaadavad ka seadistusfailid, ligipääsuandmed ja andmebaasid. Kaevur on sissemurdmise nähtav sümptom.
Millised kahjutud põhjused võivad suurel serverikoormusel olla?
Varukoopiad, pilditöötlus, otsinguindeksi ülesehitamine, agressiivsed indekseerijad või vigane laiendus võivad samuti kulutada palju arvutusaega. Need põhjused saab enamasti seostada tuntud protsessi ja ajakavaga. Kui koormus jääb seletamatuks, tuleks täpsemalt kontrollida.