Linux'ta Fail2Ban Nasıl Kurulur ve Yapılandırılır
9 dakikalık okuma - 14 Mayıs 2026

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 fail2banVarsayı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.localHer ş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ğer | Ne İşe Yarar |
|---|---|---|
bantime | 3600 | Bir IP'yi 1 saat süreyle engeller |
bulma zamanı | 600 | 10 dakikalık bir aralıktaki arızaları sayar |
maxretry | 3 ila 5 | Yasak tetiklenmeden önceki hatalar |
ignoreip | 127.0.0.1/8 ::1 | Asla 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 = trueLogpath '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 statusTest 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 sshdYasaklamaların gerçek zamanlı olarak gerçekleşmesini izleyin:
tail -f /var/log/fail2ban.logYanlışlıkla meşru bir IP'yi yasaklarsanız, yasağı kaldırın:
sudo fail2ban-client set sshd unbanip 203.0.113.50Günden Güne İzleme
Günlüğü tarayarak yasaklama geçmişini inceleyin:
grep "Ban\|Unban" /var/log/fail2ban.logYararlı yönetim komutları:
| Komuta | Amaç |
|---|---|
fail2ban-client durumu | Tü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 --all | Tü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-multiportFail2Ban'ı 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)sAction_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.

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
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

Sorularınız mı var veya özel bir çözüme mi ihtiyacınız var?
Esnek seçenekler
Küresel erişim
Anında dağıtım
Esnek seçenekler
Küresel erişim
Anında dağıtım