Xmlrpc.php Nedir ve Neden Devre Dışı Bırakılmalıdır? - Moondiggy

Xmlrpc.php Nedir ve Neden Devre Dışı Bırakılmalıdır?

Xmlrpc.php Nedir ve Neden Devre Dışı Bırakılmalıdır?

WordPress sisteminin sahip olduğu bir özellik olan xmlrpc.php’nin bazı web sitelerinde yavaşlama sorununa sebep olmaktadır. Kullanıcılar için Xmlrpc.php, başta çözüm getiren bir özellik olsa da daha sonrası meydana getirdiği sistemsel problemler kullanım noktasında tekrar düşündürmüştür. Bu özelliğin oluşturduğu problemlerin en başında, güvenlik açıkları gelmektedir. Dolayısıyla tüm bunların üzerine akıllara gelen soru: “Xmlrpc.php nedir ve neden devre dışı bırakılmalıdır?” olmuştur.

İçeriğimizde bu soruya cevap arayacağız. Aynı zamanda bir WordPress özelliği olan, xmlrpc.php’nin ne olduğunu, özelliklerini, ne işe yaradığını ve neden olduğu olumsuz sonuçları anlatmaya çalışacağız. Hazırsanız, başlayalım!

Xmlrpc.php Nedir, Ne İşe Yarar?

Web sitelerinin veya blog sayfalarının hazırlanması için kullanılan WordPress, bu alanda oldukça popüler bir uygulamadır. Öyle ki internette gördüğünüz her dört web sitesinden biri WordPress ile hazırlanmıştır. WordPress’in özelliklerinden biri olan xmlrpc.php dosyasının kullanım amacından kabaca bahsedersek şöyle anlatabiliriz: Web sitenize kendi bilgisayarınız üzerinden erişemediğiniz zamanlarda, başka cihazlar üzerinden giriş yapmanızı sağlayan bir özelliktir. Bu işlem xmlrpc.php dosyası üzerinden gerçekleştirilir.

Xmlrpc.php özelliğinin çalışma prensibi şu şekildedir: Xmlrpc.php HTTP için bir tür taşıma mekanizmasıdır. Bu özellik XML’nin kodlama mekanizması olarak çalışır ve veri transferine olanak sağlar. WordPress açık kaynak olarak çalışan bir sistemdir ve diğer sistemlerle de iletişime geçmesi gereken durumlar olur. Xmlrpc.php, işte bu sebeple geliştirilmiştir. Bunun yanında, temelinde web sitenize uzaktan erişimi mümkün kılan bir özellik olarak kullanılmaktadır. Xmlrpc.php nedir öğrendiysek şimdi detaylarına inebiliriz.

Xmlrpc.php Niçin Oluşturuldu?

Xml-rpc özelliğinin uygulanması, WordPress’in şimdiki popülaritesinin olmadığı günlere uzanmaktadır. İnternetin kullanılmaya başlandığı ilk zamanlarda, bağlantılar fazlasıyla yavaştı. Bu yavaşlık nedeniyle internette yazı yazmak ve yayımlamak çok zaman alan, zor bir işti. Bu yüzden kullanıcıların çoğu çevrim dışı olarak yazılarını yazarlardı. Ardından bu yazıları kopyala-yapıştır yöntemiyle internet ortamına taşırlardı. Bu, hiç de kolay ve pratik bir yöntem değildi.

Ortaya çıkan bu sorunun çözümü adına, web sitenizle veya bloğunuzla bağlantı kurabilen offline bir istemci geliştirildi. Bu bağlantıyı sağlayan xml-rpc uygulaması oldu. Xml-rpc sistemi basit olarak oluşturulduğunda, o zaman bulunan ilk uygulamalar bu bağlantıyı kullandı. Kullanıcıların bu sistem ile WordPress sitelerine başka cihazlardan ulaşabilmelerine olanak sağladı.

Xml-rpc Güncel Durumu

