Ekran Kartlı Sunucu Satışları Başladı. İncele
Altyapı ve Sistem Yönetimi

Fail2ban Kurulumu ve Yapılandırması

SSH kaba kuvvet denemelerini otomatik banlama, jail.local ayarları, ban süresi ve deneme sayısı, beyaz liste ekleme ve log takibi.

  • 11 dk okuma
  • Güncelleme:
  • Yayın:
  • Batihost Teknik Ekibi

Kısaca Özet

  • Fail2ban kurulumu Ubuntu 24.04’te tek satırdır: sudo apt install -y fail2ban, ardından sudo systemctl enable --now fail2ban.
  • jail.conf dosyasını asla düzenlemeyin; ayarlarınızı /etc/fail2ban/jail.local dosyasına yazın. Paket güncellemesi jail.conf’u üzerine yazar.
  • sshd jail’i için enabled = true, maxretry = 3, findtime = 10m, bantime = 1h makul bir başlangıçtır.
  • Kendi IP’nizi ignoreip satırına ekleyin; yanlışlıkla banlanırsanız sudo fail2ban-client unban IP ile kaldırırsınız.
  • Fail2ban tek başına yeterli değildir — asıl korumayı anahtar tabanlı SSH girişi sağlar; port değiştirmek yalnızca gürültüyü azaltır.

Fail2ban kurulumu, internete açık bir Linux sunucusunda yapılacak ilk beş işten biridir. Sunucunuzu açtığınız günün akşamında /var/log/auth.log dosyasını okuyun; Çin’den, Hollanda’dan, Brezilya’dan gelen yüzlerce başarısız SSH giriş denemesi göreceksiniz. Kimse size özel saldırmıyor. Bunlar bütün IPv4 alanını tarayan otomatik botlar ve durmuyorlar.

Fail2ban işte bu trafiği kesiyor. Günlük dosyalarını satır satır okuyor, belirlediğiniz süre içinde belirlediğiniz sayıdan fazla başarısız deneme yapan IP adresini güvenlik duvarına yazıyor ve o adres bir süre sunucuya hiç ulaşamıyor. Kurulumu iki komut, doğru yapılandırması ise on beş dakika sürüyor.

Bu rehberde Ubuntu 24.04 üzerinden ilerleyeceğiz; Debian 12 ve AlmaLinux/Rocky farklarını ayrıca vereceğiz. jail.local ayarları, ssh brute force engelleme mantığı, artan ban süreleri, beyaz liste, güvenlik duvarı entegrasyonu ve dağıtıma göre değişen günlük kaynağı — hepsi sırayla. Sunucunuza henüz bağlanmadıysanız önce SSH bağlantı rehberine göz atın.

Fail2ban Ne Yapar, Ne Yapmaz?#

Çalışma mantığı üç adımdan ibaret: oku, say, engelle. Bir “jail” (hapishane) tanımı, hangi günlük kaynağının okunacağını, hangi desenin başarısız deneme sayılacağını ve engellemenin nasıl uygulanacağını belirtir. Desenler /etc/fail2ban/filter.d/ altındaki filtre dosyalarında düzenli ifadelerle yazılıdır; sshd, nginx, postfix, dovecot ve daha onlarcası hazır gelir.

Ama şunu baştan netleştirelim, çünkü çok karıştırılıyor:

  • Yapar: Kaba kuvvet ve sözlük saldırılarını yavaşlatır, günlükleri temiz tutar, CPU ve bant genişliği israfını azaltır, saldırı denemelerini kayıt altına alır.
  • Yapmaz: DDoS engellemez. Fail2ban günlüğe düşen satırları okur; saniyede yüz binlerce paket gönderen bir hacim saldırısı günlüğe bile ulaşmaz. Onun için ağ seviyesinde DDoS koruması gerekir.
  • Yapmaz: Zayıf parolayı güçlendirmez. Botun 3 denemede tutturabileceği bir parola kullanıyorsanız Fail2ban sizi kurtarmaz.
  • Yapmaz: Sıfırıncı gün açığını kapatmaz. Güncel paket, doğru izin ve dar güvenlik duvarı hâlâ zorunlu.
