Praegune olukord: PHP2Shell. Kaks kriitilist PHP turvaauku (CVSS 9,2) lubavad kahjulikku koodi ilma sisselogimata. Paigad alates 21.10.2026.Mida nüüd teha →

Krüptokaevur veebiserveris: tunnused ja tegutsemine

Püsivalt täis CPU, ilma et külastajaid oleks rohkem: see võib olla krüptokaevur. Nii kontrollite koormust, leiate protsessi ja selle taaskäivitusmehhanismid ning tegutsete korrapäraselt.

Seis Lugemisaeg 4 minTuvastamine ja forensika

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:

  1. 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.
  2. Süsteemiteenused märkamatute nimedega, mis käivituvad süsteemi käivitumisel.
  3. Veebishell veebikataloogis, mille kaudu ründaja kaevuri igal ajal uuesti käivitab.
  4. Muudetud käivitusskriptid või kasutajate profiilifailid.
  5. 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.

Oluline

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.

Allikad

Kohene kontakt

Iga tund loeb. Kirjutage meile kohe.

Kirjeldage lühidalt süsteemi, PHP versiooni ja tähelepanekut. Võtame teiega ühendust, selgitame olukorra välja ja töötame kaugtööna, kuni intsident on lõpetatud ja dokumenteeritud.

Kohene abi