Apa Itu Xmlrpc.php WordPress dan Mengapa Sebaiknya Dinonaktifkan?

Apa Itu Xmlrpc.php WordPress dan Mengapa Sebaiknya Dinonaktifkan?

WordPress selalu menyediakan berbagai fitur yang telah terinstall di dalamnya sehingga Anda bisa mengakses situs Anda dari jarak jauh atau secara remote. Misalnya, saat ini Anda tidak berada di rumah atau kantor, tetapi Anda ingin tetap bisa mengakses dan mengelola website dari jarak jauh. Biasanya user akan menggunakan file xmlrpc.php untuk mengaktifkan kemampuan seperti ini.

Namun belakangan ini, file tersebut malah ‘mengotori’ website dan bukannya menawarkan solusi terbaik.

Di tutorial ini, kami akan membahas lebih dalam mengenai xmlrpcp.php dan tujuan pembuatan file ini. Kami juga akan menjelaskan lebih detail permasalahan umum yang terjadi terkait file ini dan mengapa Anda harus menghapusnya dari situs WordPress Anda.

Pengertian Xmlrpc.php

XML-RPC adalah fitur WordPress yang memungkinkan data agar dapat ditransmisikan, di mana HTTP berperan sebagai transport dan XML sebagai encoding. Karena WordPress bukanlah sistem yang self-enclosed dan terkadang harus berkomunikasi dengan sistem lainnya, maka fitur ini sering digunakan.

Sebagai contoh, Anda ingin menerbitkan post ke situs lewat perangkat mobile karena saat ini Anda sedang tidak berada di depan komputer. Dalam hal ini, Anda membutuhkan akses remote yang dapat diaktifkan dengan xmlrpc.php.

Fitur inti yang diaktifkan oleh xmlrpc.php memungkinkan Anda 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, Anda 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.

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 Anda 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.

Mengapa 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 Anda.

Tentu saja Anda 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 Anda ketahui.

Kelemahan pertama, file ini dimanfaatkan oleh penjahat cyber untuk mengumpulkan informasi login agar mereka dapat masuk ke situs Anda. 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 Anda.

Buka Plugins > Add New melalui dashboard WordPress. Cari Disable XML-RPC dan install plugin tersebut, seperti yang ditunjukkan oleh gambar di bawah ini:

Plugin Xmlrpcp

Setelah diaktifkan, plugin ini akan secara otomatif memasukkan kode yang dibutuhkan untuk menonaktifkan XML-RPC.

Namun, satu hal yang perlu Anda ketahui bahwa ada beberapa plugin yang menggunakan sebagian XML-RPC sehingga ketika file ini dimatikan, akan muncul masalah antarplugin atau elemen tertentu dari situs Anda tidak dapat berfungsi lagi.

Jika Anda 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 Anda 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 ‘show hidden file’ di file manager atau aplikasi FTP untuk mencari file htaccess.

Masukkan kode berikut ini ke file .htaccess Anda:

# 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 Anda 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 Anda sebagai pemilik website yang dibuat di WordPress.

Agar keamanan situs Anda tetap terjaga, matikanlah xmlrpc.php sepenuhnya, kecuali kalau Anda membutuhkan plugin JetPack dan beberapa fungsi lainnya agar bisa menerbitkan konten secara remote. Sebenarnya, Anda bisa memilih plugin alternatif untuk mengaktifkan fitur-fitur tersebut sambil terus meningkatkan keamanan.

Kami berharap semoga berbagai fitur di xmlrpc php nantinya dapat diintegrasikan ke dalam API WordPress terbaru sehingga akses remote bisa dibuat tanpa mengorbankan keamanan. Namun untuk saat ini, penting bagi Anda untuk menjaga keamanan situs dengan mematikan file XML-RPC.

Apakah Anda sudah memblokir akses xmlrpc.php WordPress dengan menggunakan plugin atau cara manual? atau malah mengalami masalah terkait keamanan karena terlanjur mengaktifkan XML-RPC di situs Anda? Jangan ragu untuk membagikan pengalaman Anda melalui kolom komentar di bawah ini.

Author
Penulis

Ariata C.

Ariata suka sekali menulis dan menerjemahkan, dan sekarang ini bekerja sebagai translator di Hostinger Indonesia. Lewat artikel dan tutorial yang diterbitkan di blog Hostinger, Ariata ingin membagikan pengetahuan tentang website, WordPress, dan hal terkait hosting lainnya kepada para pembaca.