BilgiFail2ban, güvenlik katmanlarından yalnızca biridir. Sıralama şöyle olmalı: önce anahtar tabanlı SSH girişi, sonra dar bir güvenlik duvarı, sonra Fail2ban, en sonda izleme. Tersten başlarsanız — yani sadece Fail2ban kurup gerisini bırakırsanız — kâğıt üstünde güvendesiniz, pratikte değil.

Ubuntu 24.04’e Fail2ban Kurulumu#

Paket resmî depolarda hazır. Ek depo eklemeye gerek yok.

sudo apt update && sudo apt install -y fail2ban

# systemd günlüğünü okuyacaksanız Python bağlayıcısı da gerekir
sudo apt install -y python3-systemd

# Servisi başlat ve açılışta çalışacak şekilde etkinleştir
sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban

# Sürümü kontrol edin
fail2ban-client --version

Kurulumdan hemen sonra Fail2ban çalışmaya başlar ama Ubuntu’da varsayılan olarak hiçbir jail etkin değildir. Yani kurdunuz diye korunuyor sayılmazsınız; sshd jail’ini elle açmanız gerekiyor. Bir sonraki bölümde tam olarak bunu yapacağız.

Debian 12#

Komutlar birebir aynıdır. Tek fark, bazı minimal Debian imajlarında rsyslog kurulu gelmez; bu durumda /var/log/auth.log dosyası hiç oluşmaz ve dosya tabanlı okuma çalışmaz. Çözümü backend = systemd ayarında, aşağıda anlatıyoruz.

AlmaLinux ve Rocky Linux#

sudo dnf install -y epel-release
sudo dnf install -y fail2ban fail2ban-firewalld
sudo systemctl enable --now fail2ban

RHEL ailesinde paket EPEL deposundan gelir. fail2ban-firewalld paketi, banların firewalld üzerinden uygulanması için gereken tanımı /etc/fail2ban/jail.d/ altına kendisi bırakır. Günlük dosyası /var/log/auth.log değil /var/log/secure’dur; sistemde journald baskın olduğu için genelde backend = systemd kullanılır.

jail.local Ayarları ve sshd Jail’ini Etkinleştirme#

Neden jail.conf değil de jail.local?#

Bu, Fail2ban’de yeni başlayanların düştüğü bir numaralı tuzak. /etc/fail2ban/jail.conf dosyası paketle gelir ve her paket güncellemesinde üzerine yazılır. Oraya yazdığınız ayarlar bir gün, siz farkına bile varmadan silinir.

