XML-RPC adalah sebuah modul bahasa pemrograman php yang memungkinkan beberapa sistem dapat saling terhubung melalui jaringan internet. Dengan XML-RPC, kamu dapat mengkoneksikan device atau perangkat kamu ke sebuah website dengan mudah. Namun, XML-RPC juga memiliki issue pada sisi keamanan.
Fitur inti yang diaktifkan oleh xmlrpc.php memungkinkan kamu untuk membuat koneksi ke situs via smartphone, menjalankan trackback dan pingback dari situs lain, serta mengaktifkan beberapa fungsi yang terkait dengan plugin Jetpack.
Alasan Dibuatnya Xmlrpc dan Cara Menggunakannya
Berbicara soal cara menggunakan Xmlrpc, kita harus kembali ke masa di mana WordPress belum menjadi CMS WordPress seperti sekarang ini.
Di awal kemunculan internet, ketika koneksi masih lambat dan belum secepat sekarang, proses menulis dan menerbitkan post tidaklah mudah dan menghabiskan waktu yang lama. Alih-alih langsung membuat post di browser, sebagian besar orang memilih menulisnya secara offline, kemudian disalin ke website.
Saat itu, satu-satunya solusi yang bisa ditawarkan adalah membuat aplikasi blogging offline sebagai wadah untuk membuat konten. Apabila ingin menerbitkan konten tersebut, kamu harus membuat koneksi ke blog online. Koneksi ini dibuat melalui XML-RPC. Aplikasi edisi lama menggunakan koneksi yang sama yang dibuat di Xmlrpc. Dengan demikian, orang-orang bisa login ke situs WordPress mereka dari perangkat lain.
Pada panduan ini, kami akan menjelaskan apa itu XML-RPC secara lebih detail dan alasan kenapa fitur ini lebih baik dinonaktifkan.
XML-RPC Masa Kini
Pada tahun 2008, dengan diluncurkannya versi WordPress 2.6, user diberi opsi untuk mengaktifkan atau menonaktifkan XML-RPC. Hanya saja, semenjak WordPress merilis aplikasi WordPress untuk iPhone, fitur XML-RPC diaktifkan secara default dan sayangnya, user tidak diberi pilihan untuk mematikan pengaturan fitur ini.
Seiring dengan berjalannya waktu, fungsionalitas dari file Xmlrpc php semakin menurun, dan keseluruhan ukurannya telah mengecil dari 83kb ke 3kb. Dari sini kamu bisa lihat kalau file ini tidak memberikan dampak yang berarti lagi.
Masa Depan XML-RPC
Dengan adanya WordPress API terbaru, diharapkan XML-RPC dapat dihapus tanpa tersisa. Saat ini, API terbaru masih dalam tahap trial dan hanya dapat diaktifkan melalui penggunaan plugin.
Semoga suatu saat nanti, API dapat diprogram secara langsung ke inti WordPress sehingga file xmlrpc.php dapat dieliminasi sepenuhnya.
Meskipun belum sempurna, API terbaru menawarkan solusi yang lebih andal dan aman terhadap masalah yang mungkin disebabkan oleh xmlrpc php.
Kenapa Xmlrpc.php Harus Dimatikan?
Masalah terbesar XML-RPC adalah keamanan. Sebenarnya, masalah ini tidak langsung berhubungan dengan Xmlrpc php, tetapi lebih kepada fakta bahwa file tersebut dapat dimanfaatkan untuk mengaktifkan serangan membahayakan di situs kamu.
Tentu saja kamu dapat mengamankan situs dengan membuat password yang ‘kuat’ serta menginstall plugin keamanan WordPress. Namun, cara terbaik dan terampuh hanyalah mematikan file xmlrpc.php WordPress.
Ada dua kelemahan xmlrpc.php WordPress yang sebaiknya kamu harus tahu.
- Kelemahan pertama, file ini dimanfaatkan oleh penjahat cyber untuk mengumpulkan informasi login agar mereka dapat masuk ke situs kamu. Mereka akan menggunakan berbagai username dan kombinasi password.
Penjahat ini menggunakan metode yang cukup efektif, yakni memanfaatkan satu perintah atau command untuk mengetes berbagai password yang berbeda. Dengan cara ini, mereka bisa membobol tool keamanan yang sejatinya berfungsi untuk mendeteksi dan memblokir serangan.
- Kelemahan kedua, masuk ke situs offline lewat serangan DDoS. Hacker akan menggunakan fitur pingback WordPress untuk mengirimkan pingback ke ribuan situs dalam sekejap. Fitur yang juga ditawarkan oleh xmlrpc php ini memberi peluang pada hacker untuk memperoleh sebanyak mungkin alamat IP sehingga serangan DDoS bisa dilancarkan.
Untuk mengecek aktif tidaknya xmlrpc.php di situs, gunakan tool XML-RPC Validator. Buka situs Anda melalui tool tersebut, dan jika pesan error muncul, maka itu berarti tidak ada XML-RPC yang diaktifkan. Sebaliknya, jika Anda mendapatkan pesan ‘berhasil’, maka sebaiknya matikan file xmlrpc.php dengan dua cara berikut ini:
Cara 1: Mematikan Xmlrpc.php WordPress dengan Menggunakan Plugin
Tidak mudah untuk menonaktifkan XML-RPC di situs WordPress kamu.
Buka Plugins > Add New melalui dashboard WordPress. Cari Disable XML-RPC dan install plugin tersebut, seperti yang ditunjukkan oleh gambar di bawah ini:
Setelah diaktifkan, plugin ini akan secara otomatif memasukkan kode yang dibutuhkan untuk menonaktifkan XML-RPC.
Namun, satu hal yang perlu kamu ketahui bahwa ada beberapa plugin yang menggunakan sebagian XML-RPC sehingga ketika file ini dimatikan, akan muncul masalah antar plugin atau elemen tertentu dari situs kamu tidak dapat berfungsi lagi.
Jika kamu hanya ingin mematikan elemen tertentu dari XML-RPC, tetapi sebagian plugin dan fitur bisa digunakan, maka install plugin di bawah ini:
- Stop XML-RPC Attack. Plugin ini akan menghentikan semua serangan XML-RPC, tapi beberapa plugin seperti Jetpack dan tool serta plugin otomatis lainnya masih bisa mengakses file xmlrpc.php.
- Control XML-RPC Publishing. Plugin ini memungkinkan Anda untuk mengontrol dan menggunakan opsi publishing remote yang disediakan oleh xmlrpc.php.
Cara 2: Mematikan Xmlrpc.php Secara Manual
Jika kamu tidak ingin menggunakan plugin dan lebih suka melakukan metode manual, maka cara ini layak untuk dicoba. Metode manual diklaim bisa menghentikan semua permintaan xmlrpc.php yang datang sebelum masuk ke WordPress.
Buka file .htaccess. Jika susah menemukannya, aktifkan klik ‘show hidden file’ di file manager atau aplikasi FTP untuk mencari file htaccess.
Masukkan kode berikut ini ke file .htaccess kamu:
# Block WordPress xmlrpc.php requests <Files xmlrpc.php> order deny,allow deny from all allow from 123.123.123.123 </Files>
Kesimpulan
Xmlrpc php di WordPress merupakan solusi terbaik untuk masalah tertentu yang terjadi karena kamu harus mem-publish post secara remote. Namun, keamanan fitur ini menjadi isu utama yang harus diperhatikan secara saksama. Jika diacuhkan, kelemahan ini hanya akan merugikan kamu sebagai pemilik website yang dibuat di WordPress.
Agar keamanan situs kamu tetap terjaga, matikanlah xmlrpc.php sepenuhnya, kecuali kalau kamu membutuhkan plugin JetPack dan beberapa fungsi lainnya agar bisa menerbitkan konten secara remote. Sebenarnya, kamu bisa memilih plugin alternatif untuk mengaktifkan fitur-fitur tersebut sambil terus meningkatkan keamanan.