2008 yılı itibariyle WordPress 2.6 sürümünün çıkarılmasıyla beraber, xml-rpc’yi etkin kılma ya da devre dışı bırakma seçeneği kullanıcılara sunuldu. Ancak WordPress, iPhone uygulamasının yayınlanmasıyla beraber xml-rpc özelliği varsayılan olarak sürekli etkin kılındı ve kapatma seçeneği de iptal edildi. Günümüzde bu uygulama devam etmektedir.

Şunu da söylemek gerekir ki; xmlrpc.php dosyasının işlevselliği zaman geçtikçe azalmıştı. Dosya boyutu da, 83 KB’tan 3 KB’a kadar gerilemiştir. Artık xmlrpc-php dosyasının büyük bir rol aldığı söylenemez.

Gelecekte Xml-rpc

Xmlrpc.php artık ömrünü tamamlamak üzere diyebiliriz. Yeni geliştirilen WordPress API ile birlikte xml-rpc’nin tamamen ortadan kaldırılacağını düşünebiliriz. WordPress API, henüz deneme aşamasında ve bir eklenti yüklenmesi şartıyla etkinleştirilebilmekte.

WordPress API’nın geliştirilerek doğrudan WordPress çekirdeğine kodlanacağı beklenen uygulamalardan. Böyle bir uygulama yapılması halinde, xmlrpc.php dosyasına olan ihtiyaç ortadan kalkacaktır.

Yeni WordPress API tamamen sorunsuz olmasa da, xmlrpc.php’nin yarattığı sorunların üstesinden gelmek için çok daha iyi bir uygulama olacaktır.

WordPress Xmlrpc.php Neden Devre Dışı Bırakılmalı?

Xmlrpc.php dosyasının ortaya çıkardığı en önemli sorun, güvenlik açığı yaratmasıdır. Sorunu yaratan direk xmlrpc.php dosyası değildir. Ancak web sitesinin güvenliğini tehdit eden bu dosyanın kullanılarak yapılan brute force saldırılarıdır. Web sitenizi veya blog sayfanızı korumak için çok güçlü şifreler edinerek ya da güvenlik eklentileriyle koruyabilirsiniz elbet. Ancak koruma için en etkili yöntemin xmlrpc.php dosyasının etkisiz hale getirilmesidir.

Xml-rpc.php dosyası kullanılarak oluşabilecek tehditler şunlardır:

  • Web sitenize saldırmak için brute force saldırılarının gerçekleştirilmesi: Saldırgan xmlrpc.php dosyasını kullanarak size ait kullanıcı adı ve şifrenizi kombinasyonları deneme yoluyla web sitenize erişim sağlamaya çalışır. Kullanıcı adı ve şifreniz için sadece tek komutla yüzlerce farklı kombinasyon denenebilmektedir.
  • Web sitenizin DDoS saldırısıyla kapatılması: Saldırganlar WordPress’te bulunan pingback özelliğinin durumunu kullanarak saldırıları gerçekleştirirler. Web sitesinin kaldırabileceği eş zamanlı giriş sayısından çok daha fazlasının yüklenmesini sağlarlar. Böylece, sunucu cevap veremez hale geldiği için web sitesi artık kullanılamaz hale gelmektedir.

Tüm bu sebeplerden dolayı, xmlrpc.php dosyasının güvenlik açığı yarattığını açıkça söyleyebiliriz. Bu güvenlik açığını gidermek için yapılan en köklü çözüm ise xmlrpc.php dosyasının etkisiz hale getirmektir.

Xmlrpc.php Nasıl Devre Dışı Bırakılır?

WordPress sitesinde xmlrpc.php dosyasını etkisiz hale getirmek oldukça kolay bir işlemdir. Bu dosyayı devre dışı bırakmanızı sağlayacak iki yöntem bulunmaktadır.

Eklenti Yolu ile Devre Dışı Bırakma

WordPress admin panelinden “Eklentiler/Yeni ekle” sekmesine tıklayın. Sağ köşede arama bölümüne Disable xml-rpc yazın. Karşınıza çıkan arama sonuçlarından eklentiyi yükleyin ve aktifleştirin. Eklenti xmlrpc.php dosyasını etkisiz hale getiren kodu otomatik ekleyecektir.

