Fail2ban Kurulumu ve SSH Koruması (Ubuntu 24.04)

Son gözden geçirme: Eylül 2026 · Ubuntu 24.04 resmî dokümanına göre

Hızlı çözüm

Fail2ban kurulumu Ubuntu 24.04’te tek paketle yapılır; paket SSH korumasını (sshd jail) varsayılan olarak açar, siz yalnız süreleri ve kendi IP adresinizi jail.local dosyasına yazarsınız.

  1. sudo apt update && sudo apt install fail2ban ile paketi kurun.
  2. /etc/fail2ban/jail.local dosyasını oluşturup ignoreip, bantime, findtime, maxretry değerlerini yazın.
  3. sudo systemctl restart fail2ban ile servisi yeniden başlatın.
  4. sudo fail2ban-client status sshd ile jail’in çalıştığını görün.
Panel Yok — VPS/VDS yönetimsizdir; kurulum sunucunuzda SSH ile yapılır
Sistem Ubuntu 24.04 (fail2ban 1.0.2), Ubuntu 22.04 ve Debian 12 benzer
Yetki root ya da sudo yetkili kullanıcı
Narhost ürünü VPS Sunucu, VDS Sunucu

Başlamadan önce

  • Bağlandığınız sabit IP adresini öğrenin; ignoreip satırına yazılacak, yoksa birkaç hatalı denemeyle kendinizi engelleyebilirsiniz.
  • SSH portunu değiştirdiyseniz yeni numarayı not edin; jail aynı portu dinlemelidir.
  • Açık bir SSH oturumunu işlem bitene kadar kapatmayın.

Fail2ban Kurulumu Ne İşe Yarar

İnternete açık her sunucunun 22 numaralı portu gün boyu otomatik parola denemesi alır. Fail2ban günlükleri okur, belirli bir süre içinde çok sayıda başarısız giriş yapan IP adresini güvenlik duvarı kuralıyla bir süreliğine engeller. Parola denemelerini sıfırlamaz, ama saldırının hızını düşürür ve günlükleri temiz tutar.

Ubuntu 24.04 paketi /etc/fail2ban/jail.d/defaults-debian.conf dosyasıyla gelir: bu dosya sshd jail’ini açar, günlükleri systemd journal’dan okur (backend = systemd) ve engellemeyi nftables ile yapar. Asıl ayar dosyası jail.conf paket güncellemesinde üzerine yazılır; bu yüzden değişiklikler her zaman jail.local dosyasına yazılır. Tüm seçenekler jail.conf man sayfasında listelidir.

Adım Adım Fail2ban Kurulumu

  1. Paketi kurun ve servisi etkinleştirin:
    sudo apt update
    sudo apt install -y fail2ban
    sudo systemctl enable --now fail2ban

    Beklenen sonuç: systemctl status fail2ban çıktısında active (running).

  2. jail.local dosyasını oluşturun.jail.conf‘u kopyalamayın ve düzenlemeyin; yalnız değiştirdiğiniz değerleri yazın:
    sudo nano /etc/fail2ban/jail.local

    Beklenen sonuç: boş bir dosya açılır.

  3. Varsayılanları ve SSH jail’ini yazın.203.0.113.10 yerine kendi sabit IP adresinizi koyun, birden fazla adresi boşlukla ayırın:
    [DEFAULT]
    ignoreip = 127.0.0.1/8 ::1 203.0.113.10
    bantime = 1h
    findtime = 10m
    maxretry = 5
    
    [sshd]
    enabled = true
    port = ssh

    Beklenen sonuç: 10 dakika içinde 5 başarısız giriş yapan IP bir saat engellenir. SSH portunuzu değiştirdiyseniz port = 2222 gibi yeni numarayı yazın.

  4. Yapılandırmayı test edip servisi yeniden başlatın:
    sudo fail2ban-client -t
    sudo systemctl restart fail2ban

    Beklenen sonuç: test komutu OK: configuration test is successful yazar. Hata varsa satır numarasıyla gösterir; düzeltmeden yeniden başlatmayın.

Fail2ban kurulumu akış şeması — paketi kurma, jail.local yazma, yapılandırmayı test etme ve sshd jail durumunu kontrol etme
Paket, jail.local, test ve durum kontrolü: SSH korumasının dört adımı.

Tekrarlayan saldırganlar için artan süre

Aynı adresten dönen denemeler için [DEFAULT] bölümüne bantime.increment = true ekleyebilirsiniz; her yeni engelde süre katlanarak uzar. Parola girişini tamamen kapatmak ise daha güçlü bir önlemdir: önce SSH anahtarı ekleyin, sonra PasswordAuthentication no yapın.

Doğrulama

Sonuç

sudo fail2ban-client status çıktısında Jail list: sshd görünmeli. sudo fail2ban-client status sshd ise Currently failed, Total failed, Currently banned ve Banned IP list satırlarını verir. Birkaç saat sonra engellenen adres listesinin dolmaya başlaması kurulumun çalıştığını gösterir.

Hâlâ Çözülmediyse

  • Kendinizi engellediniz. Başka bir IP adresinden, ürünle gelen tarayıcı terminalinden ya da konsol bağlantısıyla girip sudo fail2ban-client set sshd unbanip 203.0.113.10 çalıştırın, sonra adresi ignoreip‘e ekleyin.
  • Jail açık ama hiç engelleme yok. Port yanlış olabilir; SSH portunu değiştirdiysenizport satırını güncelleyin. Günlükleri journalctl ile okuyun.
  • Servis başlamıyor.sudo journalctl -u fail2ban -n 50 çıktısındaki hata satırı genellikle jail.local‘daki yazım hatasını gösterir.

Narhost desteği

Talebe şunları ekleyin: sunucunuzun IP adresi, fail2ban-client status sshd çıktısı, jail.local içeriği ve hatanın saati. Sunucu içi yapılandırma sizin yönetiminizdedir; erişim kaybında konsol için bize yazın.

Destek talebi aç

Sıkça sorulan sorular

Fail2ban kurulumu sonrası UFW ile çakışır mı?

Hayır. Ubuntu 24.04 paketi engellemeyi nftables üzerinden kendi tablosunda yapar, UFW kurallarınıza dokunmaz. İkisi birlikte çalışır.

Engellenen IP listesini nasıl temizlerim?

Tek adres için sudo fail2ban-client set sshd unbanip <IP>, tüm engelleri kaldırmak için sudo fail2ban-client unban --all kullanılır.

SSH dışındaki servisleri de koruyabilir miyim?

Evet. Paket Nginx, Apache ve Postfix gibi servisler için hazır filtrelerle gelir; jail.local‘a ilgili bölümü ekleyip enabled = true yazmanız yeterli. Filtrelerin listesi Fail2ban resmî deposunda bulunur.

Bu makale sorununuzu çözdü mü?

Çözemediniz mi?

Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.

Etiketler: guvenlik

İlgili çözümler