XML-RPC kapatma işlemi, günümüzde modern bir WordPress sitesinin güvenliği için alınması gereken en temel önlemlerden biridir. Siteniz durup dururken yavaşlıyor, sunucu kaynaklarınız tükeniyor veya giriş panelinizde binlerce başarısız giriş denemesi mi görüyorsunuz? Sorun muhtemelen, WordPress’in geçmişten kalan ama artık bir güvenlik açığına dönüşen xmlrpc.php dosyasıdır.
Bu detaylı güvenlik rehberinde; XML-RPC protokolünün ne olduğunu, hackerların bunu nasıl kötüye kullandığını ve WordPress site güvenliği rehberi kapsamında bu kapıyı nasıl kapatacağınızı adım adım anlatacağız.
XML-RPC Nedir ve Neden Hala Var?
XML-RPC (XML Remote Procedure Call), WordPress 3.5 öncesinde sitenize uzaktan veri iletmek için tasarlanmış bir protokoldür. O dönemde internet hızı düşüktü ve mobil uygulamalardan yazı yazmak zordu. Bu protokol, dışarıdan siteye bağlanmayı sağlıyordu.
Ancak günümüzde çok daha güvenli ve hızlı olan “REST API” teknolojisi kullanılmaktadır. Buna rağmen WordPress, geriye dönük uyumluluk adına bu dosyayı hala varsayılan olarak açık tutar. İşte tehlike de tam burada başlar.
XML-RPC Neden Tehlikelidir? (2 Ana Saldırı Tipi)
Hackerlar ve kötü niyetli botlar, bu dosyanın açık olmasını iki ana amaç için kullanır. Bu saldırılar sitenizin uptime oranını ciddi şekilde düşürebilir.
1. Brute Force (Kaba Kuvvet) Saldırılar
Normalde sitenizin giriş paneli olan `wp-login.php` sayfasında güvenlik önlemleri vardır. 3-5 kez yanlış şifre girildiğinde IP adresi engellenir. Ancak XML-RPC protokolü, tek bir HTTP isteği içinde yüzlerce farklı şifre kombinasyonunun denenmesine izin verir. Hackerlar, bu açığı kullanarak güvenlik duvarlarına takılmadan dakikalar içinde binlerce şifre deneyebilir.
2. DDoS ve Pingback Saldırıları
WordPress’in “Pingback” (Geri bildirim) özelliği, sitenizin başka sitelere haber vermesini sağlar. Saldırganlar, binlerce WordPress sitesinin XML-RPC dosyasını kullanarak, hedefledikleri tek bir siteye eş zamanlı sinyal gönderirler. Siteniz bu saldırıda hem kurban olabilir hem de başka sitelere saldıran bir “zombi” araç haline gelebilir. Bu tür trafik saldırılarını önlemenin en iyi yolu, Cloudflare ve CDN kullanımı ile birlikte XML-RPC’yi kapatmaktır.
Sitenizde XML-RPC Açık mı? (Test Etme)
Herhangi bir eklenti kurmadan bunu test edebilirsiniz. Tarayıcınızı açın ve adres çubuğuna `siteniz.com/xmlrpc.php` yazın.
- Eğer ekranda “XML-RPC server accepts POST requests only” yazıyorsa, dosya aktiftir ve saldırıya açıksınız demektir.
- Eğer “403 Forbidden” hatası alıyorsanız, güvenlik önlemleri alınmış demektir.
XML-RPC Kapatma Yöntemleri (Adım Adım)
Bu güvenlik açığını kapatmak için aşağıda en kolaydan en teknik olana doğru sıralanmış yöntemleri kullanabilirsiniz. İşleme başlamadan önce her ihtimale karşı WordPress yedek alma işlemini yapmanızı öneririz.
Yöntem 1: Eklenti ile Kapatma (Başlangıç Seviyesi)
Kodlarla uğraşmak istemiyorsanız, WordPress deposundaki “Disable XML-RPC” veya “Perfmatters” gibi eklentileri kullanabilirsiniz.
1. Eklentiler > Yeni Ekle menüsüne gidin.
2. “Disable XML-RPC” aratın ve kurun.
3. Etkinleştirdiğiniz anda açık kapanacaktır.
Yöntem 2: .htaccess ile Engelleme (Önerilen)
Sunucu seviyesinde engelleme en performanslı yöntemdir. Hosting panelinizden (cPanel/Plesk) Dosya Yöneticisi’ne girin ve `.htaccess` dosyasının en altına şu kodları ekleyin:
# Block WordPress xmlrpc.php requests <Files xmlrpc.php> order deny,allow deny from all </Files>
Bu kod, xmlrpc.php dosyasına gelen tüm istekleri reddeder. Botlar kapıyı çaldığında sunucunuz hiç işlem yapmadan kapıyı yüzlerine kapatır.
Yöntem 3: Functions.php ile Filtreleme
Eğer dosya tamamen kapatılmasın ama bazı özellikleri (pingback gibi) devre dışı kalsın istiyorsanız, temanızın `functions.php` dosyasına şu kodu ekleyebilirsiniz:
`add_filter( ‘xmlrpc_enabled’, ‘__return_false’ );`
Ne Zaman Kapatmamalısınız?
Bazı durumlarda XML-RPC gerekli olabilir. Eğer WordPress mobil uygulamasını aktif olarak kullanıyorsanız veya Jetpack eklentisinin otomasyon özelliklerini kullanıyorsanız, tamamen kapatmak bu araçları bozacaktır. Bu durumda `.htaccess` dosyasında “Deny from all” yerine, sadece kendi IP adresinize veya Jetpack sunucularına izin veren özel kurallar yazmalısınız.
Sonuç
Web güvenliğinde “kullanılmayan kapıları kilitlemek” temel kuraldır. XML-RPC kapatma işlemi, sitenizin işlemci yükünü hafifletirken güvenliğinizi bir üst seviyeye taşır. Güvenli, saldırılara karşı korumalı ve optimize edilmiş bir altyapı arıyorsanız, WordPress Hosting paketlerimizi inceleyebilir, sitenizi HostedFly güvencesine alabilirsiniz.




