Serangan Remote Code Execution (RCE) adalah jenis serangan siber yang memungkinkan penyerang menjalankan perintah atau kode berbahaya di server melalui celah keamanan aplikasi. Jika WordPress berhasil dieksploitasi, penyerang berpotensi memasang malware, membuat akun administrator ilegal, mencuri data, mengubah konten website, atau mengambil alih server.
Untuk website berbasis WordPress, perlindungan tidak cukup hanya dengan memasang plugin keamanan. Anda perlu mengamankan WordPress, plugin, tema, konfigurasi PHP, database, dan akses server secara bersamaan.
1. Langkah perlindungan utama
1. Perbarui WordPress, plugin, dan tema
- Gunakan versi WordPress stabil yang masih didukung.
- Perbarui plugin dan tema segera setelah pembaruan keamanan tersedia.
- Hapus plugin dan tema yang tidak digunakan.
- Hindari plugin atau tema bajakan (nulled) yang dapat disisipi backdoor.
2. Gunakan Web Application Firewall (WAF)
WAF membantu menyaring permintaan berbahaya sebelum mencapai aplikasi WordPress. Pilihan yang dapat dipertimbangkan adalah Cloudflare atau WAF dari penyedia hosting.
WAF membantu mengurangi risiko eksploitasi, tetapi tidak menggantikan pembaruan software dan perbaikan celah keamanan.
3. Pasang plugin keamanan yang tepercaya
Pertimbangkan Wordfence Security untuk firewall dan pemindaian malware, atau Solid Security untuk penguatan keamanan akun dan konfigurasi WordPress.
Pilih konfigurasi yang sesuai dengan hosting Anda dan hindari memasang banyak plugin yang memiliki fungsi tumpang tindih.
4. Amankan akun administrator
- Gunakan kata sandi unik dan kuat.
- Aktifkan autentikasi dua faktor (2FA).
- Hindari menggunakan akun
adminsebagai nama pengguna. - Batasi hak akses berdasarkan kebutuhan.
- Hapus akun pengguna yang sudah tidak diperlukan.
2. Pengamanan teknis untuk mencegah RCE
Selain langkah dasar di atas, lakukan penguatan konfigurasi berikut. Dokumentasi resmi WordPress juga merekomendasikan pembaruan rutin, pembatasan izin file, dan pembatasan kemampuan administrator.
WordPress Developer Resources
A. Nonaktifkan editor PHP dari dashboard
Tambahkan kode berikut ke file wp-config.php, sebelum baris /* That's all, stop editing! */ jika baris tersebut tersedia.
define( 'DISALLOW_FILE_EDIT', true );Pengaturan ini menonaktifkan editor file plugin dan tema dari dashboard WordPress. Ini mengurangi risiko jika akun administrator berhasil diambil alih, tetapi tidak mencegah seluruh metode RCE.
B. Periksa izin file dan folder
Untuk hosting Linux, acuan umum adalah:
| Lokasi | Izin yang disarankan |
|---|---|
| Folder WordPress | 755 |
| File WordPress | 644 |
wp-config.php | 600 atau 640, sesuai konfigurasi server |
| Folder upload | Tidak boleh menjalankan PHP jika tidak diperlukan |
Pastikan pemilik file dan konfigurasi PHP-FPM/Apache sesuai dengan lingkungan hosting. Jangan mengubah izin secara massal tanpa memeriksa kebutuhan hosting karena dapat menyebabkan website atau proses pembaruan gagal.
C. Cegah eksekusi PHP di folder upload
Jika website menggunakan Apache dan folder wp-content/uploads tidak memerlukan eksekusi PHP, Anda dapat membuat file .htaccess di dalam folder tersebut:
<FilesMatch "\.php$">
Require all denied
</FilesMatch>Uji terlebih dahulu pada staging atau backup. Aturan ini berlaku untuk konfigurasi Apache yang mendukung sintaks tersebut dan tidak otomatis berlaku untuk Nginx. Pada Nginx, pembatasan harus dilakukan di konfigurasi server. Pastikan aturan tidak mengganggu aplikasi atau plugin yang memang memerlukan eksekusi PHP di lokasi tersebut.
D. Lindungi konfigurasi dan database
- Pastikan
wp-config.phptidak dapat diakses melalui HTTP. - Gunakan HTTPS untuk dashboard dan seluruh halaman login.
- Gunakan kredensial database unik dengan hak akses minimum.
- Nonaktifkan akses database dari jaringan publik jika tidak diperlukan.
- Gunakan SFTP atau SSH, bukan FTP tanpa enkripsi.
- Nonaktifkan fungsi PHP berisiko hanya setelah audit kompatibilitas aplikasi; jangan menyalin daftar
disable_functionssecara membabi buta.
3. Plugin dan layanan yang bisa digunakan
Wordfence Security
Firewall, malware scan, dan keamanan login
Cocok untuk pemilik website yang ingin memantau perubahan file, malware, backdoor, dan plugin yang rentan.
Cloudflare
Perlindungan di sisi jaringan
Dapat membantu menyaring trafik berbahaya sebelum mencapai server asal. Untuk perlindungan optimal, pastikan IP origin tidak bisa diakses langsung untuk melewati WAF.
4. Cara memeriksa apakah WordPress sudah terkena RCE
Jika Anda mencurigai website telah disusupi, jangan hanya mengandalkan pemindaian plugin. Periksa beberapa indikator berikut.
- Ada akun administrator yang tidak dikenal.
- Muncul file PHP baru di folder upload atau direktori yang tidak semestinya.
- File inti WordPress, plugin, atau tema berubah tanpa sepengetahuan Anda.
- Ada trafik keluar, proses server, atau penggunaan CPU yang tidak biasa.
- Terdapat pengalihan ke website asing, spam SEO, atau kode JavaScript mencurigakan.
- Log server menunjukkan permintaan mencurigakan yang diikuti perubahan file atau aktivitas tidak biasa.
Gunakan pemindaian Wordfence dan bandingkan file inti WordPress dengan versi resmi. Hasil pemindaian yang bersih tidak menjamin server bebas dari seluruh backdoor.
Jika ditemukan indikasi kompromi: simpan log dan salinan bukti, batasi akses server bila perlu, lakukan pemulihan dari backup yang diketahui bersih, perbarui semua komponen, lalu rotasi kata sandi WordPress, hosting, SSH/SFTP, database, serta kunci autentikasi. Jangan langsung menghapus semua file mencurigakan sebelum menyimpan bukti yang dibutuhkan untuk mencari sumber serangan.
5. Checklist prioritas pengamanan
Daftar pemeriksaan keamanan
0/8
[x] Backup lengkap file dan database
[x] Update WordPress, plugin, tema, dan PHP yang didukung
[x] Aktifkan WAF dan pemindaian malware
[x] Aktifkan 2FA dan audit akun administrator
[x] Nonaktifkan editor file dashboard
[x] Periksa izin file dan blokir eksekusi PHP di uploads
[x] Aktifkan monitoring log dan perubahan file
[x] Uji pemulihan backup secara berkala
Referensi teknis utama: Panduan Hardening WordPress resmi.


















