Sitenizin Arka Kapısını Kilitleyin: xmlrpc.php Tehlikesi ve Çözümü

WordPress sitenizi kurdunuz, temanızı seçtiniz ve güvenlik eklentilerinizi yüklediniz. Peki ya sitenizin arka kapısı, yani xmlrpc.php ne durumda? Çoğu site sahibinin varlığından bile haberdar olmadığı, ancak siber saldırganların en sevdiği giriş noktalarından biri olan bu dosyayı ve onu nasıl güvenli hale getirebileceğimizi bu yazıda inceliyoruz. Üstelik hazır eklentilere muhtaç kalmadan, kendi yazdığımız mini bir kod ile!
xmlrpc.php Nedir? Eskiden internet bağlantıları yavaştı ve WordPress yönetim paneline girmek zahmetliydi. Bu yüzden “Windows Live Writer” gibi masaüstü programlarından veya eski mobil uygulamalardan siteye yazı göndermek için XML-RPC (Uzak Yordam Çağrısı) adında bir iletişim protokolü geliştirildi.
Kısacası xmlrpc.php, siteniz ile dış dünyadaki uygulamaların konuşmasını sağlayan bir kapıdır. Ancak günümüzde modern WordPress sürümleri, çok daha güvenli olan REST API’yi kullanıyor. Yani xmlrpc.php artık çoğu site için “eski ve gereksiz” bir teknolojiye dönüştü.
Neden Kapatmalıyız? (Güvenlik Riskleri) Bu dosya varsayılan olarak açık gelir ve iki büyük riski beraberinde getirir:
Brute Force (Kaba Kuvvet) Saldırıları: Normal giriş panelinizde (wp-login.php) bir saldırgan şifre denerse kilitlenir. Ancak xmlrpc.php üzerinden tek bir istek ile yüzlerce şifre denemesi yapabilirler.
DDoS Saldırıları: Siteniz “pingback” özelliği kullanılarak başka sitelere saldırmak için bir piyon gibi kullanılabilir veya kendi siteniz yoğun istek altında çökebilir.
Çözüm: Kendi Mini Eklentimizi Yazalım Piyasada bunu yapan eklentiler var ancak sırf bu iş için sitenizi ağırlaştıran büyük eklentiler kurmanıza gerek yok. Aşağıda paylaştığım kod bloğu, WordPress’in dosya sistemini kullanarak sunucu seviyesinde (.htaccess dosyasına kural ekleyerek) bu kapıyı kilitler.
Bu kodu bir .php dosyası olarak kaydedip wp-content/plugins klasörüne atabilir veya zip yapıp yükleyebilirsiniz.
Nasıl Çalışır? Bu eklentiyi aktif ettiğinizde, sunucunuzdaki .htaccess dosyasına otomatik olarak Deny from all (Herkesi reddet) kuralını yazar. Eklentiyi pasif yaptığınızda ise bu kuralı siler. Temiz ve güvenli.
Dikkat Edilmesi Gerekenler eğer Jetpack eklentisini kullanıyorsanız veya WordPress’in resmi mobil uygulamasından sitenizi yönetiyorsanız, bu dosyayı tamamen kapatmak bağlantınızı koparabilir. Bu araçları kullanmıyorsanız, performans ve güvenlik için kapatmanızı şiddetle öneririm.
Web dünyasında kullanılmayan her kapı, potansiyel bir güvenlik açığıdır. Bu basit yöntemle WordPress sitenizin güvenliğine önemli bir katman eklemiş oldunuz.
Sorularınız veya kodla ilgili önerileriniz varsa yorumlarda buluşalım!
Kodlar Kodlayana, Kahveler Bana! ☕
Burada paylaştığım içerikler projelerinde işine yaradıysa veya sana zaman kazandırdıysa, bir kahve ısmarlayarak desteğini gösterebilirsin. Bu destek, daha fazla içerik üretmem için motive edici olacaktır.
☕ Bana Bir Kahve Ismarla