Ancak belirtilmesi gereken bir nokta vardır. O da devre dışı bırakılan özellikler site içinde çakışmalara neden olabilmektedir.

Dosyanın Manuel Devre Dışı Bırakılması

Eklenti yoluyla devre dışı bırakmak istemeyen kullanıcılar, WordPress paneli üzerinden manuel olarak dosyanın devre dışı bırakılmasını sağlayabilmektedir. Gerçekleştirmeniz gereken adımlar şunlardır:

  1. Müşteri paneline giriş yaptıktan sonra “Hizmetler/Hizmet listesi” sayfasına girin.
  2. Hosting paketinizin sağ tarafında göreceğiniz “Yönetim” butonuna tıklayın.
  3. Yönetim paneline giriş yaptıktan sonra sol menüdeki “cPanele Bağlan” butonuna tıklayın.
  4. Bu sayfada “Dosyalar” kategorisinin altındaki “Dosya Yöneticisi” sekmesine tıklayın.
  5. Burada “public_html” klasörüne girin. Açılan sayfa .htaccess dosyası gözükecektir. Eğer gözükmüyorsa sağ üstte ayarlar sekmesinden “Gizli Dosyaları Göster” kutucuğunu işaretleyin. .htaccess dosyasına sağ tıklayıp “Edit” butonuna tıklayın.
  6. Karşınıza çıkan ekranda “Edit” butonuna tıklayın.
  7. Aşağıda verdiğimiz kodları .htaccess dosyasının en altına yapıştırın. Sonrasında sağ üstte göreceğiniz “Değişiklikleri Kaydet” butonuna tıklayın.

Eklenmesi gereken kod parçası:

# Block WordPress xmlrpc.php requests

 

order deny,allow

deny from all

allow from xxx.xxx.xxx.xxx

Kodu ekledikten sonra herhangi bir işlem yapmanıza gerek kalmaz. Ancak bu işlemi uygulamanıza rağmen bazen xml-rpc tarafına gelecek atakları durduramazsınız. Bu tip bir durumda teknik destek almalısınız.

Xmlrpc.php Nedir Hakkında Sıkça Sorulan Sorular

Xmlrpc.php dosyasının aktif olup olmadığını nasıl kontrol ederim?

Dosyanın sitenizde aktif olup olmadığını kontrol etmek için XML-RPC Validator adlı aracı kullanabilirsiniz. Bu araç üzerinde web sitenizi çalıştırdığınız zaman bir hata mesajı alıyorsanız bu xmlrpc.php dosyasının aktif olmadığı anlamına gelmektedir.

Xmlrpc.php dosyası üzerinden yapılan DDOS saldırısını nasıl tespit ederim?

DDOS saldırısının ilk başladığı zamanlar bunu anlamanız zor olsa da zamanla sunucunun meşguliyet oranı artacaktır. Sunucu kaynaklarınızı incelediğinizde tüm kaynakların kullanımının tavan yaptığını görürsünüz. Saldırıları kesin olarak tespit etmek isterseniz sunucu loglarına bakmanız yeterli olacaktır. “Access Log” dosyasında “POST/xmlrpc.php HTTP/1.0” şekilde loglara rastlamanız durumunda xml-rpc saldırısına uğradığınızdan emin olabilirsiniz.

WordPress ilerleyen zamanda xmlrpc.php dosyasını tamamen iptal etmeyi düşünüyor mu?

Bu sorunun kesin bir cevabı yoktur. Ancak yeni geliştirilen WordPress API ‘nın xmlrpc.php’nin yerine geçebileceği beklentisindeyiz. WordPress API ‘nın çok daha gelişmiş ve sorunsuz olacağından şüphe yoktur.

 

SEO hakkındaki bir önceki yazımız olan ile de ilgilenebileceğinizi düşünüyoruz.

Yorum

Cevapla

E-posta hesabınız yayımlanmayacak.

SEO Uzmanıyla Görüş.

Hemen Bir SEO Uzmanı ile Görüşerek Firmanız İçin İnternette Ön Sıralarda Yer Alma Fırsatını Yakalayın.