Kamu bisa punya WAF, MFA, backup rapi, bahkan managed hosting mahal. Namun, kalau file core WordPress berubah jam 02.13 dan tim baru tahu tiga hari kemudian, penyerang sudah punya cukup waktu untuk bikin admin palsu, menyisipkan webshell, lalu menanam backdoor cadangan.
Runtime malware detection dan file integrity monitoring membantu tim security mendeteksi file core berubah, PHP injection, webshell, serta admin user asing saat serangan masih aktif. Kuncinya bukan scan sesekali, tetapi baseline bersih, alert real-time, korelasi event, lalu respons otomatis yang aman.
Untuk tim security dan WP maintenance, masalah terbesar bukan cuma “apakah situs kena malware?”. Pertanyaan yang lebih mahal adalah: kapan perubahan itu terjadi, siapa pemicunya, dan apa dampaknya ke sistem lain?

Kenapa Scan Malware Biasa Sering Telat?
Scanner tradisional biasanya bekerja seperti patroli jadwal. Ia cek file, cocokkan signature, lalu kasih laporan. Itu berguna, tetapi penyerang modern jarang menunggu jadwal scan-mu.
Selain itu, banyak backdoor WordPress sengaja dibuat tipis. Misalnya satu baris eval tersamarkan, file PHP di folder uploads, atau perubahan kecil di wp-config.php. Karena itu, runtime malware detection harus membaca perilaku saat kode berjalan, bukan cuma isi file saat diam.
Runtime Malware Detection: Melihat Serangan Saat Masih Bergerak
Runtime malware detection memantau aktivitas mencurigakan ketika aplikasi berjalan. Jadi, sistem bisa menangkap pola seperti eksekusi command dari PHP, request aneh ke file baru, perubahan privilege user, atau koneksi outbound ke domain asing.
Untuk WordPress, sinyal runtime yang paling bernilai biasanya meliputi:
- PHP execution di folder uploads, karena uploads seharusnya menyimpan media, bukan script.
- Pembuatan admin baru di luar change window resmi.
- Modifikasi file core seperti
wp-settings.php,wp-load.php, atauindex.php. - Function berisiko seperti
eval,base64_decode,shell_exec, danassertdalam konteks yang janggal. - Outbound traffic dari server ke endpoint yang belum pernah dipakai.
File Integrity Monitoring: Baseline Bersih, Alert Tajam
File integrity monitoring atau FIM membuat baseline hash file yang dianggap bersih. Setelah itu, setiap perubahan dibandingkan dengan baseline tersebut. Jika file core berubah tanpa update resmi, alarm harus naik.
Namun, FIM yang bagus tidak sekadar berteriak “file berubah”. Ia harus memberi konteks:
- File apa yang berubah?
- Apakah perubahan terjadi setelah update plugin resmi?
- Apakah pemilik file berubah?
- Apakah file baru bisa dieksekusi lewat web?
- Apakah perubahan diikuti login admin, upload, atau request POST aneh?
Framework 4 Lapis: Baseline, Behavior, Blast Radius, Block
Banyak tim terlalu fokus pada “deteksi malware”. Padahal, target operasional yang lebih sehat adalah mengurangi waktu tinggal penyerang. Pakai framework 4B ini agar monitoring-mu lebih berguna.
1. Baseline
Ambil baseline setelah core, plugin, theme, permission, dan user list dinyatakan bersih. Jangan membuat baseline saat situs masih dicurigai kompromi, karena kamu bisa “meresmikan” backdoor sebagai kondisi normal.
2. Behavior
Gabungkan FIM dengan log runtime. Misalnya, file baru di uploads biasa saja belum cukup. Namun, file baru plus request POST plus eksekusi PHP berarti prioritas P1.
3. Blast Radius
Setiap alert harus menjawab dampak. Apakah cuma satu file berubah, atau DB user juga berubah? Apakah admin baru muncul? Apakah kredensial SMTP, API key, atau token payment berpotensi bocor?
4. Block
Respons otomatis boleh agresif, tetapi harus aman. Karantina file baru di uploads lebih aman daripada langsung menghapus semua file mencurigakan. Untuk recovery lebih lengkap, baca juga panduan WordPress kena hack dan langkah darurat pemulihan.
Sinyal yang Wajib Dipantau Tim WP Maintenance
Agar alert nggak berisik, mulai dari sinyal yang paling sering berkorelasi dengan kompromi nyata:
- Core checksum mismatch, cek ke referensi resmi WordPress.
- File PHP baru di
wp-content/uploads,cache, atau folder temp. - Admin user dibuat tanpa tiket perubahan.
- Plugin aktif berubah tanpa deployment resmi.
- Permission melebar, terutama 777 atau file owner berubah ke user web server.
- Perubahan
.htaccessyang menambah redirect, handler PHP, atau rule tersembunyi.
WordPress sendiri menyediakan mekanisme checksum core via WP-CLI, dan dokumentasinya bisa kamu cek di WP-CLI core verify-checksums. Untuk pola webshell umum, referensi dari OWASP Web Shell juga layak masuk playbook internal.
Aturan Praktis: Jangan Alert Semua Perubahan
Ini bagian yang sering dilupakan: perubahan file bukan selalu insiden. Update plugin, cache regeneration, build assets, dan backup sementara bisa membuat FIM banjir noise. Akibatnya, tim mulai mengabaikan alert.
Solusinya, pisahkan zona file:
- Zona sakral: core WordPress,
wp-config.php, mu-plugins, drop-ins. - Zona terkendali: plugin dan theme, berubah hanya saat deployment atau update.
- Zona bising: cache, logs, uploads, backup temp.
Setelah itu, naikkan severity berdasarkan zona dan perilaku. Perubahan file cache cukup low. PHP baru di uploads plus request publik harus critical. Pendekatan ini jauh lebih efektif daripada “semua file berubah = panik”.
Playbook Respons Saat Alert Muncul
Jika runtime malware detection atau FIM memberi alert critical, jangan langsung restore backup. Pertama, amankan bukti. Kemudian, baru lakukan containment.
- Snapshot file, DB, access log, error log, dan audit log.
- Nonaktifkan eksekusi PHP di uploads dan folder writable.
- Karantina file baru yang mencurigakan.
- Cek user admin, application password, cron, plugin aktif, dan mu-plugins.
- Reset kredensial admin, hosting, SSH, DB, SFTP, SMTP, dan API key terkait.
- Patch plugin, theme, core, lalu bandingkan ulang checksum.
- Review jalur masuk, bukan cuma membersihkan payload.
Kalau kamu ingin memperkuat sisi akses, lanjutkan dengan checklist MFA untuk wp-admin, hosting, SSH, Git, dan DNS. Banyak insiden malware ternyata mulai dari akun bocor, bukan exploit rumit.
FAQ
Apa beda runtime malware detection dan file integrity monitoring?
File integrity monitoring mendeteksi perubahan file dari baseline. Runtime malware detection melihat perilaku saat aplikasi berjalan, seperti eksekusi PHP aneh, command execution, atau koneksi outbound mencurigakan.
Apakah FIM cukup untuk keamanan WordPress?
Belum cukup. FIM kuat untuk mendeteksi perubahan file, tetapi kamu tetap butuh audit user, log aktivitas, hardening permission, patch management, dan monitoring runtime agar konteks serangan terlihat.
Kapan alert harus dianggap critical?
Anggap critical saat file core berubah tanpa update resmi, PHP baru muncul di folder uploads, admin user asing dibuat, atau perubahan file diikuti request publik mencurigakan.
Kesimpulan: Deteksi Cepat Mengalahkan Bersih-Bersih Heroik
Runtime malware detection dan file integrity monitoring bukan aksesori keamanan. Untuk WordPress yang dikelola tim profesional, keduanya adalah sistem alarm utama agar webshell, PHP injection, core file berubah, dan admin palsu tidak hidup terlalu lama.
Mulai dari baseline bersih, korelasikan dengan perilaku runtime, lalu buat playbook respons yang jelas. Kalau kamu sedang membangun standar maintenance WordPress yang lebih aman, ikuti newsletter Google kami untuk checklist teknis, tren keamanan, dan strategi hardening terbaru.



