XML-RPC Kapatılmalı mı? Güvenlik Kararı

Net cevap: Çoğu modern WordPress sitesi için EVET, XML-RPC kapatılmalıdır. Bu eski uzaktan erişim protokolü bugün iki iş için hâlâ kullanılıyor olabilir: eski WordPress mobil uygulama kurulumları ve Jetpack gibi bazı servislerin belirli özellikleri. Bunları kullanmıyorsanız (sitelerin büyük çoğunluğu kullanmıyor) XML-RPC sizin için yalnız bir saldırı yüzeyidir: tek istekte yüzlerce parola deneyen system.multicall kaba kuvvet saldırılarının ve pingback DDoS istismarının kapısı. Modern uygulamalar REST API kullanır; XML-RPC’yi kapatmak onları etkilemez.
Bu yazı önce ‘bende gerekli mi?’ testini yaptırır, sonra üç kapatma yöntemini (eklenti, .htaccess, filtre) verir ve kapandığını doğrulatan kontrolle bitirir. Güvenlik zincirinin bütünü güvenlik pillar rehberinde.
XML-RPC Nedir, Neden Hâlâ Var?
2000’lerin köprüsü; geriye dönük uyumluluk için taşınıyor.
Görevi Neydi?
Uzaktan yazı gönderme, mobil uygulama bağlantısı, pingback bildirimleri: REST API’den önceki devrin uzaktan kumandasıydı — xmlrpc.php dosyası bu kapının kendisidir.
Bugünkü Yerine Geçen
Modern WordPress uygulamaları ve entegrasyonlar REST API konuşur: aynı işler, daha güvenli ve denetlenebilir kapıdan yapılır.
Neden Varsayılan Açık?
Geriye dönük uyumluluk: çekirdek, eski kurulumları bozmamak için kapıyı açık bırakır — kapatma kararını site sahibine bırakır, yani size.
Kaynak ve resmî belge: WordPress geliştirici kaynakları
Saldırganın Gözünden XML-RPC
Kapının neden hedef olduğunu bilmek, kararı kolaylaştırır.
Kaba Kuvvet Çarpanı
system.multicall özelliğiyle TEK HTTP isteğinde yüzlerce kullanıcı-parola denemesi paketlenir: giriş sayfası korumalarını by-pass eden bir toplu anahtar deneme makinesi.
Pingback DDoS İstismarı
Siteniz saldırının hedefi değil ASKERİ yapılır: binlerce WordPress’in pingback’i tek kurbana yönlendirilir — kapınız açıksa orduya yazılmışsınız demektir.
Günlüklerdeki İzi
Erişim günlüklerinde xmlrpc.php’ye yağan POST istekleri bu saldırıların imzasıdır: çoğu sitede kapı, sahibi hiç kullanmazken dövülür.
Karar Testi: Sizde Gerekli mi?
Kapatmadan önce iki dakikalık envanter.
Kullanıyor Olabileceğiniz Durumlar
Çok eski mobil uygulama kurulumu, Jetpack’in bazı eski özellikleri, XML-RPC isteyen niş bir entegrasyon: listeniz buysa önce güncelleme/alternatif araştırın.
Çoğunluğun Durumu
Kurumsal site + WooCommerce + standart eklenti seti: hiçbiri XML-RPC istemez — kapatmak sıfır yan etkiyle güvenlik kazancıdır.
Emin Değilseniz
Kapatın ve bir hafta izleyin: bozulan bir entegrasyon çıkarsa (nadir) o entegrasyonun modern alternatifine geçmek, kapıyı açık tutmaktan iyidir.
Yöntem 1: Güvenlik Eklentisiyle
En pratik yol; tek kutucuk.
Nerede Bulunur?
Ciddi güvenlik eklentilerinin sertleştirme bölümünde ‘XML-RPC devre dışı bırak’ seçeneği standarttır: işaretle, kaydet — güvenlik eklentisi rehberi seçim için yol gösterir.
Bizim Düzende
AINEO kurulumlarında bu iş Sewallsys sertleştirme setinin standart maddesidir: müşteri sitelerinde kapı, açılış günü kapalı gelir.
Artısı-Eksisi
Artı: geri alması tek tık, günlüğü tutulur. Eksi: eklentiye bağımlı — eklenti kapanırsa kapı açılır; bu yüzden kritik sitede htaccess katmanıyla desteklenir.
Yöntem 2-3: .htaccess ve Filtre
Sunucu katmanı ve kod katmanı: eklentisiz iki yol.
.htaccess Engeli
Site kökündeki .htaccess’e blok eklenir: <Files xmlrpc.php> Require all denied </Files> (Apache/LiteSpeed) — istek WordPress’e ulaşmadan sunucuda kesilir: en verimli engel.
Filtre Yolu
Temanın functions.php’sine veya küçük bir özel eklentiye tek satır: add_filter('xmlrpc_enabled','__return_false'); — protokol WordPress içinde kapanır; pingback uçları için ek filtreler de eklenebilir.
Hangisi Ne Zaman?
LiteSpeed/Apache’de htaccess birinci tercih (sunucu seviyesi + kaynak tasarrufu); dosyaya dokunamıyorsanız filtre; ikisine de uzaksanız Yöntem 1 — wp-config koruma yazısındaki katmanlı mantık burada da geçerlidir.
Kapandı mı? Doğrulama ve İzleme
Güvenlikte ‘sanırım kapalı’ diye bir durum yoktur.
Hızlı Test
Tarayıcıda siteniz.com/xmlrpc.php adresini açın: 403/erişim engellendi veya boş yanıt görmelisiniz; ‘XML-RPC server accepts POST requests only’ yazısı görüyorsanız kapı hâlâ AÇIKTIR.
Yan Etki Turu
Kapattıktan sonra mobil uygulama bağlantınızı ve varsa Jetpack özelliklerinizi kontrol edin: sorun çıkarsa karar testine dönüp o entegrasyonu modernize edin.
Bütünün Parçası
XML-RPC tek kilittir, kale değil: giriş koruması, dosya izinleri, güncelleme düzeniyle birlikte anlam kazanır — kalenizin tamamını kurdurmak için bakım hizmetimiz ve iletişim hattı hazır.
Sahadan Notlar
Kısa Sözlük
Hızlı Özet
Sıradaki Adım
Sık Sorulan Sorular
XML-RPC’yi kapatmak siteme zarar verir mi?
Sitelerin büyük çoğunluğunda hayır: modern uygulamalar ve entegrasyonlar REST API kullanır, XML-RPC’ye dokunmaz. Riskli tek grup, çok eski mobil kurulumlar ve bazı eski Jetpack özellikleridir — kullanmıyorsanız kapatmak sıfır yan etkili güvenlik kazancıdır.
XML-RPC neden tehlikeli?
İki istismarın kapısıdır: system.multicall ile tek HTTP isteğinde yüzlerce parola denemesi (giriş korumalarını aşan kaba kuvvet çarpanı) ve pingback özelliğiyle sitenizin DDoS saldırılarında asker yapılması. Çoğu sitede bu dosya, sahibi hiç kullanmazken botlarca dövülür.
XML-RPC nasıl kapatılır ve kapandığını nasıl anlarım?
Üç yol: güvenlik eklentisindeki ‘XML-RPC devre dışı’ kutucuğu, .htaccess’e Files bloğu (sunucu seviyesi, en verimli) veya xmlrpc_enabled filtresi. Test: siteniz.com/xmlrpc.php açıldığında 403/erişim engellendi görmelisiniz; ‘POST requests only’ yazısı kapının hâlâ açık olduğunu söyler.
