A. Pendahuluan
Pengguna WordPress sering kali tidak menyadari adanya fitur bawaan bernama XML-RPC (xmlrpc.php). Fitur ini sebenarnya berfungsi sebagai "pintu belakang" yang memungkinkan aplikasi pihak ketiga (seperti aplikasi WordPress di HP atau plugin Jetpack) untuk berkomunikasi langsung dengan website kamu dari jarak jauh.
Seiring perkembangan WordPress, fungsi XML-RPC kini sebagian besar telah tergantikan oleh REST API yang lebih modern dan aman. Namun, karena XML-RPC tetap aktif secara default, fitur ini kerap menjadi celah keamanan yang dimanfaatkan peretas untuk melakukan berbagai serangan, terutama:
- Brute Force Attack: Peretas mencoba ribuan kombinasi username dan password dalam satu kali permintaan HTTP, melewati batas keamanan login biasa.
- DDoS Attack: Peretas menggunakan fitur pingback di XML-RPC untuk membanjiri server kamu dengan lalu lintas palsu, membuat website menjadi lambat atau bahkan down.
Jika kamu tidak menggunakan aplikasi WordPress di perangkat mobile atau plugin Jetpack, maka sangat disarankan untuk menonaktifkan fitur XML-RPC ini guna meningkatkan keamanan server dan website. Artikel ini akan memandu kamu cara mematikannya dengan aman.
Peringatan Penting:
Jangan nonaktifkan XML-RPC jika kamu menggunakan:
- Aplikasi WordPress Mobile (Android/iOS).
- Plugin Jetpack (Automattic).
- Integrasi layanan pihak ketiga yang spesifik membutuhkan XML-RPC.
B. Cara Cek Status XML-RPC
Sebelum menonaktifkan XML-RPC, sebaiknya pastikan terlebih dahulu apakah fitur ini masih aktif di website kamu. Kamu bisa menggunakan dua cara berikut:
1. Cek Langsung via Browser
Cara termudah adalah dengan mengakses file tersebut langsung melalui browser.
- Buka browser (Chrome, Edge, atau Firefox).
- Ketik alamat berikut di kolom URL:
http://yourdomain.com/xmlrpc.php
(Ganti `yourdomain.com` dengan alamat website kamu sendiri). - Hasil Pengecekan:
- Jika Normal (Aktif): Layar putih akan menampilkan tulisan:
XML-RPC server accepts POST requests only. - Jika Sudah Nonaktif: Layar akan menampilkan pesan 403 Forbidden atau 404 Not Found.
2. Menggunakan Tools Pengecekan Online
Jika ingin hasil yang lebih mendetail, kamu bisa menggunakan tools pihak ketiga.
- Kunjungi tools seperti WordPress XML-RPC Validator.
- Masukkan alamat website kamu lalu klik "Check".
- Jika hasilnya "Congratulations! Your site passed the first check." atau "XML-RPC is enabled", berarti fitur tersebut masih aktif.
Jika hasilnya menunjukkan fitur masih aktif, silakan ikuti salah satu metode di bawah ini untuk menonaktifkannya.
C. Metode Menonaktifkan XML-RPC
Kamu bisa memilih metode yang paling sesuai dengan jenis server dan cara pengelolaan website kamu. Secara umum, menonaktifkan XML-RPC bisa dilakukan dari level server atau level WordPress.
Metode 1: Blokir dari Level Server (Paling Direkomendasikan)
Metode ini paling efektif karena permintaan ke xmlrpc.php akan ditolak sebelum WordPress dijalankan, sehingga menghemat CPU, RAM, dan mencegah beban server berlebih.
A. Jika Menggunakan Web Server Apache atau OpenLiteSpeed
Metode ini berlaku untuk hampir semua jenis Shared Hosting atau VPS yang menggunakan Apache/LiteSpeed (.htaccess).
- Akses File Manager (lewat Control Panel, FTP, atau SSH).
- Masuk ke folder document root website kamu (biasanya bernama
public_html,httpdocs, atau nama domain kamu). - Cari file bernama
.htaccess.
(Catatan: Jika tidak terlihat, pastikan kamu sudah mengaktifkan opsi "Show Hidden Files"). - Edit file tersebut dan tambahkan kode berikut di baris paling bawah:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
- Simpan perubahan. Server akan langsung menolak akses ke file tersebut.
B. Jika Menggunakan Web Server Nginx
Karena Nginx tidak membaca file .htaccess, kamu perlu menambahkannya langsung di konfigurasi server block (vhost). Ini biasanya dilakukan oleh pengguna VPS.
- Buka file konfigurasi server block untuk domain kamu.
(Lokasi umumnya ada di `/etc/nginx/sites-available/namadomain.conf` atau melalui menu Config jika menggunakan panel). - Cari blok konfigurasi
server { ... }. - Sisipkan kode berikut di dalam blok server tersebut:
# Block WordPress xmlrpc.php requests
location = /xmlrpc.php {
deny all;
access_log off;
log_not_found off;
return 403;
}
- Penting: Sebelum restart, cek apakah konfigurasi sudah benar dengan perintah
nginx -tdi terminal. - Jika statusnya OK/Successful, lakukan reload service Nginx.
Metode 2: Menggunakan Plugin WordPress (Paling Mudah)
Jika kamu tidak memiliki akses ke file server atau merasa metode pertama terlalu rumit, gunakan cara ini.
- Login ke Dashboard WordPress (
wp-admin). - Masuk ke menu Plugins → Add Plugin.
- Cari plugin dengan kata kunci "Disable XML-RPC".
- Instal dan aktifkan plugin tersebut (misalnya: Disable XML-RPC-API).
- Selesai! Plugin akan otomatis bekerja.
Catatan: Metode ini mudah, namun beban serangan masih sedikit membebani WordPress karena permintaan harus diproses oleh plugin sebelum ditolak.
D. Verifikasi Hasil
Setelah menerapkan salah satu metode di atas, lakukan pengecekan ulang:
- Coba akses kembali
http://yourdomain.com/xmlrpc.phpdi browser. - Pastikan hasilnya sekarang "403 Forbidden" atau halaman tidak bisa diakses.
Jika sudah muncul error atau status disabled, selamat! Kamu telah berhasil menutup salah satu celah keamanan terbesar di WordPress.
E. Kesimpulan
Menonaktifkan XML-RPC adalah langkah sederhana namun berdampak besar dalam meningkatkan keamanan website WordPress. Dengan menutup celah ini, kamu telah mengurangi risiko terkena serangan Brute Force dan DDoS secara signifikan, sekaligus membantu menjaga performa server tetap stabil.
Keamanan website harus dilakukan secara berlapis. Selain mematikan XML-RPC, pastikan kamu juga menerapkan praktik keamanan lainnya yang tercantum dalam panduan di bawah ini.
Panduan Terkait: