Windows tabanlı sunucular, özellikle RDP, SMB, IIS ve Exchange servisleri üzerinden yapılan brute-force saldırılarında en çok hedeflenen sistemlerdir. Ardışık yanlış parola girişleriyle sisteme erişmeye çalışan bu saldırılar, ciddi bir güvenlik riski oluşturur. Wail2ban, bu riski azaltmak için Windows platformlarına uyarlanmış pratik bir güvenlik çözümüdür. Fail2ban’ın Linux’taki işleyişine benzer biçimde çalışan Wail2ban, Event Log kayıtlarını analiz ederek başarısız oturum açma denemelerini tespit eder ve saldırıları durdurur.
Wail2ban Nedir ve Nasıl Çalışır?
Windows ortamları için geliştirilen açık kaynaklı güvenlik aracı Wail2ban, brute-force saldırılarını otomatik olarak engellemek için kullanılır. Sistem loglarını izleyerek başarısız oturum denemelerini analiz eder ve eşik değer aşıldığında saldırgan IP adresini yasaklar.
Örneğin kısa sürede aynı IP üzerinden beşten fazla RDP giriş denemesi yapılırsa, Wail2ban bu adresi algılar ve Windows Defender Firewall üzerinde erişimi engelleyen bir kural tanımlar. Böylece RDP, IIS, Exchange veya SMB servisleri daha güvenli hale gelir.
Wail2ban Kurulumu
Wail2ban, Windows ortamlarında kolay entegrasyon sağlayan hafif yapılı bir yazılımdır. Programı resmi GitHub kaynağından veya kullanıcı topluluklarının sunduğu paketlerden indirerek kurulum yapabilirsiniz.
İndirme ve Kurulum
Paketi C:\Program Files\Wail2ban\ dizinine çıkaralım. Yönetici olarak install-service.bat dosyasını çalıştırarak servisi Windows’a ekleyelim. Bu komut ile servis başlatılır ve arka planda çalışmaya başlar.
net start wail2ban
Konfigürasyon Dosyası
Linux’taki jail.local mantığına benzer şekilde, Wail2ban da config.json dosyası üzerinden yapılandırılır. Burada hangi servisin izleneceği, başarısız girişler için eşik değerleri ve ban süresi belirlenir.
{
"jails": [
{
"name": "RDP",
"eventlog": "Security",
"query": "4625",
"maxretry": 5,
"findtime": 600,
"bantime": 1800,
"action": "block"
}
]
}
- eventlog → İzlenecek log kaynağı (Security).
- query → Windows Event ID (4625 = başarısız oturum açma denemesi).
- maxretry → Kaç başarısız girişten sonra IP engellenecek.
- findtime → Deneme sayısının hesaplanacağı süre (saniye).
- bantime → IP’nin engelli kalacağı süre (saniye).
Servisi Başlatma
net start wail2ban
Servis, arka planda otomatik çalışarak logları analiz etmeye başlar.
Test Etme
Yanlış şifre ile birkaç kez RDP oturumu açmayı deneyelim. Tanımlanan eşik değerine ulaşıldığında, Wail2ban ilgili IP’yi Windows Firewall’a otomatik olarak ekleyerek engelleyecektir.
Wail2ban Loglarının İzlenmesi
Wail2ban, tıpkı Linux’taki Fail2ban gibi engelleme aksiyonlarını loglar.
Varsayılan log dosyası C:\Program Files\Wail2ban\logs\wail2ban.log dizininde bulunur.
2025-09-09 11:42:13 [RDP] Ban 192.168.1.100 after 5 failed attempts
Bu loglardan hangi IP’lerin engellendiği ve hangi servisin hedef alındığı kolayca takip edilebilir. Ayrıca loglar merkezi izleme sistemlerine de aktarılabilir.
SNMP ve Monitoring Entegrasyonu
Wail2ban tek başına brute-force saldırılarını engeller; ancak saldırı yoğunluğunu ve saldırı trendlerini merkezi olarak görebilmek için monitoring çözümleri devreye girer. Özellikle Zabbix, Wail2ban loglarını toplayarak saldırı denemelerinin zaman içindeki dağılımını ve yoğunluğunu grafiklerle gösterebilir.
- Hangi IP aralıklarından saldırı geldiği,
- Hangi servislerin daha çok hedef alındığı,
- Saldırı yoğunluğunun gün ve saat bazlı değişimi dashboard üzerinden kolayca analiz edilebilir.
Hazırladığımız Proxmox İçin Zabbix Dashboard Kurulumu Nasıl Yapılır? yazısına göz atabilirsiniz.
Dinamik Ban Süresi
Sabit ban süresi kullanmak saldırganlar için tahmin edilebilir bir zafiyet oluşturabilir. Spiceworks topluluğunda paylaşılan şu PowerShell betiğiyle ban süreleri rastgeleleştirilerek bu sorun önlenebilir:
$randomizor = Get-Random -Minimum ([math]::pow(5,$Setting)*1) -Maximum ([math]::pow(5,$Setting)*60)
$BanDuration = [math]::min([math]::pow(5,$Setting)*60 + [int]$randomizor, $MAX_BANDURATION)
Bu yöntem, her engellemede süreyi farklılaştırarak brute-force saldırılarının tekrar deneme zamanını tahmin edilemez hale getirir.
Ayrıntılar için; Spiceworks Wail2ban Tartışması.
Sık Sorulan Sorular
Wail2ban ile Fail2ban arasındaki fark nedir?
Fail2ban Linux sistemlerde çalışır ve iptables/nftables gibi araçlarla IP’leri engeller. Wail2ban ise Windows için geliştirilmiş benzer bir mantığa sahip çözümdür ve Event Log + Windows Firewall kullanarak IP’leri bloklar.
Wail2ban hangi servisleri korur?
En çok brute-force saldırılarının hedef aldığı RDP, SMB, IIS, Exchange ve FTP servislerini korur. Event Log üzerinden başarısız oturum açma denemelerini izleyerek IP’leri engeller.
Wail2ban ücretsiz mi?
Evet, Wail2ban açık kaynaklı ve ücretsizdir. Topluluk desteğiyle geliştirildiği için farklı konfigürasyon örnekleri Spiceworks ve GitHub gibi platformlarda paylaşılmaktadır.
Ban süresini nasıl değiştirebilirim?
config.json dosyasında bantime parametresiyle sabit süreyi tanımlayabilir veya dinamik ban süresi için Spiceworks’te paylaşılan rastgeleleştirme betiğini kullanabilirsiniz.
Wail2ban loglarını Zabbix veya başka monitoring sistemine aktarabilir miyim?
Evet. Log dosyaları dışa aktarılabilir ve Zabbix, Graylog, ELK gibi monitoring araçlarına entegre edilerek saldırı trendleri görselleştirilebilir. Bunun bir örneğini “Zabbix Dashboard ile Proxmox Sanallaştırma İzleme” yazımızda ele aldık.
Windows Defender zaten brute-force saldırılarını engellemiyor mu?
Defender temel koruma sunsa da gelişmiş brute-force senaryolarında yetersiz kalabilir. Wail2ban ise hatalı giriş denemelerini sürekli analiz ederek proaktif bir şekilde IP’leri bloklar ve daha dinamik bir güvenlik sağlar.