WordPress XML-RPC İsteklerini Fail2ban ile Engelleyin
WordPress web sitelerinin `xmlrpc.php` dosyası, uzaktan içerik yayınlamak veya pingback almak için tasarlanmıştır. Ancak bu dosya, aynı zamanda kaba kuvvet (brute-force) ve DDoS saldırganlarının en sık kullandığı zafiyetlerden biridir. Saldırganlar tek bir istekte yüzlerce şifre kombinasyonu deneyerek sunucunuzun işlemcisini (CPU) tamamen kilitleyebilir. Bu makalede, Ubuntu sunucuda **Fail2ban** ile bu saldırıları nasıl otomatik banlayacağınızı göstereceğiz.
1. Nginx Log Filtresi Oluşturma
Fail2ban'ın xmlrpc.php isteklerini loglarda tespit edebilmesi için özel bir filtre tanımı oluşturalım:
nano /etc/fail2ban/filter.d/nginx-xmlrpc.conf
İçerisine şu kuralları ekleyin:
[Definition]
failregex = ^<HOST> -.*"POST /xmlrpc.php HTTP/.*" 200
ignoreregex =
2. Fail2ban Hapishanesi (Jail) Yapılandırması
Filtreyi devreye sokmak için ana hapishane dosyasına (/etc/fail2ban/jail.local) şu blokları ekleyin:
[nginx-xmlrpc]
enabled = true
port = http,https
filter = nginx-xmlrpc
logpath = /var/log/nginx/access.log
maxretry = 5
findtime = 60
bantime = 3600
Bu ayarla, 60 saniye içinde `xmlrpc.php` dosyasına 5 kez POST isteği atan IP adresleri otomatik olarak **1 saat boyunca** sunucudan tamamen banlanacaktır.
3. Servisi Yeniden Başlatma
Fail2ban servisini yeniden başlatarak kuralları aktif edin:
systemctl restart fail2ban
WordPress projelerinizde en yüksek güvenliği ve saldırılara karşı dayanıklı barındırmayı elde etmek için VDS Kiralama çözümlerimizi inceleyebilir, tüm donanımsal koruma ihtiyaçlarınız için Sunucu Kurulum Hizmetleri sayfamıza göz atabilirsiniz.