Fail2Ban ile Brute Force Koruması
Fail2Ban, başarısız giriş denemelerini izleyerek belirli sayıda başarısız denemeden sonra IP adreslerini otomatik olarak engeller.
Kurulum
apt update
apt install -y fail2ban
Yapılandırma
Varsayılan yapılandırmayı kopyalayarak özelleştirin (orijinali değiştirmeyin):
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local
Temel Ayarlar
[DEFAULT] bölümünü bulun ve düzenleyin:
[DEFAULT]
# Engelleme süresi (saniye) — 1 saat
bantime = 3600
# Bu süre içinde (saniye) — 10 dakika
findtime = 600
# Kaç başarısız denemede engellensin
maxretry = 5
# Kendi IP'nizi listeden çıkarın
ignoreip = 127.0.0.1/8 ::1 SİZİN_IP_ADRESİNİZ
SSH Koruması
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
maxretry = 3
bantime = 86400
Servisi Başlatma
systemctl enable fail2ban
systemctl start fail2ban
systemctl status fail2ban
Yönetim Komutları
# Engellenen IP'leri listele
fail2ban-client status sshd
# Belirli bir IP'yi engelle
fail2ban-client set sshd banip 1.2.3.4
# Belirli bir IP'nin engelini kaldır
fail2ban-client set sshd unbanip 1.2.3.4
# Tüm istatistikleri göster
fail2ban-client status
Log İzleme
tail -f /var/log/fail2ban.log
bilgi
Fail2Ban, sadece SSH değil; Apache, Nginx, Postfix gibi servisler için de yapılandırılabilir. Her servis için ayrı bir [jail] tanımı oluşturabilirsiniz.