Doğru yöntem, kendi ayarlarınızı ayrı bir dosyaya koymaktır. Fail2ban dosyaları şu sırayla okur ve sonrakiler öncekileri geçersiz kılar:

  1. /etc/fail2ban/jail.conf — paketin varsayılanları, dokunmayın
  2. /etc/fail2ban/jail.d/*.conf — paketlerin bıraktığı parça dosyalar
  3. /etc/fail2ban/jail.localsizin dosyanız

jail.conf’un tamamını jail.local’a kopyalamayın; bu da yaygın bir hata. Sadece değiştirdiğiniz satırları yazın, gerisi varsayılanlardan gelir. Böylece dosyanız on satır kalır ve altı ay sonra baktığınızda neyi neden değiştirdiğinizi anlarsınız.

sudo nano /etc/fail2ban/jail.local

sshd jail’i ve temel ayarlar#

Aşağıdaki içerik, tek başına çalışan makul bir başlangıç yapılandırmasıdır. IP adresini kendi sabit adresinizle değiştirin.

[DEFAULT]
# Beyaz liste: bu adresler asla banlanmaz
ignoreip = 127.0.0.1/8 ::1 203.0.113.55

# Kaç deneme, ne kadar sürede, ne kadar ban
maxretry = 5
findtime = 10m
bantime  = 1h

# Günlük kaynağı (dağıtıma göre değişir, aşağıya bakın)
backend  = systemd

# UFW kullanıyorsanız banlar ufw kurallarına yazılsın
banaction          = ufw
banaction_allports = ufw

[sshd]
enabled  = true
port     = 22
maxretry = 3
findtime = 10m
bantime  = 24h
# Yapılandırmayı yükle
sudo fail2ban-client reload

# Gerçekte hangi değerlerin geçerli olduğunu gör
sudo fail2ban-client get sshd maxretry
sudo fail2ban-client get sshd bantime
sudo fail2ban-client get sshd ignoreip
AyarNe yaparÖnerilenNot
enabledJail’i açar/kapatırtrueUbuntu’da varsayılan kapalıdır
maxretryBan için gereken başarısız deneme sayısı32’ye düşürmek yanlış banları artırır
findtimeDenemelerin sayıldığı zaman penceresi10mUzatmak yavaş saldırıları da yakalar
bantimeBan süresi1h – 24h-1 kalıcı ban demektir
ignoreipHiç banlanmayacak adreslerKendi IP’nizBoşlukla ayrılır, CIDR kabul eder
portJail’in kapatacağı port22 veya özelSSH portunu değiştirdiyseniz burayı da güncelleyin
backendGünlüğün nereden okunacağısystemdDosya için auto veya polling
jail.local içindeki temel Fail2ban parametreleri
DikkatSSH portunu 22 dışında bir değere aldıysanız [sshd] bölümündeki port satırını da güncelleyin. Aksi hâlde Fail2ban denemeleri saymaya devam eder ama banı yanlış porta uygular ve saldırgan rahatça bağlanmaya devam eder. Ban’ın hiç işe yaramadığı durumların çoğu bu tek satırdan kaynaklanıyor.

Ban Süresi: Artan Ban ve Kalıcı Ban#

Sabit bir saatlik ban, ısrarcı botlara karşı zayıf kalır: süre dolar, bot geri gelir, tekrar denemeye başlar. Fail2ban’in bantime.increment özelliği bu döngüyü kırar — aynı IP her yakalandığında ban süresi katlanarak uzar.

[DEFAULT]
bantime  = 1h

# Tekrar eden IP'lerde ban süresi büyüsün
bantime.increment   = true
bantime.rndtime     = 5m
bantime.maxtime     = 5w
bantime.multipliers = 1 5 30 60 300 720 1440 2880

# Ban geçmişi erken silinmesin, yoksa çarpan sıfırlanır
dbpurgeage = 10w

Bu tanımla ilk ban 1 saat, ikincisi 5 saat, üçüncüsü 30 saat sürer ve üst sınır olan 5 haftaya kadar tırmanır. bantime.rndtime süreye rastgele bir sapma ekler; böylece banın ne zaman düşeceğini kestirip tam o anda geri gelen botlar şaşar.

dbpurgeage satırı önemli. Fail2ban ban geçmişini /var/lib/fail2ban/fail2ban.sqlite3 veritabanında tutar ve varsayılan olarak eski kayıtları bir gün sonra temizler. Temizlenirse çarpan sıfırdan başlar, yani artan ban özelliği fiilen çalışmaz. Değeri bantime.maxtime’dan büyük tutun.

# Kalıcı ban: süre dolmaz
[sshd]
enabled  = true
bantime  = -1
İpucuKalıcı bandan önce iki kez düşünün. Ban listesi zamanla binlerce satıra çıkar, güvenlik duvarı kural seti şişer ve dinamik IP kullanan gerçek bir kullanıcı bir daha asla giremez. Çoğu sunucuda doğru cevap kalıcı ban değil, artan ban süresidir. Kalıcı banı yalnızca elle eklediğiniz belirli adresler için kullanın.

Durumu Görme, Ban Kaldırma ve Beyaz Liste#

fail2ban-client status ile durum#

# Hangi jail'ler açık?
sudo fail2ban-client status

# Belirli bir jail'in ayrıntısı
sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 2
|  |- Total failed:     418
|  `- Journal matches:  _SYSTEMD_UNIT=ssh.service + _COMM=sshd
`- Actions
   |- Currently banned: 6
   |- Total banned:     37
   `- Banned IP list:   198.51.100.7 198.51.100.23 203.0.113.99

“Total failed” değeri artıyor ama “Total banned” sıfırda kalıyorsa filtre günlüğü okuyor fakat eşleşme bulamıyordur — bu genellikle backend ya da filtre sorunudur. İkisi de sıfırsa jail hiç çalışmıyordur. Ayırt etmesi kolay, tanısı hızlı.

Banı elle kaldırma ve elle ban#

# Tek adresi tüm jail'lerden çıkar
sudo fail2ban-client unban 203.0.113.55

# Belirli bir jail'den çıkar
sudo fail2ban-client set sshd unbanip 203.0.113.55

# Bütün banları temizle (dikkatli kullanın)
sudo fail2ban-client unban --all

# Bir adresi elle banla
sudo fail2ban-client set sshd banip 198.51.100.7

Kendi IP’nizi beyaz listeye alma#

ignoreip satırı, listelenen adreslerin sayaca hiç girmemesini sağlar. Sabit IP’niz varsa mutlaka ekleyin; ofis ağınız için tüm bloğu verebilirsiniz.

[DEFAULT]
ignoreip = 127.0.0.1/8 ::1 203.0.113.55 198.51.100.0/24 ofis.example.com

# Sunucunun kendi adreslerini otomatik atla (varsayılan açık)
ignoreself = true
UyarıDinamik IP kullanıyorsanız — ki evden bağlanan çoğu kişi kullanıyor — ignoreip sizi tam korumaz; IP’niz değişince beyaz liste anlamsız hâle gelir. Bu yüzden panelin KVM/VNC konsoluna nasıl eriştiğinizi şimdiden öğrenin. Kendinizi banlarsanız tek çıkış yolu orasıdır. Erişemiyorsanız destek talebi açmanız gerekir.

Güvenlik Duvarıyla Birlikte Çalışma#

Fail2ban kendi başına paket engellemez; işi güvenlik duvarına yaptırır. Hangi aracı kullanacağı banaction ayarıyla belirlenir.

SistemÖnerilen banactionKontrol komutu
Ubuntu / Debian + UFWufwsudo ufw status numbered
Ubuntu / Debian, UFW yokiptables-multiportsudo iptables -S | grep f2b
nftables kullananlarnftables-multiportsudo nft list ruleset | grep f2b
AlmaLinux / Rockyfirewallcmd-rich-rulessudo firewall-cmd --list-rich-rules
Dağıtıma göre Fail2ban ban eylemi ve doğrulama komutu
# UFW ile birlikte kullanıyorsanız önce UFW ayakta olmalı
sudo ufw allow 22/tcp comment 'SSH'
sudo ufw enable
sudo ufw status numbered

# Fail2ban'in eklediği kuralları görün
sudo iptables -S | grep f2b
sudo nft list ruleset | grep -i f2b

İki aracın çakışması diye birşey yok. Fail2ban kendi zincirini kural setinin başına ekler; banlı bir paket UFW’nin “allow 22” kuralına ulaşmadan düşer. Sıralama böyle olduğu için ikisi aynı anda sorunsuz çalışır. Güvenlik duvarı tarafını sıfırdan kuracaksanız UFW ve iptables rehberi gerekli komutları veriyor.

BilgiUbuntu 24.04’te iptables komutu aslında arka planda nftables’a yazar (iptables-nft uyumluluk katmanı). Bu yüzden iptables-multiport eylemi de sorunsuz çalışır; ayrı bir şey yapmanıza gerek yok. Kuralları hangi araçla listelediğinize göre çıktı farklı görünebilir, panik yapmayın.

Log Kaynağı ve backend Ayarı#

Fail2ban’in en sık takıldığı yer burası. Servis “çalışıyor” görünür, jail “etkin” yazar, ama tek bir ban bile gelmez — çünkü okuduğu yerde günlük yoktur.

DağıtımSSH günlüğüUygun backend
Ubuntu 24.04 (rsyslog kurulu)/var/log/auth.logauto veya systemd
Ubuntu / Debian minimal imajDosya yoksystemd
Debian 12/var/log/auth.logauto veya systemd
AlmaLinux / Rocky/var/log/securesystemd
Konteyner / kesilmiş imajlarDeğişkensystemd
Dağıtıma göre SSH günlük kaynağı ve önerilen backend

Servis açılmıyorsa ve “Failed during configuration: Have not found any log file for sshd jail” hatası alıyorsanız tanı nettir: dosya tabanlı okuma denenmiş, dosya bulunamamıştır. Çözüm backend = systemd.

# Filtre günlükte gerçekten eşleşiyor mu, test edin
sudo fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf
sudo fail2ban-regex systemd-journal /etc/fail2ban/filter.d/sshd.conf

# Servisin kendi günlüğü
sudo tail -f /var/log/fail2ban.log
sudo journalctl -u fail2ban -f

# Yalnızca ban satırları
sudo grep " Ban " /var/log/fail2ban.log | tail -20

fail2ban-regex çıktısındaki “Lines: … matched” satırı sıfır gösteriyorsa filtre günlükle konuşmuyor demektir. Bu araç, tahmin yürütmek yerine kesin cevap verdiği için sorun giderirken ilk başvuracağınız komut olmalı.

DikkatUbuntu 24.04’te SSH servisi soket etkinleştirmesiyle çalışabilir; bu durumda günlük satırları ssh.service yerine ssh@0-... biçiminde birim adlarıyla düşer ve systemd arka ucunda hiç eşleşme görmezsiniz. Böyle bir durumda /etc/fail2ban/jail.local içindeki [sshd] bölümüne journalmatch = _COMM=sshd satırını ekleyin.

SSH Portunu Değiştirmek Ne Kadar İşe Yarar?#

Forumlarda en çok verilen tavsiye bu: “22’yi kapat, 2222’ye al, kurtul.” Doğrusunu söyleyelim — işe yarar ama sandığınız kadar değil.

Port değiştirmenin gerçek faydası gürültü azaltmaktır. IPv4 alanının tamamında 22 numaralı portu tarayan botların büyük çoğunluğu başka bir porta bakmaz; günlükleriniz temizlenir, Fail2ban daha az çalışır, disk ve CPU tasarrufu olur. Bu küçümsenecek bir kazanç değil.

Faydası olmayan yer ise güvenliktir. Modern tarama araçları 65 bin portun tamamını dakikalar içinde geçiyor; hedefli bir tarayıcı sizin 2222’nizi de bulur. Yani port değişikliği bir kilit değil, kapının önündeki paspasın altına saklanmış anahtar gibi: rastgele geçenleri şaşırtır, arayanı durdurmaz.

ÖnlemOtomatik botlara etkisiHedefli saldırıya etkisiÖncelik
Anahtar tabanlı giriş + PasswordAuthentication noTamamen keserÇok yüksek1
Güvenlik duvarında dar kuralYüksekYüksek2
Fail2banYüksekOrta3
Root girişini kapatmaOrtaOrta4
SSH portunu değiştirmeOrta (gürültü azaltır)Düşük5
SSH güvenlik önlemlerinin etkinlik sıralaması

Sıralama açık: önce SSH anahtarı oluşturup parola girişini kapatın, sonra Fail2ban’i kurun, port değişikliğini en sona bırakın. Anahtar tabanlı girişe geçmiş bir sunucuda parola denemesi zaten hiçbir zaman başarılı olamaz — Fail2ban orada güvenlik değil, temizlik görevi görür. Portu yine de değiştirecekseniz port açma ve test etme sayfası doğrulama adımlarını veriyor.

Kurulumdan Sonra: İzleme ve Bakım#

Fail2ban kur-unut türü bir araç değil. Ayda bir bakmak yeterli ama bakmak gerekiyor.

# En çok banlanan adresler
sudo grep " Ban " /var/log/fail2ban.log | awk '{print $NF}' | sort | uniq -c | sort -rn | head

# Şu an banlı olanlar
sudo fail2ban-client status sshd

# Yapılandırma değişikliğinden sonra
sudo fail2ban-client reload sshd

# Tam yapılandırma dökümü (hata ararken)
sudo fail2ban-client -d | grep sshd
  • Yanlış banları izleyin. Kendi ekibinizden biri sürekli banlanıyorsa maxretry değeri fazla dar olabilir.
  • Veritabanı boyutuna bakın. Artan ban kullanıyorsanız /var/lib/fail2ban/fail2ban.sqlite3 zamanla büyür; dbpurgeage bunu dengeler.
  • Diğer servisler için jail açın. Web paneli, posta sunucusu veya Nginx kullanıyorsanız hazır filtreler var; ls /etc/fail2ban/filter.d/ ile listeleyin.
  • Genel izlemeye bağlayın. Ban sayısındaki ani sıçrama bir saldırının habercisidir; sunucu izleme rehberindeki araçlarla uyarı kurabilirsiniz.

Yeni bir sunucu teslim aldıysanız Fail2ban’i tek başına düşünmeyin; VDS ilk ayarlar listesindeki adımların bir parçası olarak uygulayın. Günlük dosyalarını okumakta zorlanıyorsanız Linux temel komutları sayfası grep, tail ve journalctl kullanımını örneklerle anlatıyor. Oyun sunucusu işletenler için aynı sıkılaştırma mantığı geçerli; Minecraft sunucu güvenliği sayfasında oyun tarafındaki ek başlıklar var. Sunucu tarafında Ryzen tabanlı VDS paketleri kullanıyorsanız Fail2ban’in kaynak tüketimi hissedilir düzeyde bile değildir; birkaç MB bellek ve ihmal edilebilir CPU.

Özetle#

Fail2ban kurulumu Ubuntu 24.04’te sudo apt install -y fail2ban ile başlar, sudo systemctl enable --now fail2ban ile biter. Ama kurmak yetmez: Ubuntu’da jail’ler varsayılan olarak kapalı gelir, sshd jail’ini /etc/fail2ban/jail.local dosyasına enabled = true yazarak siz açarsınız. jail.conf dosyasına hiç dokunmayın, güncellemede kaybolur.

Dört ayar işin özü: maxretry kaç denemede banlanacağını, findtime bu denemelerin hangi pencerede sayılacağını, bantime ne kadar süreceğini, ignoreip ise kimin hiç banlanmayacağını belirler. Israrcı botlar için bantime.increment = true ve yeterince büyük bir dbpurgeage ekleyin. Durumu fail2ban-client status sshd ile görür, yanlış banı fail2ban-client unban IP ile kaldırırsınız.

Ban gelmiyorsa ilk bakılacak yer backend ayarıdır; günlük kaynağı dağıtıma göre değişir ve modern imajlarda systemd çoğu zaman doğru cevaptır. Son olarak beklentinizi doğru kurun: Fail2ban gürültüyü keser ve kaynak kazandırır, DDoS engellemez, zayıf parolayı kurtarmaz. Sunucunuzu gerçekten kapatan şey anahtar tabanlı SSH girişidir; Fail2ban onun üstüne konan sağlam ama ikincil bir katmandır. Portu değiştirmek ise listenin en altında — hala faydalı, ama en az.

Sıkça Sorulan Sorular#

Fail2ban nedir ve ne işe yarar?

Fail2ban, sunucu günlüklerini izleyip belirlenen süre içinde çok sayıda başarısız giriş denemesi yapan IP adreslerini güvenlik duvarı üzerinden geçici olarak engelleyen bir servistir. En çok SSH kaba kuvvet saldırılarına karşı kullanılır, ama web paneli, FTP, posta ve web sunucusu günlükleri için de hazır filtreleri vardır.

Ubuntu 24.04’te Fail2ban nasıl kurulur?

İki komut yeterlidir: sudo apt update && sudo apt install -y fail2ban ve ardından sudo systemctl enable --now fail2ban. Kurulum sonrası ayarlarınızı /etc/fail2ban/jail.local dosyasına yazıp sudo fail2ban-client reload ile yükleyin. Servisin çalıştığını sudo fail2ban-client status ile doğrularsınız.

jail.conf mu jail.local mı düzenlemeliyim?

Her zaman jail.local. jail.conf paketle birlikte gelir ve her güncellemede üzerine yazılır, yani orada yaptığınız değişiklikler bir gün sessizce kaybolur. jail.local dosyası jail.conf’tan sonra okunur ve aynı isimli ayarları geçersiz kılar. Sadece değiştirdiğiniz satırları yazmanız yeterlidir.

Kendi IP adresimi nasıl beyaz listeye alırım?

jail.local dosyasındaki [DEFAULT] bölümüne ignoreip = 127.0.0.1/8 ::1 203.0.113.55 satırını ekleyin ve kendi IP’nizi listeye yazın. Birden fazla adresi boşlukla ayırabilir, CIDR blok verebilirsiniz. Değişiklikten sonra sudo fail2ban-client reload çalıştırın.

Yanlışlıkla kendimi banladım, banı nasıl kaldırırım?

Sunucuya girebiliyorsanız sudo fail2ban-client unban 203.0.113.55 komutu adresi tüm jail’lerden çıkarır. Giremiyorsanız panelin KVM/VNC konsolunu kullanın: konsol ağ üzerinden gitmediği için güvenlik duvarı kuralından etkilenmez. Konsoldan aynı komutu çalıştırıp IP’nizi ignoreip satırına eklemeyi unutmayın.

Fail2ban’in çalıştığını nasıl anlarım?

sudo fail2ban-client status aktif jail listesini, sudo fail2ban-client status sshd ise o jail’deki başarısız deneme ve ban sayılarını gösterir. “Currently banned” değeri saatler içinde artıyorsa sistem çalışıyordur. Ayrıntılı takip için sudo tail -f /var/log/fail2ban.log çıktısını izleyin.

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

Çakışmaz, birlikte çalışırlar. Fail2ban varsayılan olarak kendi zincirini güvenlik duvarı kurallarının en başına ekler, dolayısıyla banlı IP’ler UFW kurallarına hiç ulaşmadan düşer. UFW kullanıyorsanız banaction = ufw ayarını verin; böylece banlar ufw status çıktısında da görünür ve yönetimi kolaylaşır.

Fail2ban kurunca SSH portunu değiştirmeye gerek var mı?

Gerek yok, ama zararı da yok. Port değiştirmek yalnızca rastgele tarama yapan botların gürültüsünü keser; hedefli bir tarama sunucunuzu birkaç saniyede bulur. Gerçek korumayı parola girişini kapatıp anahtar tabanlı kimlik doğrulamaya geçmek sağlar. Fail2ban bunun üstüne kaynak tasarrufu ve günlük temizliği katar.

Altyapı ve Sistem Yönetimi — Tüm Rehberler#

  1. DDoS Saldırısı Nedir ve Nasıl Korunulur?
  2. Veri Merkezi (Data Center) Nedir?
  3. Sunucu Kiralarken Nelere Dikkat Edilmeli?
  4. Discord Bot Hosting ve 7/24 Çalıştırma
  5. Sunucu Yedekleme Stratejileri ve 3-2-1 Kuralı
  6. Sunucu Yönetimi İçin Linux Temel Komutları
  7. Sunucu İzleme ve Monitoring Rehberi
  8. SSH Anahtarı (Key) Oluşturma ve Sunucuya Ekleme
  9. Fail2ban Kurulumu ve Yapılandırması
  10. Linux’ta Cron Job ile Zamanlanmış Görev Oluşturma
  11. Port Nedir, Nasıl Açılır ve Nasıl Test Edilir?
  12. RAID Nedir ve Sunucuda Hangi RAID Seviyesi Kullanılır?

Bu rehber Batihost teknik ekibi tarafından hazırlanmış ve tarihinde güncellenmiştir. Eksik veya hatalı bulduğunuz bir bilgi varsa bize bildirin.

Başa dön