Cara Mudah Menonaktifkan XML-RPC di WordPress

Diposting pada

Cara Mudah menonaktifkan XML-RPC di WordPress. Bagi yang tidak terlalu membutuhkan fitur XMLRPC sangat tidak direkomendasikan untuk membiarkan file ini aktif di WordPress kalian.

Oke mungkin ada yang belum tau apa itu xmlrpc. Dilansir dari WikiPedia, XML-RPC adalah protokol panggilan prosedur jarak jauh yang menggunakan XML untuk menyandikan panggilan dan HTTP sebagai mekanisme transportasi. Sederhananya, xmlrpc ini digunakan bagi pengguna untuk terhubung ke WordPress mereka secara remote. Terhubung disini dalam artian pemilik situs bisa mengelola atau memposting sesuatu ke situs mereka tanpa harus login ke dashboard WP, cukup melalui xmlrpc. Di WordPress, fitur ini aktif dengan file xmlrpc.php yang berlokasi di root path WordPress.

Masalahnya adalah, file dan fitur xmlrpc ini sering dimanfaatkan oleh orang tidak bertanggungjawab untuk melakukan serangan ke situs kita. Keberadaan fitur xmlrpc di WordPress sering dimanfaatkan untuk melancarkan aksi bruteforce. Jadi jangan beranggapan ketika kalian sudah “mengamankan” halaman login WordPress seperti memberikan rate limit ataupun menambahkan captcha maka situs kalian aman dari serangan bruteforce. Karena sejatinya di dunia ini tidak ada yang aman. Karena bruteforce bisa dilakukan dengan melakukan request ke file xmlrpc.php. Untuk pembahasan mengenai bruteforce WordPress melalui file XMLRPC bisa kalian cari sendiri di Google, sudah banyak artikelnya.

File xmlrpc di WordPress sendiri juga sering dimanfaatkan untuk melancarkan serangan DDoS ke server. Keberadaan file ini memungkinkan hacker untuk menggunakan fitur pingback WordPress dan mengirimkan pingback dari ribuan IP ke server target dalam hitungan detik.

Menonaktifkan XML-RPC di WordPress

Oke kembali ke topik. Sesuai judulnya, disini saya akan sharing sedikit mengenai bagaimana cara menonaktifkan fitur ini.

Menggunakan Plugin
Pertama adalah menggunakan plugin. Opsi ini relatif lebih simple karena kalian tinggal menginstall plugin untuk menonaktifkan xmlrpc, dan mengaktifkan plugin tersebut. Salahsatu plugin rekomendasi saya adalah Disable XML-RPC. Plugin ini cukup simple dan ringan. Atau kalau ingin mencoba plugin lain dengan fitur sejenis, kalian bisa explore sendiri.

Cara Manual
Terlalu sering mengandalkan plugin juga tidak baik. Selain memberatkan server, banyak kasus cms WordPress yang diretas sebenarnya bukan karena file core yang memiliki bug, namun karena pengguna yang menginstall theme maupun plugin secara sembarangan.

Oke untuk cara manualnya sendiri disini kalian bisa tambahkan htaccess (untuk pengguna Apache) atau mengedit file serverblock (untuk pengguna Nginx).

Apache
Tambahkan file .htaccess di direktori WordPress kalian, dan masukkan kode berikut didalamnya.

<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

Nginx
Tambahkan baris berikut kedalam serverblock

location = /xmlrpc.php {
deny all;
return 404;
access_log off;
log_not_found off;
}

Jangan lupa restart Nginx agar perubahan konfigurasi terbaca.

Oke mungkin itu saja artikel kali ini. Semoga bermanfaat. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.

Seorang sysadmin yang menggunakan Ubuntu sebagai daily OS.