Tüm barındırma hizmetlerinde 15% tasarruf edin

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

Kodu kullanın: Skills Başlayın
Bölüm
Güvenlik Yönetim

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

WordPress, internetin %43’ünden fazlasını güçlendiriyor — ve bu hakimiyet, önemli bir saldırı yüzeyini beraberinde getiriyor. 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 kritiktir.

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

WordPress’te xmlrpc.php Nedir?

xmlrpc.php WordPress’in çağrıları kodlamak için XML kullanan ve taşıma mekanizması olarak HTTP’yi kullanan XML-RPC protokolünü uygulayan bir çekirdek dosyasıdır (RPC — uzaktan prosedür çağrısı sistemi). Basit bir deyişle, harici 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ı sağladı:

  • Uzaktan içerik yayınlama — Windows Live Writer veya MarsEdit gibi blog istemcileri makaleleri doğrudan sitenize gönderebiliyordu.
  • Mobil uygulama yönetimi — Resmi WordPress mobil uygulaması tarihsel olarak yazıları, sayfaları ve yorumları yönetmek için XML-RPC’ye güveniyordu.
  • Trackback’ler ve pingback’ler — Protokol, sitenizin içeriğine bağlantı verdiğinizde diğer blogları uyaran siteler arası bildirimlerini işler.
  • Üçü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 kullanıyordu.

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

xmlrpc.php Neden Bir Güvenlik Riski?

xmlrpc.php ile ilgili sorun protokolün kendisi değil — dosya kullanmadığınız halde etkin kalarak gereksiz bir saldırı vektörü oluşturmaktadır. Güvenlik araştırmacıları ve hosting sağlayıcıları bunu sürekli olarak en önemli WordPress güvenlik açıklarından biri olarak işaretlemektedir. İşte nedenleri:

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ı (wp-login.php) HTTP isteği başına bir kimlik doğrulama denemesiyle sınırlıdır. XML-RPC bunu dramatik şekilde 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ği ile muazzam kimlik bilgisi listelerini test edebilir.
  • Sunucu günlükleri çok daha az istek gösterir, bu da 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 bir Dağıtılmış Hizmet Reddi (DDoS) saldırısında bilinçsiz bir katılımcıya dönüştürebilir. Ö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 talimatlandırabilir — etkili bir şekilde sunucunuzun kaynaklarını 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ı etkileyebilir.

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üleri, bellek ve bant genişliğini tüketir — bu kaynaklar meşru ziyaretçilerinize hizmet etmek için ayrılmalıdır. Özellikle paylaşılan hosting ortamlarında, bu site performansını belirgin şekilde düşürebilir.

4. Gereksiz Maruziyeti

Uzaktan yayın araçları, XML-RPC gerektiren mobil uygulamalar veya eski üçüncü taraf entegrasyonlar kullanmıyorsanız, xmlrpc.php sitenize sıfır fayda sağlarken tamamen aktif bir saldırı yüzeyini korur. Güvenlikte en az ayrıcalık ilkesi şunu belirtir: eğer 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 Gerekli mi?
WordPress mobil uygulaması (modern)❌ Hayır — REST API kullanır
Jetpack eklentisi⚠️ Kısmen — Jetpack belgelerini kontrol edin
WooCommerce❌ Hayır
IFTTT / Zapier entegrasyonları❌ Hayır — REST API veya webhook’ları kullanın
Windows Live Writer / MarsEdit✅ Evet — eski istemciler
Pingback’ler / Trackback’ler❌ Hayır — ayrı olarak devre dışı bırakılabilir

WordPress site sahiplerinin büyük çoğunluğu için cevap: 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 ve bunlar başlangıç seviyesinden 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ırmak riskini en aza indirerek kod yazılmayan bir çözüm istiyorsanız, bir güvenlik eklentisi en iyi başlangıç noktasıdır.

Önerilen eklentiler:

  • Wordfence Security — XML-RPC engelleme özelliğine sahip 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 özel bir düğme.
  • Disable XML-RPC — Tam olarak söylediği şeyi yapan hafif, tek amaçlı bir eklenti.

