Linux'ta Fail2Ban Nasıl Kurulur ve Yapılandırılır

9 dakikalık okuma - 14 Mayıs 2026

hero section cover
İçindekiler
  • Linux'ta Fail2Ban Nasıl Kurulur ve Yapılandırılır
  • Ön Koşullar
  • Ubuntu/Debian üzerinde Fail2Ban Kurulumu
  • Hapishanelerin Yapılandırılması
  • Test ve İzleme
  • Gelişmiş Yapılandırma
Paylaş

Ubuntu, Debian ve RHEL tabanlı Linux sunucularında Fail2Ban'ı kurmak, yapılandırmak ve test etmek için adım adım kılavuz.

Linux'ta Fail2Ban Nasıl Kurulur ve Yapılandırılır

Fail2Ban, şüpheli etkinlik için sunucu günlüklerinizi izler ve güvenlik duvarı kurallarınızı güncelleyerek rahatsız edici IP'leri otomatik olarak yasaklar. Kaba kuvvet saldırılarını durdurur, günlük gürültüsünü azaltır ve yapılandırıldıktan sonra arka planda sessizce çalışır. Bu kılavuz Ubuntu/Debian'da kurulum, çekirdek yapılandırma, hapishane kurulumu ve bilinmeye değer birkaç gelişmiş seçeneği kapsar.

Ön Koşullar

Fail2Ban çoğu Linux dağıtımında çalışır: Ubuntu, Debian, AlmaLinux, CentOS, RHEL, Rocky Linux ve Fedora. İhtiyacınız olacak:

  • Python 3 'ün sistemde yüklü olması
  • Paket kurulumu ve güvenlik duvarı değişiklikleri içinroot veya sudo erişimi
  • Etkin bir güvenlik duvarı (iptables, nftables, ufw veyafirewalld )
  • Başarısız oturum açma girişimlerini yakalayangünlük dosyaları( Debian tabanlı sistemlerde/var/log/auth.log, RHEL tabanlı sistemlerde /var/log/secure )

RHEL tabanlı sistemlerde, önce EPEL deposunu etkinleştirin. Fail2Ban'ı kurmadan önce ufw status veya systemctl status firewalld ile güvenlik duvarınızın çalıştığını doğrulayın.

Ubuntu/Debian üzerinde Fail2Ban Kurulumu

Paketlerinizi güncelleyin ve Fail2Ban'i yükleyin:

sudo apt update && sudo apt upgrade -y
sudo apt install fail2ban

Önyükleme sırasında başlaması için hizmeti etkinleştirin ve ardından başlatın:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Varsayılan yapılandırmayı yerel bir geçersiz kılma dosyasına kopyalayın. Paket güncellemelerinin ayarlarınızın üzerine yazmaması için her zaman jail .conf dosyasını değil jail .local dosyasını düzenleyin:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Her şeyin çalıştığını doğrulayın:

sudo systemctl status fail2ban
sudo fail2ban-client status

İlk komut "Aktif: aktif (çalışıyor)" göstermelidir. İkincisi aktif jaillerinizi listeler. Sudo systemctl is-enabled fail2ban ile Fail2Ban'ın açılışta etkin olduğunu onaylayın.

Hapishanelerin Yapılandırılması

Varsayılan Ayarlar

Etc/fail2ban/jail.local dosyasını açın ve [DEFAULT] bölümünü ayarlayın. Bu ayarlar, geçersiz kılınmadığı sürece tüm hapishaneler için geçerlidir:

ParametreÖnerilen DeğerNe İşe Yarar
bantime3600Bir IP'yi 1 saat süreyle engeller
bulma zamanı60010 dakikalık bir aralıktaki arızaları sayar
maxretry3 ila 5Yasak tetiklenmeden önceki hatalar
ignoreip127.0.0.1/8 ::1Asla yasaklanmayan IP'ler

Kendinizi dışarıda bırakmamak için ignoreip 'ye kendi yönetim IP'nizi ekleyin. Örnek: ignoreip = 127.0.0.1/8 ::1 203.0.113.50.

SSH Koruması

Jail.local'de SSH hapishanesini etkinleştirin:

[sshd]
enabled = true

Logpath 'in dağıtımınız için doğru günlük dosyasına işaret ettiğini kontrol edin. SSH'yi standart olmayan bir bağlantı noktasına (örn. 2222) taşıdıysanız, bağlantı noktası parametresini eşleşecek şekilde güncelleyin.

Web Sunucusu Koruması

Web sunucunuzla eşleşen hapishaneyi etkinleştirin:

  • Nginx: kimlik doğrulama hataları için [nginx-http-auth], kötü amaçlı botlar için [nginx-botsearch]
  • Apache: kimlik doğrulama için [apache-auth], botlar için [apache-badbots]

Recidive Hapishanesi

Recidive] hapishanesi, diğer hapishanelerde yasaklanmaya devam eden IP'leri yakalar ve genellikle bir hafta (604.800 saniye) gibi daha uzun bir ceza uygular. Yaklaşımlarını değiştiren ısrarcı saldırganlar için kullanışlıdır.

