fail2ban kurulumu: SSH koruması ve engellenen IP'yi açma

Linux Sunucu (SSH) 53 görüntülenme Markdown

İnternete açık bir SSH servisine sürekli parola denemesi gelir; bu normaldir. fail2ban, günlükleri izleyip kısa sürede çok sayıda başarısız giriş yapan IP adreslerini güvenlik duvarında geçici olarak engelleyen ücretsiz bir araçtır. Saldırıları tamamen önlemez ama gürültüyü ve parola tahmin riskini ciddi biçimde azaltır. En iyi koruma yine de SSH anahtarı ve parola girişinin kapatılmasıdır; fail2ban ek bir katmandır.

Kurulum

sudo apt update
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status

Ubuntu paketinde SSH koruması (sshd jail'i) varsayılan olarak etkindir. Son komut etkin jail'lerin listesini gösterir.

Ayarları kendinize göre yapın

Ana dosya /etc/fail2ban/jail.conf'u doğrudan düzenlemeyin (güncellemede ezilir). Bunun yerine /etc/fail2ban/jail.local oluşturun:

[DEFAULT]
bantime  = 1h
findtime = 10m
maxretry = 5
ignoreip = 127.0.0.1/8 ::1 198.51.100.7

[sshd]
enabled = true
backend = systemd
  • maxretry: izin verilen başarısız deneme sayısı (5).
  • findtime: bu sürede (10 dakika) maxretry aşılırsa engellenir.
  • bantime: engelin süresi (1 saat). Tekrar eden saldırganlar için daha uzun yazabilirsiniz.
  • ignoreip: asla engellenmeyecek adresler. Kendi sabit IP adresinizi buraya ekleyin ki yanlış parolayla kendinizi dışarıda bırakmayın.
  • backend = systemd: Debian 12 ve yeni Ubuntu'da SSH günlüğü journal'dadır; fail2ban'a oradan okumasını söylersiniz.

Uygulayın: sudo systemctl restart fail2ban. SSH portunu değiştirdiyseniz [sshd] bölümüne port = 2222 ekleyin: SSH port değiştirme.

Durumu izleme

sudo fail2ban-client status sshd
sudo tail -n 20 /var/log/fail2ban.log

İlk komut anlık engellenen adreslerin listesini ve toplam sayıları gösterir. Günlükte Ban ve Unban satırlarını görürsünüz.

Engellenen bir IP'yi açma

Kendiniz ya da bir ekip arkadaşınız engellendiyse (SSH'ta "Connection timed out" görürsünüz: zaman aşımı), sunucuya VNC Konsol ya da başka bir IP'den girip:

sudo fail2ban-client set sshd unbanip 198.51.100.7

Kalıcı çözüm olarak adresi ignoreip listesine ekleyin. IP adresiniz sık değişiyorsa (ev interneti) yanlış parolayla engellenmemek için SSH anahtarı kullanmak daha pratiktir: SSH anahtarı.

Sınırlar ve ipuçları

  • fail2ban yalnızca günlüklerde iz bırakan saldırıları görür. Dağıtık saldırılarda (her biri birkaç deneme yapan çok sayıda IP) etkisi sınırlıdır; asıl çözüm parola girişini kapatmaktır.
  • Başka servisler için de jail açılabilir (Nginx kimlik doğrulama, Postfix); her biri için doğru filtre gerekir.
  • Çok sayıda engel güvenlik duvarı tablosunu şişirebilir; yine de pratikte sorun çıkarmaz.
  • Docker ve fail2ban birlikte kullanılırsa engeller konteyner trafiğine uygulanmayabilir.

Genel koruma için: brute force koruması ve yetkisiz erişim kontrol listesi.

Sık sorulanlar

Kendi IP'mi engelledim ve konsola da erişemiyorum.

VNC Konsol IP'den bağımsız çalıştığı için panelden her zaman girebilirsiniz: VNC Konsol.

fail2ban ile UFW birlikte çalışır mı?

Evet; fail2ban kurallarını iptables/nftables üzerinden ekler ve UFW ile birlikte sorunsuz çalışır.

Engeller yeniden başlatınca kayboluyor.

Varsayılan olarak engeller bellekte tutulur ve fail2ban yeniden başlayınca günlükten yeniden hesaplanır. Kalıcı engel için tekrar eden saldırganlara uzun bantime verebilirsiniz.

İlgili makaleler

Sorununuz çözülmediyse destek talebi açın. Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.