Konular
WordPress sistemine ait özelliklerden biri olan xmlrpc.php veri transfer özelliği bazen kendi başına sitelerde yavaşlığa sebep olabilmektedir. Bu yavaşlık genellikle bu dosyaya tekrar tekrar istek gelmesi sonucunda hosting kaynaklarının tükenmesi ile oluşmaktadır.
Bu makalemizde wordpress’te xmlrpc.php dosyasının nasıl devre dışı bırakabileceğinizden bahsedeceğiz. Öncelikle xmlrpc’nin ne olduğunu kısaca anlatalım.
Xmlrpc.php Nedir?
WordPress sisteminde bulunan XML-RPC özelliği sistemsel olarak çalışma mantığından bahsetmek gerekirse. Sitenize bilgisayar üzerinden ulaşamayacağınız noktalarda, tablet veya mobil telefonunuzdan giriş yapmanızı xmlrpc.php dosyası üzerinden gerçekleştirilmektedir.
XML-RPC, HTTP taşıma türü ve XML kodlama ile veri transferine olanak tanıyan wordpress özelliğidir. Açık kaynak olarak ücretsiz dağıtılan wordpress, eklenti veya temaların ya da wordpress kendi sistemiyle iletişime geçmesi gerektiği için, xmlrpc.php dosyası ile gerçekleştirilmekte.
Xmlrpc.php Neden Devre Dışı Bırakılmalı?
Sistem tarafında güvenlik zafiyetine sebep olabilmektedir. Bu direk xmlrpc.php dosyasına bağlı değil bu dosyanın kullanımı sağlanarak brute force atağı almanıza olanak sağlayabilen bir durumdur.
WordPress tarafında kullandığınız güvenlik eklentileri dahil en başta bu dosyayı devre dışı bırakmaktadır. Genel olarak güvenlik açıklarının ana sebebi olarak görebiliriz bu dosyayı. Sonuç olarak veri transferi sağlayan bir dosya olduğu için ilk hedef alınacak zafiyettir.
Bu dosya saldırı anında kullanılması dışında yapılan veri transferleri sırasında da yüksek kaynak kullanımı yapabilmektedir. Özellikle bu dosyadan çok fazla istek geldiğinde RAM ve CPU kullanımı hosting tarafında sınıra ulaşacak ve sonlandırılması gerekecektir. Bu tekrarlanabilen bir işlem olduğu için devredışı bırakılması daha sağlıklı olmaktadır.
Xmlrpc.php Nasıl Devre Dışı Bırakılır?
Eklenti Kurulumu
WordPress sitesinde eklenti ile xmlrpc.php dosyasını devre dışı bırakmak oldukça kolaydır.
Adım 1 – Eklenti Ekle
WordPress admin panelinizde sol menüden “Eklentiler > Yeni Ekle
” sekmesine tıklayınız.
Adım 2 – Şimdi Kur
Sağ köşede ki arama bölümüne Disable XML-RPC yazınız ve aşağıdaki görselde ki gibi çıkan eklentiyi yükleyiniz ve aktifleştiriniz.
Sonrasında ek olarak bir işlem yapmanıza gerek kalmayacaktır. Otomatik olarak eklenti xmlrpc.php dosyasını devre dışı bırakan kodu ekleyecektir.
Tabi belirtmek isteriz ki kullandığınız eklentilere bağlı olarak xmlrpc.php dosyasının devre dışı kalması çakışmalara sebep olabilir veya sitede olumsuzluklar yaratabilir.
Htaccess ile XMP-RPC Devre Dışı Bırakma
Adım 1 – Hizmet Listesi
Müşteri paneline giriş yaptıktan sonra Hizmetler > Hizmet Listesi
sayfasına giriş yapın.
Hosting paketinizin sağ tarafında ki Yönetim
butonuna tıklayınız.
Adım 2 – cPanel’e Bağlan
Hosting yönetim paneline giriş yaptıktan sonra sol menüden cPanel’e Bağlan
butonuna tıklayınız.
Adım 3 – Dosya Yöneticisi
cPanel yönetim paneli sayfasında, Dosyalar
kategorisinin altında bulunan Dosya Yöneticisi
sekmesine tıklayınız.
Adım 4 – Htaccess Dosyası
Dosya yöneticisi sayfasında public_html
klasörüne giriniz.
Açılan sayfada .htaccess dosyası olması gerekmektedir. Eğer görünmüyor ise sağ üst tarafta bulunan ayarlar sekmesinden Gizli Dosyaları Göster
kutucuğunu işaretleyip kaydediniz. Ardından .htaccess dosyasına sağ tıklayıp Edit
butonuna tıklayınız.
Adım 5 – Düzenle / Edit
Açılan ekranda Edit
butonuna tıklayınız.
Adım 6 – HTTPS Kodu
Aşağıda verilen kodları .htaccess dosyasının en altına yapıştırınız. Ardından sağ üst tarafta bulunan Değişiklikleri Kaydet
butonuna tıklayınız.
Eklemeniz gereken kod parçası aşağıda belirtilmiştir.
# Block WordPress xmlrpc.php requests
<files xmlrpc.php="">
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
</files>
Kod eklendikten sonra herhangi bir işlem yapılmasına gerek yoktur. Ancak belirtmek isteriz ki bu tip durumlarda baze xml-rpc tarafına gelen ataklar durdurulamayabiliyor. Bu tip bir durumda teknik destek talebi ileterek kontrol sağlanmasını talep edebilirsiniz.