Fail2Ban Kurulumu ve Ayarları: Brute Force Koruması

HazalHost Teknik Ekip
07 Nisan 2026
8 dk okuma
Güvenlik

SSH portun açık olduğu sürece brute force saldırıları altındasın. Fail2Ban, başarısız giriş denemelerini izleyen ve belirli sayıda deneme sonrası saldırganın IP'sini otomatik olarak engelleyen güçlü bir güvenlik aracıdır. Bu rehberde Fail2Ban kurulumunu, SSH korumasını ve özel kurallar oluşturmayı öğreneceksin.

Fail2Ban Nedir?

Fail2Ban, log dosyalarını izleyerek şüpheli davranışları tespit eder ve iptables/nftables kurallarıyla saldırganın IP'sini belirli süreliğine engeller.

  • Otomatik IP engelleme: Başarısız giriş denemelerini sayar
  • Çoklu servis desteği: SSH, Apache, Nginx, MySQL ve daha fazlası
  • Esnek yapılandırma: Ban süresi, deneme sayısı özgürce ayarlanabilir
  • E-posta bildirim: IP engellendiğinde bildirim alabilirsin

Adım 1: Fail2Ban Kurulumu

# Paket listesini güncelle ve kur
sudo apt update
sudo apt install fail2ban

# Servisi başlat ve otomatik başlatmayı aktifleştir
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

# Durum kontrolü
sudo systemctl status fail2ban

Adım 2: Yapılandırma

Ana yapılandırma dosyasını doğrudan düzenlemek yerine jail.local dosyası oluşturarak özelleştirmeler yapmalısın:

# Yerel yapılandırma dosyası oluştur
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

# Düzenle
sudo nano /etc/fail2ban/jail.local

Genel Ayarlar

[DEFAULT]
# Ban süresi (saniye) - 1 saat
bantime = 3600

# Kaç saniye içinde deneme yapılırsa
findtime = 600

# Kaç başarısız denemeden sonra ban
maxretry = 3

# Kendi IP'ni whitelist'e ekle (engellenmemesi için)
ignoreip = 127.0.0.1/8 ::1 SENIN-IP-ADRESIN

# Ban eylemi - iptables ile engelle
banaction = iptables-multiport

# E-posta bildirimi (opsiyonel)
# destemail = admin@orneksite.com
# action = %(action_mwl)s

Adım 3: SSH Koruması

[sshd]
enabled = true
port = ssh
# Farklı SSH portu kullanıyorsan:
# port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600

Adım 4: Web Sunucu Koruması

Nginx Rate Limit:

[nginx-limit-req]
enabled = true
port = http,https
filter = nginx-limit-req
logpath = /var/log/nginx/error.log
maxretry = 5
bantime = 600

[nginx-botsearch]
enabled = true
port = http,https
filter = nginx-botsearch
logpath = /var/log/nginx/access.log
maxretry = 2
bantime = 86400

Apache Auth:

[apache-auth]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache2/*error.log
maxretry = 3
bantime = 3600

💡 Fail2Ban + DDoS Koruması = Tam Güvenlik

Fail2Ban brute force saldırılarını engeller ancak volumetrik DDoS saldırılarına karşı yeterli değildir. HazalHost VDS sunucularda L3/L4/L7 DDoS koruması varsayılan olarak gelir.

→ Ekonomik VDS  |  → Performans VDS

Adım 5: Fail2Ban Yönetimi

# Servisi yeniden başlat (yapılandırma değişikliği sonrası)
sudo systemctl restart fail2ban

# Aktif jail'leri listele
sudo fail2ban-client status

# SSH jail durumu (engellenen IP'ler)
sudo fail2ban-client status sshd

# Belirli IP'yi manuel engelle
sudo fail2ban-client set sshd banip 203.0.113.50

# Engeli kaldır
sudo fail2ban-client set sshd unbanip 203.0.113.50

# Tüm engelleri kaldır
sudo fail2ban-client unban --all

# Fail2Ban loglarını izle
sudo tail -f /var/log/fail2ban.log

Gelişmiş: Artan Ban Süresi (Recidive)

Tekrarlayan saldırganlar için ban süresini kademeli artır:

[recidive]
enabled = true
filter = recidive
logpath = /var/log/fail2ban.log
bantime = 604800   # 1 hafta
findtime = 86400    # Son 24 saatte
maxretry = 3        # 3 kez ban yemişse

🚀 Sunucu Güvenliğinde Ekstra Katman

Fail2Ban + SSH key + UFW + DDoS koruması... Tüm bu güvenlik katmanları birlikte çalıştığında sunucun gerçekten güvende olur. HazalHost altyapısıyla başla.

🔥 Performans VDS Satın Al

Sonuç

Fail2Ban, brute force saldırılarına karşı en etkili koruma araçlarından biridir. SSH, Nginx ve Apache için jail kuralları oluşturarak sunucunun güvenliğini önemli ölçüde artırabilirsin. Recidive jail ile tekrarlayan saldırganları uzun süreli engelleyerek ekstra koruma sağla.

Sık Sorulan Sorular (FAQ)

Fail2Ban kendi IP'mi engelledi, ne yapmalıyım?

VNC/KVM konsol üzerinden bağlanarak sudo fail2ban-client set sshd unbanip SENIN-IP komutunu çalıştır. Gelecekte ignoreip satırına IP'ni eklemeyi unutma.

Fail2Ban ne kadar sistem kaynağı kullanır?

Fail2Ban çok hafif bir araçtır. Genelde 20-50MB RAM kullanır ve CPU yükü ihmal edilebilir düzeydedir.

Kalıcı ban yapabilir miyim?

Evet, bantime değerini -1 yaparak kalıcı ban uygulayabilirsin. Ancak bu önerilmez çünkü IP'ler dinamik olabilir ve masum kullanıcıları etkileyebilir.

#fail2ban #brute force #güvenlik #ssh #sunucu koruması
Paylaş:

İçindekiler

🚀 VDS Sunucu Arıyorsan

Türkiye lokasyonlu, DDoS korumalı VDS sunuculara hemen göz at.

VDS Paketlerini İncele