Binlerce bot engellendiğinde ortaya çıkan iptables CPU darboğazını ve ağ gecikmesini engelleyin; nftables yerel kümeleri (O(1) sets) ile sıfır gecikmeli sunucu koruması sağlayın.
Aynı IP tekrar saldırdığında ban süresi 1 gün, 4 gün, 16 gün olarak 60 güne kadar otomatik katlanır.
2026 Endüstri Standardı: nftables yerel küme (set) mimarisiyle 50.000 IP engelli olsa dahi paket denetimini nanosaniyeler içinde (O(1)) tamamlar. IPv4 ve IPv6 tek tabloda (inet) atomik olarak güncellenir.
Boyuttan bağımsız sabit erişim
Meşru bir web isteğinin geçtiği filtre adımı
10.000 IP engellendiğinde işlemci ayak izi
jail.local yapılandırma eylemi
# /etc/fail2ban/jail.local # 2026 Yüksek Performanslı Fail2Ban + NFTABLES Yapılandırması [DEFAULT] # Yüksek Performanslı Engelleyici Eylemleri (O(1) Hash / Set) banaction = nftables-multiport banaction_allports = nftables-allports # Temel Süreler ve Eşikler bantime = 60m findtime = 10m maxretry = 3 # Güvenli IP'ler (Asla Engellenmeyecek Adresler) ignoreip = 127.0.0.1/8 ::1 10.0.0.0/8 192.168.0.0/16 # Üstel Ceza Artırımı (Tekrarlayan Saldırganlara Katlanan Süreler) bantime.increment = true bantime.factor = 2 bantime.formula = ban.Time * (1<<(ban.Count if ban.Count<20 else 20)) * float(random.uniform(0.9, 1.1)) bantime.overalljails = true bantime.maxtime = 60d [sshd] enabled = true port = ssh filter = sshd logpath = %(sshd_log)s maxretry = 3 [nginx-botsearch] enabled = true port = http,https filter = nginx-botsearch logpath = /var/log/nginx/access.log maxretry = 2 bantime = 24h [wordpress] enabled = true port = http,https filter = wordpress logpath = /var/log/nginx/access.log maxretry = 5 findtime = 10m bantime = 12h [recidive] enabled = true logpath = /var/log/fail2ban.log banaction = nftables-allports bantime = 30d findtime = 1d maxretry = 3
Fail2Ban, SSH ve web servislerine yapılan kaba kuvvet (brute-force) saldırılarını tespit edip IP adreslerini güvenlik duvarına ekler. Ancak eski iptables motoru kullanıldığında her yeni engelli IP için ayrı bir satır kuralı (-A INPUT -s X.X.X.X -j DROP) eklenir. 10.000 saldırgan engellendiğinde, sunucunuza gelen her bir meşru ziyaretçi paketi bu 10.000 satırı tek tek taramak zorunda kalır (O(N) karmaşıklığı). Bu durum, saldırı altında olmasanız dahi sunucu CPU'sunun %30-%50'sinin yalnızca paket süzmeye harcanmasına yol açar.
Linux çekirdeğinin modern güvenlik duvarı motoru olan nftables, yerel küme (native set) desteğine sahiptir. Engellenen 50.000 IP adresi tek bir küme içerisine yazılır. Çekirdek, gelen paketin kaynak IP'sini bu kümede hash tablosu benzeri bir yapıyla sabit zamanda (O(1)) denetler. İster 10 IP engelli olsun, ister 100.000 IP; paket işleme süresi nanosaniyeler mertebesinde kalır ve CPU yükü sıfıra yakındır.
Standart 1 saatlik yasaklar profesyonel botnet saldırganlarını caydırmaz; bot 61. dakikada tekrar şifre denemeye başlar.bantime.increment = true parametresi ile aynı IP adresi tekrar yakalandığında ceza süresi 2 saat, 8 saat, 24 saat şeklinde otomatik katlanır. Ayrıca [recidive] jail'i etkinleştirildiğinde gün içinde 3 kez engellenen tekrarlayan saldırganlar doğrudan 30 gün boyunca tüm portlardan (allports) tamamen izole edilir.