Suatu ketika monitoring tool saya melaporkan bahwa dedicated server yg saya gunakan mengalami lonjakan kinerja cpu sampai 100%. Biasanya hal ini adalah lumrah dan dalam hitungan menit sudah kembali normal, mungkin ada semacam lonjakan trafik dsb. Tetapi kali ini alert dari monitoring belum juga melaporkan bahwa cpu telah normal meski udah lewat setengah jam lebih. Usut punya usut, setelah saya login as root dan mengecek dengan command ps aux
dan htop
, saya menemukan bahwa ada beberapa proses ilegal yg memakan cpu dan ram sampai habis. Saya curiga ini semacam malware yg bekerja sebagai penambang cryptobullshit.
Ketika server udah sangat berat tentu mau utak-atik untuk troubleshooting juga agak sulit. Oleh karena itu saya mencoba mematikan dahulu proses tidak dikenal tsb untuk menetralisir server sebelum langkah lebih lanjut. Biasanya via command ps aux atau htop proses yg ingin dimatikan bisa dieksekusi setelah mengetahui angka PID-nya, lalu cukup jalankan kill -9 1234 (1234 ini adalah contoh PID yg muncul).
Yg jadi masalah adalah setelah proses tsb mati, ga berapa lama dia akan segera running kembali dan cpu segera melonjak tajam sampai 100% lagi. Jika terjadi hal semacam ini yg bisa lakukan yaitu membuat sebuah rangkaian command untuk auto-kill PID yg muncul dari nama proses yg terlihat di ps aux.
Pada kasus yg terjadi di sini, nama proses yg saya curigai bernama xmrig. OK mari kita auto-kill dia tiap saat dia muncul kembali. Caranya bisa dengan perintah seperti ini:
kill -9 $(ps -ef | grep 'xmrig' | grep -v 'grep' | awk {'print $2'})
Command di atas berfungsi melakukan kill terhadap setiap PID yg muncul dari proses bernama xmrig. Untuk lebih efektif, save command tsb dalam sebuah file di dalam /usr/bin/ kemudian jadikan executable lalu jalankan secara auto via crontab. Misal nama filenya killxmrig maka entri di /etc/crontab macam begini:
* * * * * root /usr/bin/killxmrig
Save dan restart cron! Nah, setiap 60 detik cron akan menjalankan command tsb dan bilamana terdeteksi PID dari setiap proses xmrig dia akan kena kill… kill.. kill pokoknya auto-kill sampai tidak berkutik lagi untuk bisa running sebagaimana mestinya. Setelah server normal, baru deh ubek-ubek sampai ketemu asal mula malware tsb.
OK semoga bermanfaat ya, tentunya command tsb bisa Anda modifikasi untuk nama proses lain yg Anda curigai cukup dengan edit nama proses di belakang grep.