Blokir XML-RPC di Nginx

2 hari ini pada salah satu VPS yang isinya cuma hosting satu situs WordPress tiba – tiba system loadnya melonjak menjadi rata – rata 3.00. 🙁 Padahal pengunjungnya dibawah 100 orang per hari dan spesifikasinya asli berlebih (DigitalOcean 512MB). Ini menyebabkan sering muncul pesan 501 Internal Server Error dan Connection Timed Out karena sudah kewalahan web servernya. Ternyata pas saya baca pada log Nginx sedang dihajar habis – habisan file xml-rpc.php milik WordPress. Wew…

Jadi apa itu XML-RPC? Ini adalah API yang berfungsi memberikan jalur aplikasi eksternal untuk berkomunikasi dengan situs WordPressnya. Seperti publikasi dan edit posting, publikasi dan edit komentar, upload gambar, dan seterusnya. Dan memang salah satu celah keamanan yang sering digunakan untuk menyerang WordPress adalah XML-RPC.

Solusinya apa? Yang bisa saya berikan sifatnya adalah sementara saja dan saya ingatkan dulu dengan memblokir akses ke XML-RPC bisa membuat beberapa fungsi plugin dan tema WordPress tidak berjalan normal. Yang saya ingat adalah JetPack terutama dan pasti masih ada lagi.

Bagaimana caranya? Silahkan edit konfigurasi virtual host Nginx dan kemudian tambahkan kode berikut:

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

Setelah itu reload konfigurasi Nginx atau bisa juga restart. Yang penting dimuat ulang konfigurasi barunya. Selesai. 🙂

Oh ya, saya pernah membahas hal yang sama untuk Apache dan kurang lebih bisa diterapkan pada shared hosting karena bisa dipasangkan pada file .htaccess.

6 pemikiran pada “Blokir XML-RPC di Nginx

  1. Malam mas, mau tanya xmlrpc saya per-harinya banyak diakses kalau saya lihat dari log nya, apakah ini berbahaya dan setelah saya cek ip tersebut adalah punya google, perlu diblokir tidak ya?

    • Mas merasa banyak spam masuk tidak? Jangan diblokir kalau tidak terpaksa, dan walaupun menamakan dirinya googlebot sebaiknya dicek alamat IPnya milik siapa. Sering ada bot menyamar.

      Paling fleksibel lakukan rate limiting sih.

  2. Terimakasih mas, ip google saya cek melaui whois punya google inc dan waktunya teratur, sedangkan yg ip ga unik 10x lebih banyak.

    • Saya jarang mematikan kalau ga parah mas. Opini saja, saya ragu ada hubungannya dengan SEO soalnya ini bukan hal yang bisa/perlu diindeks Google.

Tinggalkan komentar