Apa itu XML-RPC dan Cara Nonaktif

XML-RPC adalah protokol prosedur jarak jauh (RPC) yang menggunakan XML untuk mengkodekan panggilannya dan HTTP sebagai mekanisme transport. “XML-RPC” secara umum merujuk ke penggunaan XML untuk panggilan prosedur jarak jauh, terlepas dari protokol spesifik.
Dengan mengaktifkan XML-RPC memungkinkan melakukan koneksi ke situs via smartphone, menjalankan trackback dan pingback dari situs lain.
Untuk Apa XML-RPC dan Cara Kerjanya
Awalnya XML-RPC dirancang pada masa Wordpress belum menjadi CMS, tujuannya kala itu untuk mempermudah proses penulisan dan penertiban postingan dengan koneksi internet yang masih lambat.
Pada masa itu, satu-satunya solusi yang bisa ditawarkan adalah membuat aplikasi blogging offline sebagai wadah pembuatan konten. Apabila ingin menerbitkan konten tersebut, maka harus membuat koneksi ke blog online yang dibuat melalui XML-RPC. Aplikasi edisi lama menggunakan koneksi yang sama dibuat di Xmlrpc. Dengan demikian, pengguna atau pemilik bisa login ke situs WordPress mereka melalui perangkat lain.
Cara kerja XML-RPC mengatur domain atau turunannya yang dikunjungi dengan cara mengkliknya, maka akan langsung mengarah ke laman web. Folder spesifik berisi informasi yang ingin mereka unduh ke browser mereka. Sekarang browser menafsirkan informasi ini dan menunjukkannya kepada mereka.
Lalu, bagaimana jika mengakses situs tidak menggunakan browser tapi menggunakan perangkat lunak admin kustom atau aplikasi seluler?
XML-RPC Membuat Situs Rentan
Dengan XML-RPC dimungkinkan situs menjadi rentan terhadap serangan, ada dua kerentanan yang terjadi: serangan brute force dan pencurian kredensial masuk.
1. Serangan Brute Force
Para penyerang berupaya menginfeksi situs web menggunakan serangan brute force.
Serangan brute force hanyalah permainan menebak. Penyerang mencoba menebak kata sandi berulang kali hingga berhasil.
Ini terjadi beberapa ribu kali per detik sehingga mereka dapat mencoba jutaan kombinasi dalam waktu singkat.
Di situs WordPress dapat dengan mudah membatasi serangan brute force dengan membatasi upaya masuk untuk situs web. Namun, masalah dengan XML-RPC adalah bahwa ini tidak membatasi upaya masuk di situs.
Seorang penyerang dapat terus menebak dengan membodohi server bahwa mereka adalah admin yang berusaha mengambil beberapa informasi. Dan karena mereka tidak memiliki kredensial yang benar, mereka belum dapat mengakses situs, sehingga mereka terus mencoba beberapa kali tanpa akhir.
Karena tidak ada batasan jumlah percobaan, hanya masalah waktu sebelum mereka mendapatkan akses. Dengan cara ini, seorang hacker juga dapat dengan mudah menurunkan sebuah situs dengan melakukan serangan DDOS XML-RPC (dengan mengirim gelombang permintaan “pingback” ke XML-RPC untuk membebani server).
2. Memotong / Mencuri Informasi Login
Kelemahan lain dari XML-RPC adalah sistem otentikasi yang tidak efisien. Setiap kali mengirim permintaan untuk mengakses situs web, dimana juga harus mengirimkan kredensial login. Ini berarti akan memaparkan nama pengguna dan kata sandi.
Peretas mungkin bersembunyi di sudut untuk mencegat paket informasi ini. Setelah berhasil, mereka tidak perlu lagi mengalami serangan kekerasan. Mereka hanya masuk ke situs web menggunakan kredensial yang valid.
Sejak WordPress versi 3.5, ada banyak peningkatan pada kode XML-RPC yang membuat tim WordPress menganggap cukup aman untuk diaktifkan secara default. Jika mengandalkan aplikasi seluler atau perangkat lunak jarak jauh untuk mengelola situs WordPress, sebaiknya XML-RPC diaktifkan saja.
Ada baiknya menonaktifkan XML-RPC ini, jika web server dirasa cukup lemah.
Cara Menonaktifkan XML-RPC di WordPress
XML-RPC diaktifkan secara default di WordPress, tetapi ada beberapa cara untuk menonaktifkannya.
Menonaktifkan XML-RPC
1. Cari folder theme (“wp-content / themes /”), dan buka file “functions.php”.
2. Tempelkan perintah berikut ke bagian akhir file:
// Disable use XML-RPC
add_filter( ‘xmlrpc_enabled’, ‘__return_false’ );
Memblokir Akses ke file XML-RPC
Cara terbaik untuk mencegah peretas menyerang adalah memblokir akses ke file xml-rpc.
Server Apache
Untuk pengguna server Apache, langkah-langkahnya berikut.
1. Masuk ke CPanel Anda. Cari Manajer File.
2. Buka pengelola file. Arahkan ke folder “public_html” dan kemudian “.htaccess” dokumen.
3. Klik kanan untuk mengedit file.
4. Di bagian bawah file tempel kode berikut:
# Disallow all WordPress xmlrpc.php requests to this domain
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
5. Save and exit.
Nginx server
Untuk pengguna server Nginx, cukup tempelkan kode berikut ke file konfigurasi server:
# nginx block xmlrpc.php requests
location /xmlrpc.php {
deny all;
}