Hosting

Cara Melindungi WordPress dari Serangan Remote Code Execution (RCE)

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 admin sebagai 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:

LokasiIzin yang disarankan
Folder WordPress755
File WordPress644
wp-config.php600 atau 640, sesuai konfigurasi server
Folder uploadTidak 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.php tidak 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_functions secara membabi buta.

3. Plugin dan layanan yang bisa digunakan

Comprehensive Guide to Configuring Wordfence for Maximum WordPress Security

Wordfence Security

Firewall, malware scan, dan keamanan login

Cocok untuk pemilik website yang ingin memantau perubahan file, malware, backdoor, dan plugin yang rentan.

Why Cloudflare’s Outage Should Terrify AI-First Startups | by Abhinav | Medium

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.

What's your reaction?

Related Posts

Leave A Reply

Your email address will not be published. Required fields are marked *