Adım adım:

  1. WordPress yönetici paneline giriş yapın.
  2. Eklentiler → Yeni Ekle bölümüne gidin.
  3. Seçtiğiniz eklentiyi arayın (örn. “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şiklikleri kaydedin.

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

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

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

Apache tabanlı barındırma ortamları için, .htaccess dosyasını düzenlemek istekleri web sunucusu düzeyinde engeller — WordPress 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 benzer) veya barındırma kontrol panelinizin Dosya Yöneticisi aracılığıyla.
  2. WordPress kök dizinine gidin — bu genellikle public_html veya www klasörüdür.
  3. .htaccess dosyasını bulun. Göremiyorsanız, FTP istemcinizde gizli dosyaları etkinleştirin (FileZilla’da: Server → Force Showing Hidden Files) veya dosya yöneticisinin ayarlarında.
  4. .htaccess dosyasını 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 example.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 verimlidir; sunucu yükünü azaltır; eklenti gerekmez.

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

> Pro ipucu: Barındırmanız Apache yerine Nginx kullanıyorsa, bunun yerine Nginx sunucu bloğu yapılandırmasına aşağıdakileri ekleyin:

>

>

location = /xmlrpc.php {
    deny all;
}

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

Bu yöntem, tema veya özel bir 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 çalışan 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 panelinizde 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):

Temanızın functions.php dosyasını düzenlemek yerine (tema güncellemeleri sırasında üzerine yazılır), basit bir özel eklenti oluşturun:

  1. FTP veya Dosya Yöneticisini kullanarak wp-content/plugins klasörüne gidin.
  2. disable-xmlrpc adında yeni bir klasör oluşturun.
  3. Bu klasörün içinde aşağıdaki içeriğe sahip disable-xmlrpc.php adında 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. Panelinizde 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 istekler alabilir (ancak reddedilir); .htaccess engelleme kadar etkili bir şekilde sunucu yükünü azaltmaz.

Maksimum Güvenlik için Yöntemleri Birleştirme

En güçlü koruma için, Yöntem 2 (.htaccess) ile Yöntem 3 (filter hook) birleştirin:

  • .htaccess kuralı istekleri sunucu düzeyinde engeller ve yükü azaltır.
  • Filter hook, .htaccess kuralı hiç bypass edilse veya üzerine yazılsa bile XML-RPC’nin devre dışı kalmasını sağlar.

Bu katmanlı yaklaşım, derinlemesine savunma güvenlik ilkesini takip eder — aynı varlığı koruyan birden fazla bağımsız kontrol.

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

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

  1. Tarayıcı testi: https://yourdomain.com/xmlrpc.php adresini ziyaret edin. Başarılı bir blokaj 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 için kalan istekleri kontrol etmek üzere erişim günlüklerinizi kontrol edin — ani bir düşüş, bloğun çalıştığını doğrular.

WordPress Güvenliği için Doğru Hosting Seçimi

xmlrpc.php’yi devre dışı bırakmak, WordPress güvenliğinin sadece bir katmanıdır. Güvenli bir WordPress sitesinin temeli doğru hosting sağlayıcısı seçmekle başlar — sunucu düzeyinde güvenlik kontrolleri, düzenli yedeklemeler ve saldırılara dayanacak şekilde tasarlanmış altyapı sunan bir sağlayıcı.

AlexHost‘ta, WordPress güvenliği hosting yığınına entegre edilmiştir. Kişisel bir blog veya yüksek trafikli bir ticari site çalıştırıyor olsanız da, doğru plan önemli bir fark yaratır:

  • VPS Hosting — Tam root erişimi, sunucu düzeyinde güvenlik yapılandırmaları uygulamanıza olanak tanır; xmlrpc.php’yi altyapı düzeyinde engellemek için özel Nginx veya Apache kuralları dahil. Geliştirici ve ayrıntılı kontrol gerektiren büyüyen siteler için ideal.
  • Shared Web Hosting — WordPress siteleri için uygun fiyatlı bir giriş noktası; yönetilen güvenlik yapılandırmaları ve kontrol paneli aracılığıyla .htaccess düzenlemesine kolay erişim.
  • cPanel ile VPS — Sanal özel sunucunun gücünü tanıdık cPanel arayüzü ile birleştirir; komut satırı uzmanlığı olmadan .htaccess dosyalarını, SSL sertifikalarını ve güvenlik ayarlarını yönetmeyi basit hale getirir.
  • SSL Sertifikaları — Sitenizi HTTPS ile şifrelemek, vazgeçilmez bir güvenlik temeli. SSL sertifikası, XML-RPC istekleri yapılsa bile, iletilen kimlik bilgileri ve verilerin aktarım sırasında şifrelenmiş olmasını sağlar.
  • Domain Kaydı — Alan adınızı ve hostinginizi aynı çatı altında tutun; basitleştirilmiş DNS yönetimi ve üçüncü taraf kayıt şirketi güvenlik açıklarından kaynaklanan saldırı yüzeyinin azalması.

