Beranda VPSCara Scan dan Mengatasi VPS yang Terdeteksi Malware

Cara Scan dan Mengatasi VPS yang Terdeteksi Malware

Terakhir diperbarui pada 10 September 2026

Panduan ini menjelaskan prosedur untuk mendeteksi, mendiagnosis, dan membersihkan berkas jahat (malware) pada Virtual Private Server (VPS) melalui terminal Linux menggunakan alat pemindai seperti ClamAV, Rkhunter, dan Maldet. Pemindaian dan pembersihan malware secara rutin sangat bermanfaat untuk menjaga integritas data, mencegah kebocoran informasi sensitif, serta memastikan kinerja server tetap stabil dan tidak masuk ke dalam daftar hitam (blacklist).

I. Persiapan Lingkungan Kerja dan Instalasi Tools Pemindai

Langkah awal yang harus dilakukan adalah mengakses server melalui protokol SSH dan memasang perangkat lunak pemindai keamanan yang dibutuhkan.

  1. Akses Server via Terminal SSH
    Buka terminal atau aplikasi SSH client (seperti PuTTY atau Termius) dan hubungkan ke VPS Anda dengan akun superuser:
    ssh root@alamat_ip_vps
    

    Hasil yang diharapkan: Akses terminal ke server berhasil dibuka dan menampilkan prompt command line.
  2. Instalasi ClamAV dan Modul Pendukung
    Jalankan pembaruan repositori dan instalasi antivirus ClamAV sesuai distribusi Linux Anda:
    Untuk pengguna Ubuntu/Debian:
    apt update && apt install clamav clamav-daemon rkhunter -y
    

    Untuk pengguna CentOS/AlmaLinux/RHEL:
    dnf install epel-release -y && dnf install clamav clamd rkhunter -y
    

    Hasil yang diharapkan: Aplikasi ClamAV dan Rkhunter terpasang dengan sukses di sistem.
  3. Memperbarui Basis Data Definisi Virus
    Hentikan sementara layanan pembaru otomatis, lalu perbarui pustaka definisi malware ClamAV secara manual:
    systemctl stop clamav-freshclam
    freshclam
    systemctl start clamav-freshclam
    

II. Prosedur Pemindaian Sistem Menggunakan ClamAV dan Rkhunter

Setelah perangkat lunak pemindai siap, jalankan pemeriksaan menyeluruh pada direktori web hosting dan berkas sistem.

  1. Memindai Direktori Situs Web (Web Root)
    Jalankan perintah pemindaian khusus pada direktori tempat berkas situs web disimpan (misalnya /var/www/html atau /home) dan simpan laporannya:
    clamscan -r -i /var/www/html -l /root/clamav_scan.log
    

    Hasil yang diharapkan: ClamAV akan memeriksa seluruh berkas secara rekursif dan menampilkan ringkasan berkas yang terinfeksi (Infected files) di akhir proses.
  2. Memindahkan Berkas Terinfeksi ke Direktori Karantina
    Untuk mengisolasi berkas berbahaya secara otomatis agar tidak dieksekusi oleh sistem, jalankan opsi perintah karantina:
    mkdir -p /root/quarantine
    clamscan -r --move=/root/quarantine /var/www/html
    

    Hasil yang diharapkan: Seluruh berkas yang teridentifikasi mengandung malware akan dipindahkan secara otomatis ke folder /root/quarantine.
  3. Memeriksa Rootkit pada Sistem Berkas menggunakan Rkhunter
    Jalankan alat Rkhunter untuk memindai potensi adanya rootkit, backdoor, atau perubahan destruktif pada sistem eksekusi bawaan OS:
    rkhunter --check --sk
    

    Hasil yang diharapkan: Sistem akan menjalankan serangkaian pengujian integritas dan memberikan laporan berstatus OK atau WARNING jika ditemukan anomali pada berkas sistem.

III. Identifikasi dan Menghentikan Proses Jahat yang Sedang Berjalan

Malware sering kali menjalankan proses tersembunyi di latar belakang yang mengonsumsi sumber daya CPU atau mengirimkan serangan DDoS/spam.

  1. Mengecek Penggunaan Sumber Daya dan Proses Mencurigakan
    Jalankan perintah analisis proses sistem berikut:
    top -c
    

    Perhatikan proses yang mengonsumsi CPU tinggi atau menggunakan nama acak (seperti baris string acak /tmp/x86_64).
  2. Mencari Lokasi Berkas Eksekusi dari Proses Jahat
    Dapatkan nomor Process ID (PID) dari proses mencurigakan tersebut, lalu periksa jalur lokasi berkas aslinya:
    ls -l /proc/NOMOR_PID/exe
    

    Hasil yang diharapkan: Terminal akan menampilkan jalur direktori fisik dari mana proses berbahaya tersebut dijalankan.
  3. Menghentikan Proses Berbahaya Secara Paksa
    Hentikan proses yang teridentifikasi malware menggunakan perintah penghentian paksa:
    kill -9 NOMOR_PID
    

    Hasil yang diharapkan: Proses jahat akan dihentikan secara seketika dari memori server.

IV. Pembersihan Otomatisasi Terjadwal (Cronjob Jahat) dan Backdoor

Sebagian besar malware memasang mekanisme otomatisasi agar dapat terinfeksi kembali secara otomatis meskipun berkas utamanya telah dihapus.

  1. Memeriksa dan Membersihkan Cronjob Pengguna
    Periksa seluruh daftar penjadwalan tugas pada akun pengguna server:
    crontab -l
    crontab -u www-data -l
    

    Hasil yang diharapkan: Layar menampilkan daftar skrip otomatis. Jika terdapat skrip mencurigakan seperti unduhan berbasis curl atau wget ke domain luar yang tidak dikenal, hapus entri tersebut menggunakan perintah crontab -e.
  2. Memeriksa Direktori Cron Sistem
    Periksa berkas cronjob tingkat sistem dengan melihat isi folder sistem berikut:
    ls -la /etc/cron* /etc/crontab
    

    Hapus berkas asing atau mencurigakan yang tersimpan di dalam folder /etc/cron.d/ atau /etc/cron.daily/.
  3. Memeriksa Berkas Sementara (Temp Directory)
    Periksa direktori umum yang sering digunakan malware untuk menyimpan skrip injeksi:
    ls -la /tmp /var/tmp /dev/shm
    

    Hapus berkas eksekusi berbasis PHP, Perl, atau Shell script yang ditemukan di dalam direktori sementara tersebut.

Hal Penting yang Perlu Diperhatikan

  • Peringatan PENTING - Tindakan Backup: Selalu buat cadangan (backup) penuh basis data dan berkas VPS Anda sebelum melakukan tindakan penghapusan berkas. Beberapa skrip pembersih otomatis dapat secara tidak sengaja menghapus berkas aplikasi utama yang terinjeksi kode malware.
  • Kesalahan Umum (Common Mistake): Mengabaikan celah keamanan utama. Membersihkan berkas jahat tanpa memperbarui versi CMS, plugin, atau tema yang rentan (vulnerable) akan menyebabkan VPS Anda terinfeksi kembali dalam waktu singkat.
  • Pemasangan Firewall Aplikasi Web (WAF): Gunakan modul pengaman seperti ModSecurity atau layanan CDN proxy (seperti Cloudflare) untuk menyaring lalu lintas data dan mencegah eksploitasi celah keamanan Remote Code Execution (RCE).
  • Hardening Konfigurasi PHP: Matikan fungsi-fungsi berbahaya pada berkas php.ini dengan menambahkan aturan pembatasan berikut:
    disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source