Fail2ban nedir?
Fail2ban, günlük dosyalarını izleyerek kaba kuvvet denemesi gibi tekrarlayan başarısız giriş girişimlerini tespit eden ve saldırgan IP adresini güvenlik duvarı kuralıyla belirli bir süre engelleyen açık kaynaklı bir araçtır. Özellikle SSH ve web hizmetlerinin korunmasında yaygın kullanılır.
Fail2ban paketleri incelemez; uygulamaların yazdığı kayıtlara bakar. Bu yüzden hafiftir ve neredeyse her Linux sunucuda kolayca çalışır.
Nasıl çalışır?
Çalışma mantığı “jail” (hapishane) kavramına dayanır. Her jail bir günlük dosyasını, o dosyadaki başarısız giriş kalıbını (filtre) ve bir eylemi tanımlar. Belirli bir süre içinde belirli sayıda başarısız deneme olduğunda ilgili IP adresi engelleme listesine alınır ve süre dolunca engel kalkar.
Üç temel ayar bu davranışı belirler: maxretry (izin verilen başarısız deneme sayısı), findtime (denemelerin sayıldığı zaman aralığı) ve bantime (engel süresi).
Sunucu ve hosting ortamında
Linux sunucularda sshd jail’i en sık etkinleştirilen koruma olup SSH kaba kuvvet denemelerini azaltır. Bunun yanında Apache, Nginx, Postfix, Dovecot ve FTP hizmetleri için hazır filtreler bulunur. WordPress gibi uygulamalar için giriş sayfası denemelerini yakalayan özel filtreler de yazılabilir.
cPanel, Plesk ve DirectAdmin gibi panellerde benzer işlev çoğu zaman panelin kendi aracıyla (örneğin cPHulk ya da CSF/LFD) sağlanır; bu durumda araçların birbiriyle çakışmaması için yalnızca birini seçmek daha doğrudur. Yapılandırmanızı jail.local dosyasında tutmak, güncellemelerde ayarların silinmesini önler.