Değişiklikleri yaptıktan sonra yeniden yükleyin:

sudo systemctl restart fail2ban
sudo fail2ban-client status

Test ve İzleme

Test Yasakları

Üretimde Fail2Ban'a güvenmeden önce test edin. Uzak bir makineden (yönetici IP'nizden değil), maksimum deneme süresini aşana kadar SSH oturum açmayı deneyin. Engellenmiş olmanız gerekir. Onaylayın:

sudo fail2ban-client status sshd

Yasaklamaların gerçek zamanlı olarak gerçekleşmesini izleyin:

tail -f /var/log/fail2ban.log

Yanlışlıkla meşru bir IP'yi yasaklarsanız, yasağı kaldırın:

sudo fail2ban-client set sshd unbanip 203.0.113.50

Günden Güne İzleme

Günlüğü tarayarak yasaklama geçmişini inceleyin:

grep "Ban\|Unban" /var/log/fail2ban.log

Yararlı yönetim komutları:

KomutaAmaç
fail2ban-client durumuTüm aktif hapishaneleri listeleyin
fail2ban-istemci yasaklandıŞu anda yasaklı olan tüm IP'leri göster
fail2ban-client set <jail> unbanip <IP>Belirli bir IP'nin yasağını kaldırın
fail2ban-client unban --allTüm yasakları temizleyin
fail2ban-client set <jail> banip <IP>Bir IP'yi manuel olarak yasaklama

Yasaklar yeniden başlatmalar boyunca devam eder. Fail2Ban bunları /var/lib/fail2ban/fail2ban.sqlite3 adresindeki bir SQLite veritabanında saklar.

Gelişmiş Yapılandırma

Nftables'a geçiş

nftables, iptables için modern bir alternatiftir. IPv4 ve IPv6'yı tek bir çerçevede ele alır, büyük yasaklama listeleriyle daha iyi ölçeklenir ve yerleşik hız sınırlamasına sahiptir. Eğer Ubuntu 22.04+, Debian 11+ ya da herhangi bir yeni dağıtım kullanıyorsanız, bu daha iyi bir seçimdir.

Bunu jail.local'de ayarlayın:

[DEFAULT]
banaction = nftables-multiport

Fail2Ban'ı yeniden başlatın, ardından sudo nft list ruleset ile doğrulayın. Çıktıda f2b-table ve f2b-chain görmelisiniz. Yalnızca eski bir sistem kullanıyorsanız veya uyumluluk gereksinimleriniz varsa iptables ile devam edin.

E-posta Bildirimleri

Varsayılan olarak, Fail2Ban sessizce yasaklar. E-posta uyarıları almak için jail.local dosyasının [DEFAULT] bölümüne aşağıdakileri ekleyin:

[DEFAULT]
destemail = [email protected]
sender = [email protected]
mta = sendmail
action = %(action_mwl)s

Action_mwl eylemi, yasaklama ayrıntılarını, WHOIS verilerini ve yasağı tetikleyen günlük satırlarını içeren bir e-posta gönderir. Yalnızca WHOIS verilerini istiyorsanız action_mw eylemini kullanın. Sendmail gibi bir posta aktarım aracısının kurulu olması veya msmtp gibi bir şey aracılığıyla yapılandırılmış bir SMTP aktarıcısına ihtiyacınız olacaktır.

Slack veya Discord uyarıları için, bir web kancası gönderen bir betik oluşturun ve /etc/fail2ban/action.d/ içindeki özel bir eylem dosyası aracılığıyla bağlayın.

Fail2Ban'ı çalıştırmak için tam kök erişimi ve ölçülmemiş bant genişliği olan bir sunucu arıyorsanız, FDC'nin özel sunucularına göz atın.

background image
Sunucunuz büyümenizi engelliyor mu?

Yavaş dağıtımlardan veya bant genişliği sınırlarından bıktınız mı? FDC Sunucuları anında tahsis edilmiş güç, küresel erişim ve her ölçek için oluşturulmuş esnek planlar sunar. Yükseltmeye hazır mısınız?

Performansın Kilidini Şimdi Açın

Blog

Bu hafta öne çıkanlar

Daha fazla makale
Linux Sunucu Güçlendirme Kontrol Listesi

Linux Sunucu Güçlendirme Kontrol Listesi

Bir Linux sunucusunu güçlendirmek için adım adım kontrol listesi. SSH, güvenlik duvarları, yama, dosya izinleri, SELinux/AppArmor ve denetim günlüğünü kapsar

15 dakikalık okuma - 8 Mayıs 2026

iperf3 Eğitimi: Linux ve Windows'ta Ağ Hızını Test Edin

10 dakikalık okuma - 7 Mayıs 2026

Daha fazla makale
background image

Sorularınız mı var veya özel bir çözüme mi ihtiyacınız var?

icon

Esnek seçenekler

icon

Küresel erişim

icon

Anında dağıtım

icon

Esnek seçenekler

icon

Küresel erişim

icon

Anında dağıtım