Fail2Ban

Fail2Ban, Python ile geliştirilmiş bir saldırı önleme aracıdır. Temel amacı sunucuya yapılan kaba kuvvet saldırılarını engellemektir. iptables veya TCP Wrapper gibi güvenlik duvarlarıyla entegre olabilen tüm POSIX (Linux/Unix) sistemlerde çalışabilir.

İşlevi
Fail2ban, konfigürasyon dosyasında tanımlanan log dosyalarını izleyerek çalışır. Örneğin  /var/log/auth.log yolundaki log'u izleyerek başarısız SSH giriş denemelerini okuyabilir ve belirlenen deneme eşiği aşıldığında IP adresini engelletebilir. Sürekli saldıran kötü niyetli kullanıcılar için daha uzun süren kademeli yasaklar ayarlanabilir. Örneğin gün içinde korunan 3 farklı noktaya saldırıp 10 dakikalığına engellenen bir IP adresi Fail2ban'ın recidive yapılandırmasıyla "mükerrer suçlu" olarak işaretlenebilir ve 10 gün süreyle engellenebilir. Fail2Ban, olası bir dost ateşine yol açmamak için normalde engellemelerini kalıcı değil, geçici ve kısa süreli tutar.

Fail2Ban, kötü amaçlı bir IP adresi tespit ettiğinde birden fazla işlemi gerçekleştirebilir: iptables gibi güvenlik duvarlarının kurallarını güncelleyebilir ve TCP Wrapper'ın  hosts.deny tablosunu yenileyebilir. Böylece saldırganın IP adresinin engellenmesini sağlar. Süreçle ilgili e-posta bildirimleri gönderebilir, kullanıcının tanımladığı Python scriptini yürütebilir.

Fail2Ban Apache, Lighttpd, sshd, vsftpd, qmail, Postfix, Courier Mail Server gibi popüler filtrelerle birlikte gelir. Bu filtreler, regex'e hakim bir yönetici tarafından kolayca özelleştirilebilen Python regex'leriyle gelir. Bir filtre ve aksiyondan oluşan yapıya "jail" denir. Filtre log'u okuyarak saldırıyı tespit eder, aksiyon ise saldırıya karşı yapılacak eylemi belirler, bu yapının tamamına jail denir. Zararlı bir sunucunun korunan ağ hizmetlerine erişimini engelleyen yapı budur. Bu örneklerin dışında, log tutan herhangi bir ağa açık işlem için de bir "jail" oluşturulabilir, böylece Fail2Ban onu da koruyabilir.

Fail2Ban, blocklist.de ve AbuseIPDB dahil olmak üzere birçok API ile entegre edilebilir. Bununla birlikte Fail2Ban, DDOS saldırılarına karşı koruma sağlamada yetersiz kalmaktadır.

Kaynakça