WordPress XML-RPC Saldırılarını Engelleme (Ubuntu)
Anahtar Kelime: WordPress XML-RPC saldırısı engelleme
Bu Rehberde Ne Öğreneceksiniz?
Bu rehberde WordPress sitenizi XML-RPC tabanlı saldırılara karşı korumayı öğreneceksiniz.
Sunucu kaynaklarını tüketen bu trafiği tespit etmeyi ve durdurmayı öğreneceksiniz.
Apache ve Nginx için kesin çözüm yöntemleri anlatılır.
Teknik Özet
- Teknik Konu: Ubuntu üzerinde WordPress XML-RPC saldırılarının önlenmesi
- Çözülen Problem:
xmlrpc.phpüzerinden MySQL’in yorulması ve sitenin çökmesi - İzlenen Adımlar:
- Log dosyalarında saldırı tespiti
- Jetpack ile yükün azaltılması
- Apache seviyesinde XML-RPC engelleme
- Nginx seviyesinde XML-RPC engelleme
XML-RPC Saldırılarını Tespit Etme
XML-RPC saldırıları genelde şu belirtilerle ortaya çıkar:
- “Veritabanı bağlantısı kurulurken hata oluştu” mesajı
- Sunucuda ani RAM ve CPU artışı
- Log dosyalarında yoğun
POST /xmlrpc.phpkayıtları
Apache kullanıyorsanız:
grep xmlrpc /var/log/apache2/access.log
- Bu komut Apache erişim loglarında XML-RPC isteklerini arar.
Nginx kullanıyorsanız:
grep xmlrpc /var/log/nginx/access.log
- Bu komut Nginx erişim loglarında XML-RPC trafiğini listeler.
Çok sayıda çıktı görüyorsanız sunucunuz saldırı altındadır.
Yöntem 1: Jetpack Eklentisi ile Koruma
- Jetpack’in Protect özelliği XML-RPC saldırı yükünü yaklaşık %90 azaltır. Bu yöntem veritabanı üzerindeki baskıyı hafifletir.
Uygulama adımları:
-
WordPress paneline giriş yapın
-
Eklentiler → Yeni Ekle yolunu izleyin
-
Jetpack’i kurun ve etkinleştirin
-
WordPress.com hesabı ile bağlanın
-
Protect özelliğinin aktif olduğunu doğrulayın
Not: Jetpack saldırıyı azaltır, tamamen durdurmaz.
Yöntem 2: Apache Seviyesinde XML-RPC Engelleme
- Mobil uygulama veya Jetpack kullanmıyorsanız bu yöntem en güvenlisidir.
sudo nano /etc/apache2/sites-available/000-default.conf
- Bu komut Apache varsayılan site yapılandırmasını açar.
VirtualHost etiketleri arasına ekleyin:
<Files xmlrpc.php>
Order allow,deny
Deny from all
</Files>
- Bu yapılandırma XML-RPC erişimini tamamen kapatır.
- Apache’yi yeniden başlatın:
sudo service apache2 restart
- Değişiklikleri aktif eder.
Yöntem 3: Nginx Seviyesinde XML-RPC Engelleme
- Nginx kullanıyorsanız sunucu bloğu üzerinden engelleme yapılır.
sudo nano /etc/nginx/sites-available/rabisu.cloud
- Bu komut ilgili alan adı için Nginx yapılandırmasını açar.
- server bloğu içine ekleyin:
location /xmlrpc.php {
deny all;
}
- XML-RPC isteklerini Nginx seviyesinde reddeder.
- Nginx’i yeniden başlatın:
sudo service nginx restart
- Yapılandırmayı aktif eder.
- Engellemenin Çalıştığını Doğrulama
-
Jetpack kullanıyorsanız istekler azalır
-
Manuel engellemede HTTP 200 yerine 403 veya 500 görülür
-
Loglarda istek görünmesi normaldir
-
Önemli olan isteklerin işlenmemesidir.
Sıkça Sorulan Sorular (SSS)
1. XML-RPC’yi kapatmak siteme zarar verir mi? Hayır. Mobil uygulama kullanmıyorsanız güvenlidir.
2. Jetpack kurdum ama saldırı sürüyor, neden? Jetpack yükü azaltır. Kesin çözüm sunucu seviyesindedir.
3. Sunucum neden sık sık çöküyor? XML-RPC saldırıları MySQL belleğini tüketir.
4. Firewall yeterli değil mi? Hayır. XML-RPC uygulama seviyesinde engellenmelidir.
Sonuç
XML-RPC saldırıları WordPress siteleri için ciddi bir tehdittir. Doğru önlemlerle performans kaybı ve çökme engellenir.
🚀 Rabisu Bulut altyapısında bu güvenlik adımlarını kolayca uygulayabilirsiniz. Daha hızlı, daha güvenli WordPress projeleri için hazırsınız.