15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
01.11.2024

WordPress’te xmlrpc.php Nedir ve Nasıl Devre Dışı Bırakılır (Tam 2024 Rehberi)

WordPress, internetin %43’ünden fazlasını güçlendirir — ve bu hakimiyet önemli bir saldırı yüzeyini beraberinde getirir. En sık istismar edilen giriş noktalarından biri xmlrpc.php adlı bir dosyadır. İster deneyimli bir geliştirici ister ilk WordPress kurulumunuzu yöneten bir site sahibi olun, bu dosyanın ne yaptığını, neden tehlikeli olduğunu ve nasıl devre dışı bırakılacağını anlamak sitenizi güvende tutmak için kritik öneme sahiptir.

Bu rehber xmlrpc.php hakkında bilmeniz gereken her şeyi kapsar: amacı, getirdiği gerçek dünya tehditleri ve bunu devre dışı bırakmak için kanıtlanmış üç yöntem — teknik derece gerekmez.

WordPress’te xmlrpc.php Nedir?

xmlrpc.php, XML-RPC protokolünü uygulayan — çağrıları kodlamak için XML kullanan ve taşıma mekanizması olarak HTTP kullanan uzak prosedür çağrısı (RPC) sistemi — bir WordPress çekirdek dosyasıdır. Sade bir dille söylemek gerekirse, dış uygulamaların ve hizmetlerin standart web tarayıcı arayüzü kullanmadan WordPress sitenizle iletişim kurmasını sağlar.

WordPress REST API’si var olmadan çok önce tanıtılan xmlrpc.php, WordPress ile dış dünya arasındaki birincil köprüydü. Şunları etkinleştirdi:

  • Uzak içerik yayınlama — Windows Live Writer veya MarsEdit gibi blog istemcileri makaleleri doğrudan sitenize gönderebilirdi.
  • Mobil uygulama yönetimi — Resmi WordPress mobil uygulaması tarihsel olarak yazıları, sayfaları ve yorumları yönetmek için XML-RPC’ye güveniyordu.
  • Geri izlemeler ve pingback’ler — Protokol, siteler arası bildirimler işler, diğer bloglara içeriklerine bağlantı verdiğinizde uyarır.
  • Üçüncü taraf entegrasyonları — IFTTT, Zapier (eski konfigürasyonlarda) ve çeşitli eklentiler gibi hizmetler XML-RPC’yi WordPress ile programlı olarak etkileşim kurmak için kullandı.

Bu özellikler 2010’ların başında gerçekten yararlı olsa da, WordPress o zamandan beri REST API‘sini tanıttı; bu, aynı sonuçları elde etmek için daha güvenli, modern ve esnek bir yol sağlar. Sonuç olarak, xmlrpc.php artık büyük ölçüde eski — ancak her WordPress kurulumunda varsayılan olarak etkin kalır.

xmlrpc.php Neden Bir Güvenlik Riski?

xmlrpc.php’nin sorunu protokolün kendisi değil — dosya kullanmadığınız zaman bile etkin kalması, gereksiz bir saldırı vektörü oluşturmasıdır. Güvenlik araştırmacıları ve barındırma sağlayıcıları bunu sürekli olarak en iyi WordPress güvenlik açıklarından biri olarak işaretler. İşte neden:

1. Brute-Force Amplifikasyon Saldırıları