Güçlü hosting altyapısını xmlrpc.php’yi devre dışı bırakmak gibi uygulama düzeyinde sertleştirme ile eşleştirmek, WordPress sitenize sağlam, çok katmanlı bir güvenlik duruşu verir.

Sık Sorulan Sorular

xmlrpc.php’yi devre dışı bırakmak WordPress sitemi bozar mı?

Çoğu kullanıcı için hayır. Eski masaüstü blog istemcileri, resmi WordPress uygulaması (modern sürümler REST API kullanır) veya XML-RPC gerektiren belirli üçüncü taraf entegrasyonları kullanmıyorsanız, bunu devre dışı bırakmak işlevsellikte fark edilir bir etkiye sahip olmayacaktır.

Jetpack, xmlrpc.php gerektiriyor mu?

Jetpack’in eski sürümleri XML-RPC’ye bağımlıydı. Modern Jetpack sürümleri öncelikle WordPress.com REST API’sini kullanır. XML-RPC’yi devre dışı bırakmadan önce belirli Jetpack sürümünüzün belgelerine bakın.

XML-RPC’nin tamamını devre dışı bırakmak yerine sadece pingback’leri devre dışı bırakabilir miyim?

Evet. XML-RPC’yi diğer amaçlar için etkin tutmak istiyorsanız ancak pingback kötüye kullanımını ortadan kaldırmak istiyorsanız, bunu functions.php dosyasına ekleyin:

// Disable pingbacks only
add_filter( 'xmlrpc_methods', function( $methods ) {
    unset( $methods['pingback.ping'] );
    return $methods;
} );

xmlrpc.php, WordPress’in daha yeni sürümlerinde kaldırıldı mı?

Hayır. En son WordPress sürümlerinden itibaren, xmlrpc.php hala dahil edilmiş ve varsayılan olarak etkindir. WordPress çekirdek ekibi gelecekten bahsetmiştir, ancak geriye dönük uyumluluk için hala mevcuttur.

Sonuç

xmlrpc.php bir zamanlar meşru bir amaca hizmet eden eski bir WordPress dosyasıdır, ancak bugün dünya çapında WordPress kurulumlarında en sık istismar edilen güvenlik açıklarından birini temsil etmektedir. XML-RPC işlevselliği için spesifik, belgelenmiş bir ihtiyacınız olmadığı sürece, bunu devre dışı bırakmak basit, yüksek etkili bir güvenlik iyileştirmesidir ve uygulanması beş dakikadan az sürer.

Seçeneklerinizi özetlemek gerekirse:

YöntemZorlukKoruma SeviyesiÖnerilen Kullanıcı
Güvenlik Eklentisi⭐ KolayUygulama seviyesiBaşlayanlar
.htaccess Engeli⭐⭐ OrtaSunucu seviyesiÇoğu kullanıcı
functions.php Filtresi⭐⭐ OrtaUygulama seviyesiGeliştiriciler
Birleştirilmiş (.htaccess + filtre)⭐⭐ OrtaMaksimumÜretim siteleri

Ortamınıza uygun yöntemi uygulayın, engellemenin çalıştığını doğrulayın ve bunu sağlam bir hosting altyapısı ile birleştirin. Güvenlik tek bir işlem değildir — sürekli bir uygulamadır. WordPress çekirdeğinizi, temalarınızı ve eklentilerinizi güncel tutun, erişim günlüklerinizi düzenli olarak izleyin ve hosting altyapısını başından itibaren güvenlik hedeflerinizi destekleyecek şekilde seçin.