Apa itu xmlrpc WordPress? Mungkin Anda sering membaca dan mendengarnya dan sepertinya terlihat sangat berbahaya bagi keamanan WordPress. Benarkah demikian?
Apa Itu XMLRPC WordPress?
Xmlrpc adalah sebuah “jembatan” yang memungkinkan sebuah komunikasi antara WordPress dengan sistem lain di luar WordPress. Mekanisme “transportasi” yang digunakan adalah menggunakan HTTP dan mekanisme encoding menggunakan Extensible Markup Language (XML).
Kode di belakang sistem tersebut disimpan dalam file bernama xmlrpc.php yang terletak di direktori root website.
Pada versi awal kemunculannya di WordPress, Xmlrpc atau XML-RPC secara standar atau default sudah berada dalam kondisi non-aktif. Namun semenjak WordPress versi 3.5 sudah diaktifkan secara default.
Pada awal kehadirannya, XML-RPC ini digunakan sebagai jalur komunikasi antara aplikasi seluler WordPress supaya bisa terhubung dengan instalasi WordPress Anda.
Contohnya lain penggunaan XML-RPC adalah sebagai jalur komunikasi antara WordPress dan platform blogging lainnya. Plugin Jetpack juga menggunakan XML-RPC sebagai jembatan antara WordPress self hosted dengan web WordPress.com.
Namun karena saat ini tugas jalur komunikasi antara WordPress dengan aplikasi lain sudah ditangani oleh WordPress REST API, maka XML-RPC sudah tidak terlalu dibutuhkan.
Bahaya XMLRPC
Mungkin Anda sudah tahu dari berbagai informasi yang sudah ada bahwa file xmlrpc.php ini bisa menjadi jalan bagi para hacker atau orang usil untuk mengganggu web berbasis WordPress.
Xmlrpc bisa menjadi celah dan salah satu jalur atau jalan masuk serangan terhadap web berbasis WordPress. Beberapa hal yang bisa dilakukan oleh hacker untuk mengusili WordPress melalui xmlrpc.php salah satunya adalah serangan DDoS melalui pingback XML-RPC.
Hacker akan memanfaatkan xmlrpc.php untuk mengirim pingback dalam jumlah besar dan secara terus-menerus ke web WordPress dalam waktu singkat. Hal ini tentu saja dapat membebani server dan membuat web tidak berfungsi.
Hal buruk lainnya adalah serangan brute force. Setiap kali xmlrpc.php melakukan permintaan, xmlrpc mengirimkan nama pengguna dan password untuk otentikasi.
Karena xmlrpc.php mengirimkan informasi otentikasi pada setiap permintaan, hacker tentu saja akan memanfaatkannya untuk meretas dan melakukan percobaan utnuk mengakses web WordPress Anda secara terus menerus.
Metode serangan brute force WordPress seperti ini memungkinkan hacker untuk memasukkan konten, menghapus kode dan konten, dan yang paling parah adalah merusak database.
Sebuah pertanyaan kemudian muncul: jika memang file xmlrpc.php berbahaya, kenapa secara default tidak dihilangkan atau dihapus saja dari WordPress?
Memang fungsi xmlrpc.php saat ini sebagian besar sudah digantikan oleh REST API. Namun masalahnya adalah tidak semua pengguna WordPress sadar untuk selalu melakukan update berkala pada file WordPress yang mereka gunakan.
File WordPress lama tentu saja masih membutuhkan xmlrpc.php untuk berbagai alasan yang sudah disebutkan di atas dan REST API tentu tidak akan berjalan dengan baik di WordPress versi lama (versi 4.4 dan sebelumnya).
Cara Disable XMLRPC WordPress
Untungnya, xmlrpc bisa dinonaktifkan atau disable dengan sangat mudah. Jika Anda tidak membutuhkan penggunaan xmlrpc, tentu saja sebuah hal yang mutlak untuk mematikan fitur xmlrpc.php ini.
Ada dua cara yang bisa Anda pilih untuk menonaktifkan xmlrpc di web WordPress Anda.
1. HTAccess
Cara pertama adalah dengan memasukan kode berikut ini ke file .htaccess:
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>
2. Function.php
Cara berikutnya adalah dengan memasukkan kode berikut ini ke file function.php theme WordPress yang sedang Anda gunakan.
add_filter( 'xmlrpc_enabled', '__return_false' );
Cara mana yang lebih baik? Secara fungsi keduanya akan memiliki tujuan dan fungsi yang sama. Namun saya lebih menyarankan Anda menambahkan baris kode melalui file .htaccess saja.
Jika Anda kesulitan, tidak perlu sungkan untuk meminta bantuan ke pihak hosting untuk menonaktifkan xmlrpc ini.
Baca juga: Mengatasi Security Headers di WordPress
Kesimpulan
Xmlrpc WordPress adalah sebuah jalur komunikasi antara WordPress dengan sistem dan aplikasi eksternal. Hingga WordPress versi 4.4 file ini masih dibutuhkan untuk jalur komunikasi tersebut. Namun xmlrpc.php sangat rentan menjadi sasaran empuk hacker untuk mengusili web WordPress.
Namun semenjak WordPress versi 4.5 sudah hadir REST API yang memiliki fungsi sama namun tidak memiliki celah keamanan seperti file xmlrpc.php.
Untuk tingkat keamanan yang lebih baik, Anda sangat disarankan untuk menonaktifkan file xmlrpc.php agar terhindar dari serangan brute force dan DDoS.
Selain menonaktifkan file xmlrpc.php, langkah pengamanan terbaik yang harus selalu dilakukan tentu saja adalah rutin melakukan backup WordPress secara berkala.