Bu en tehlikeli ve yaygın olarak istismar edilen tehdittir. WordPress giriş sayfasına karşı standart brute-force saldırıları (HTTP isteği başına bir kimlik bilgisi denemesiyle sınırlıdır. XML-RPC bunu dramatik olarak değiştirir.

XML-RPC’deki system.multicall yöntemi, bir saldırganın yüzlerce hatta binlerce kullanıcı adı/şifre kombinasyonunu tek bir HTTP isteğine paketlemesine izin verir. Bu şu anlama gelir:

  • Geleneksel hız sınırlaması ve giriş denemesi eklentileri atlanır.
  • Saldırganlar minimum bant genişliğiyle muazzam kimlik bilgisi listelerini test edebilir.
  • Sunucu günlükleri çok daha az istek gösterir, algılamayı zorlaştırır.

Tek bir botnet, bu tekniği kullanarak zayıf bir şifreli WordPress sitesini dakikalar içinde tehlikeye atabilir.

2. Pingback’ler Aracılığıyla DDoS Amplifikasyonu

Saldırganlar, xmlrpc.php’deki pingback işlevselliğini istismar ederek WordPress sitenizi Dağıtılmış Hizmet Reddi (DDoS) saldırısında istemeden katılımcı haline getirebilir. Özel olarak hazırlanmış bir pingback isteği göndererek, kötü niyetli bir aktör sunucunuzu bir hedef URL’ye HTTP istekleri göndermesi için talimat verebilir — etkili bir şekilde sunucunuzun kaynakları ve IP itibarını üçüncü bir tarafa karşı kullanır.

Bu, yalnızca saldırı hedefine zarar vermekle kalmaz, aynı zamanda sunucunuzun IP’sinin kara listeye alınmasına neden olabilir ve sitenizin teslim edilebilirliğini ve itibarını etkiler.

3. Sunucu Kaynağı Tükenmesi

Koordineli bir saldırı olmasa bile, xmlrpc.php, güvenlik açıkları için araştırma yapan otomatik tarama botlarının yaygın bir hedefidir. Bu sürekli araştırmalar CPU döngülerini, belleği ve bant genişliğini tüketir — meşru ziyaretçilerinize hizmet etmesi gereken kaynaklar. Özellikle paylaşılan barındırma ortamlarında, bu site performansını gözle görülür şekilde düşürebilir.

4. Gereksiz Maruziyeti

Uzak yayın araçlarını, XML-RPC gerektiren mobil uygulamaları veya eski üçüncü taraf entegrasyonlarını kullanmıyorsanız, xmlrpc.php sitenize sıfır fayda sağlar ve tamamen etkin bir saldırı yüzeyini korur. Güvenlikte en az ayrıcalık ilkesi şöyle dikte eder: buna ihtiyacınız yoksa, devre dışı bırakın.

Gerçekten xmlrpc.php’ye İhtiyacınız Var mı?

Devre dışı bırakmadan önce kendinize sorun:

Kullanım DurumuHala XML-RPC’ye İhtiyaç Var mı?
WordPress mobil uygulaması (modern)❌ Hayır — REST API’yi kullanır
Jetpack eklentisi⚠️ Kısmen — Jetpack belgelerine bakın
WooCommerce❌ Hayır
IFTTT / Zapier entegrasyonları❌ Hayır — REST API veya webhook’ları kullanın
Windows Live Writer / MarsEdit✅ Evet — eski istemciler
Pingback’ler / Geri izlemeler❌ Hayır — ayrı olarak devre dışı bırakılabilir

Çoğu WordPress site sahibi için cevap şudur: buna ihtiyacınız yok. Devre dışı bırakın.

WordPress’te xmlrpc.php Nasıl Devre Dışı Bırakılır: 3 Yöntem

xmlrpc.php’yi devre dışı bırakmak için üç güvenilir yöntem vardır; başlangıç dostu olandan sunucu düzeyine kadar değişir. Teknik rahatlık seviyeniz ve barındırma ortamınıza en uygun olanı seçin.

Yöntem 1: WordPress Güvenlik Eklentisi Kullanın (En Kolay)

Herhangi bir şeyi kırmama riski olmadan kodsuz bir çözüm istiyorsanız, bir güvenlik eklentisi en iyi başlangıç noktasıdır.

Önerilen eklentiler:

  • Wordfence Security — XML-RPC engelleme ile kapsamlı güvenlik duvarı ve kötü amaçlı yazılım tarayıcısı.
  • iThemes Security (şimdi Solid Security) — XML-RPC’yi devre dışı bırakmak için ayrılmış geçiş.
  • Disable XML-RPC — Tam olarak söylediği şeyi yapan hafif, tek amaçlı eklenti.

Adım adım:

  1. WordPress yönetici panosunda oturum açın.
  2. Eklentiler → Yeni Ekle‘ye gidin.
  3. Seçtiğiniz eklentiyi arayın (örneğin “Disable XML-RPC”) ve Şimdi Yükle‘ye tıklayın, ardından Etkinleştir.
  4. Eklentinin ayarlar sayfasına gidin. Wordfence veya iThemes Security gibi özel güvenlik eklentileri için XML-RPC veya WordPress Tweaks etiketli bir bölüm arayın.
  5. XML-RPC’yi devre dışı bırak veya XML-RPC isteklerini engelle seçeneğini etkinleştirin.
  6. Değişikliklerinizi kaydedin.

Avantajlar: Basit, geri alınabilir, dosya düzenleme gerekmez.

Dezavantajlar: Eklenti bağımlılığı ekler; dosya sunucuda hala var (istekler uygulama düzeyinde engellenir, sunucu düzeyinde değil).

Yöntem 2: .htaccess Aracılığıyla xmlrpc.php’yi Engelle (Apache Sunucuları İçin Önerilir)

Apache tabanlı barındırma ortamları için, .htaccess dosyasını düzenlemek istekleri web sunucusu düzeyinde engeller — WordPress bile yüklenmeden önce. Bu, yalnızca bir eklentiden daha verimli ve daha güçlü koruma sağlar.

Adım adım:

  1. Sitenizin dosyalarına erişin FTP aracılığıyla (FileZilla veya benzeri kullanarak) veya barındırma kontrol panelinizin Dosya Yöneticisi aracılığıyla.
  2. WordPress kök dizinine gidin — bu tipik olarak public_html veya www’dir.
  3. .htaccess dosyasını bulun. Göremiyorsanız, FTP istemcinizde gizli dosyaları etkinleştirin (FileZilla’da: Sunucu → Gizli Dosyaları Göstermeye Zorla) veya dosya yöneticisinin ayarlarında.
  4. .htaccess’i düzenleme için açın ve dosyanın sonuna aşağıdaki bloğu ekleyin:

<Files xmlrpc.php>
order allow,deny
deny from all
</Files>

  1. Dosyayı kaydedin ve editörü kapatın.

Çalışıp çalışmadığını doğrulamak için tarayıcınızda yoursite.com/xmlrpc.php adresini ziyaret edin. Varsayılan XML-RPC yanıtı yerine 403 Forbidden hatası almalısınız.

Avantajlar: Sunucu düzeyinde engelleme daha verimli; sunucu yükünü azaltır; eklenti gerekmez.

Dezavantajlar: Dosya erişimi gerektirir; yanlış .htaccess düzenlemeleri geçici olarak sitenizi kırabilir (her zaman bir yedek tutun).

> Pro ipucu: Barındırmanız Apache yerine Nginx kullanıyorsa, bunun yerine Nginx sunucu bloğu konfigürasyonunuza aşağıdakini ekleyin:

>

> location = /xmlrpc.php {
> deny all;
> }

Yöntem 3: functions.php Aracılığıyla Devre Dışı Bırak (WordPress Filtre Kancası)

Bu yöntem, tema veya özel eklenti içinden XML-RPC işlevselliğini programlı olarak devre dışı bırakmak için bir WordPress filtresini kullanır. WordPress uygulama katmanında temiz, kod tabanlı bir çözümdür.

Adım adım:

Seçenek A — Tema Editörü Aracılığıyla (hızlı ancak üretim için önerilmez):

  1. WordPress panonuzda Görünüm → Tema Editörü‘ne gidin.
  2. Sağ taraftaki dosya listesinden functions.php‘yi seçin.
  3. Dosyanın sonuna aşağıdaki kodu ekleyin:

add_filter(‘xmlrpc_enabled’, ‘__return_false’);

  1. Kaydetmek için Dosyayı Güncelle‘ye tıklayın.

Seçenek B — Özel Eklenti Aracılığıyla (önerilir):

Tema güncellemeleri sırasında üzerine yazılan tema functions.php’sini düzenlemek yerine, basit bir özel eklenti oluşturun:

  1. FTP veya Dosya Yöneticisi kullanarak wp-content/plugins’e gidin.
  2. disable-xmlrpc adlı yeni bir klasör oluşturun.
  3. Bu klasörün içinde aşağıdaki içeriğe sahip disable-xmlrpc.php adlı bir dosya oluşturun:

<?php
/*
Plugin Name: Disable XML-RPC
Description: Disables XML-RPC functionality
Version: 1.0
*/

add_filter(‘xmlrpc_enabled’, ‘__return_false’);
?>

  1. Panonuzda Eklentiler → Yüklü Eklentiler‘e gidin ve Disable XML-RPC‘yi etkinleştirin.

Avantajlar: Temiz, tema bağımsız (özel eklenti yöntemi kullanırken); geri almak kolay.

Dezavantajlar: Yalnızca uygulama düzeyinde — dosya hala var ve istekleri alabilir (ancak reddedilecek); .htaccess engelleme kadar etkili bir şekilde sunucu yükünü azaltmaz.

Maksimum Güvenlik İçin Yöntemleri Birleştirin

En güçlü koruma için Yöntem 2 (.htaccess) ile Yöntem 3 (filtre kancası) birleştirin:

  • .htaccess kuralı istekleri sunucu düzeyinde engeller, yükü azaltır.
  • Filtre kancası, .htaccess kuralı hiç atlanırsa veya üzerine yazılırsa bile XML-RPC’nin devre dışı olmasını sağlar.

Bu katmanlı yaklaşım, aynı varlığı koruyan derinlik içinde savunma güvenlik ilkesini takip eder.

xmlrpc.php’nin Başarıyla Devre Dışı Bırakıldığını Doğrulayın

Seçtiğiniz yöntemi uyguladıktan sonra, çalışıp çalışmadığını doğrulayın:

  1. Tarayıcı testi: yoursite.com/xmlrpc.php adresini ziyaret edin. Başarılı bir engelleme 403 Forbidden veya 404 Not Found hatası gösterir.
  2. Çevrimiçi XML-RPC denetleyicisi: Sitenizin XML-RPC uç noktasının yanıt verip vermediğini test etmek için xmlrpc.eritreo.it gibi bir araç kullanın.
  3. Sunucu günlükleri: xmlrpc.php’ye kalan istekler için erişim günlüklerinizi kontrol edin — ani bir düşüş engellemenin çalıştığını doğrular.

WordPress Güvenliği İçin Doğru Barındırmayı Seçin

xmlrpc.php’yi devre dışı bırakmak, WordPress güvenliğinin yalnızca bir katmanıdır. Güvenli bir WordPress sitesinin temeli, doğru barındırma sağlayıcısını seçmekle başlar — saldırılara karşı koymak için tasarlanmış sunucu düzeyinde güvenlik kontrolleri, düzenli yedeklemeler ve altyapı sunan bir sağlayıcı.

AlexHost‘ta, WordPress güvenliği barındırma yığınına yerleştirilmiştir. Kişisel bir blog veya yüksek trafikli bir iş sitesi çalıştırıyor olsanız da, doğru plan önemli bir fark yaratır:

  • VPS Barındırması — Tam kök erişimi, xmlrpc.php’yi altyapı düzeyinde engelleme için özel Nginx veya Apache kuralları uygulamanıza olanak tanır. Geliştiriciler ve ayrıntılı kontrol gerektiren büyüyen siteler için idealdir.
15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın