Linux sunucunuzu korumak için Fail2ban'ı nasıl yapılandırabilirsiniz?

Son Güncelleme: 3 Eylül 2026

Modern bir veri merkezinde dizüstü bilgisayarla çalışan, sunucu güvenliği konusunda eğitim vermek için ideal bir BT uzmanı.

Linux sunucunuzu ağa açık bırakmak, esasen botlar için bir mıknatıs oluşturmak gibidir. Herhangi bir güvenlik önlemi yapılandırmadıysanız, büyük olasılıkla günlüklerinizde binlerce başarısız giriş denemesi vardır; otomatik makineler sürekli olarak kullanıcı adı ve parola kombinasyonlarını deneyerek kaba kuvvet saldırılarıyla makinenizin kontrolünü ele geçirmeye çalışmaktadır.

İşte burada Fail2ban devreye giriyor; yorulmak bilmeyen bir bekçi köpeği gibi çalışan bir araç. Tam anlamıyla bir güvenlik duvarı değil, daha ziyade sistem günlüklerini analiz ediyor ve birinin zorla içeri girmeye çalıştığını tespit ettiğinde, iptables veya nftables gibi araçlar kullanarak IP adresini engelleyerek kapıyı yüzüne kapatıyor. Sunucunuzu kırılması zor bir engel haline getirmek için nasıl yapılandırılacağını görelim.

Fail2ban tam olarak nedir ve nasıl çalışır?

Basitçe anlatmak gerekirse, Fail2ban, servislerinizin günlük dosyalarını sürekli olarak izleyen bir arka plan işlemidir. Önceden tanımlanmış kurallarla ( filtreler olarak adlandırılır) eşleşen şüpheli kalıplar bulduğunda , başarısızlıkları saymaya başlar. Bir IP adresi belirli bir süre içinde izin verilen deneme sınırına ulaşırsa, program bir işlem gerçekleştirir ; bu işlem genellikle o IP adresini güvenlik duvarının kara listesine eklemeyi içerir.

Bu yapılandırmalar, "hapishane" adı verilen yapılar halinde düzenlenir . Bir hapishane, temelde belirli bir hizmete (örneğin SSH, Apache veya MySQL) uygulanan bir dizi kuraldır. Bu sayede, uzaktan erişim için çok katı bir politika ve web sunucusu için daha esnek bir politika belirleyebilir, böylece davetsiz misafirlerin her beş dakikada bir logları manuel olarak kontrol etmenize gerek kalmadan otomatik olarak engellenmesini sağlayabilirsiniz.

  Linux için En İyi Web Kaynakları: Eksiksiz Bir Kılavuz

Linux sunucu raflarının yanında, elinde hacker maskesi tutan bir kişinin yer aldığı siber saldırı sembolü.

Linux dağıtımınıza göre kurulum.

Kullandığınız sisteme bağlı olarak kurulum komutu biraz farklılık gösterebilir, ancak genellikle neredeyse tüm resmi depolarda mevcuttur.

  • Ubuntu ve Debian'da: Çok basit, sadece koşmanız gerekiyor. sudo apt update takip eden sudo apt install fail2ban.
  • Rocky Linux veya AlmaLinux üzerinde: Bunlar kurumsal dağıtımlar olduğundan, öncelikle EPEL deposunu etkinleştirmeniz gerekir. sudo dnf install epel-release ve ardından paketi şu şekilde yükleyin: sudo dnf install fail2ban fail2ban-firewalld.
  • Alpine Linux'ta: APK yöneticisini şu şekilde kullanın: sudo apk add fail2ban Ve OpenRC kullandığı için, onu şu şekilde etkinleştirmeniz gerekiyor: sudo rc-update add fail2ban default ve şununla başlayın sudo rc-service fail2ban start.

Veri merkezindeki sunucu altyapısını temsil eden, mavi ışıklandırmalı sunucu raflarının profesyonel detay görüntüsü.

Ana yapılandırma: .local dosyasının sırrı

Sık yapılan bir hata, dosyayı doğrudan düzenlemektir. jail.confSakın yapmayın! Sistem güncellendiğinde bu dosya üzerine yazılabilir. Altın kural, dosyanın bir kopyasını oluşturmaktır. hapis.yerelBu ikinci dosyaya eklediğiniz tüm parametreler orijinal dosyaya göre öncelikli olacak ve yaptığınız değişiklikler üzerine yazılacaktır. güncellemelerden güvende.

Başlamak için, orijinal dosyayı şu şekilde kopyalayabilirsiniz: sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local Ardından, nano veya vim gibi favori editörünüzle açın. Bölümde [VARSAYILAN] Sistemin genel davranışını burada tanımlarsınız:

  • yasak zamanı: Zararlı IP adresinin ne kadar süreyle kilitli kalacağı. Bu süre saniye cinsinden veya dakika cinsinden (örneğin, 10 dakika) belirtilebilir.
  • bulma zamanı: Fail2ban'ın hataları kontrol ettiği zaman aralığı. Birisi bir saat içinde 5 kez hata verirse ancak hata bulma süresi 10 dakika ise, yasaklanmayacaktır.
  • maksimum deneme: Sistemin hata vermeden önce izin verilen başarısız deneme sayısı Yeter artık, IP adresini engelleyin..
  • yok saymak: Kendinizi yasaklanmaktan korumak için bu çok önemlidir. Buraya bilgilerinizi girmeniz gerekmektedir. genel IP adresi veya VPN kapsama alanınız.
  Nitelikler ve sertifikalar: Profilinizi güçlendirmek için eksiksiz bir rehber

Kurumsal bir sunucuya bağlı fiber optik ağ kablolarının yakın çekim görüntüsü, ağ bağlantısını ve güvenliğini göstermektedir.

Belirli hizmetleri adım adım koruma altına almak

Genel ayarlar yapılandırıldıktan sonra, sizi en çok ilgilendiren hizmetler için koruma önlemlerini etkinleştirme zamanı gelir. Korumanın çalışması için, aşağıdaki ayarları yapmanız gerekir. enabled = true kendi bölümünde jail.local.

SSH Erişimi (En kritik nokta)

22 numaralı port bir numaralı hedeftir. Sağlam bir yapılandırma, bunu tanımlayacaktır. maxretry = 3 y un bantime = 3600 (bir saat). Fail2ban dosyayı okuyacak. /var/log/auth.log (Debian/Ubuntu'da) veya / var / log / secure (CentOS/RHEL üzerinde) kimlik doğrulama hatalarını tespit etmek ve saldırganın erişimini engellemek için.

Web Sunucuları (Apache ve Nginx)

Bir web siteniz veya çevrimiçi mağazanız varsa, botlar hassas rotalara erişmeye çalışacaktır, örneğin: /wp-admin o /login.phpÖzel filtreler oluşturabilirsiniz. /etc/fail2ban/filter.d/ Bu kalıpları tespit etmek için. Örneğin, WordPress'i koruyun403 hataları veya başarısız girişimler şu şekilde izlenir: wp-login.phpApache veya Nginx jail'inde belirlenen sınırları aşan IP adreslerini engelleme.

Veritabanları ve FTP

MySQL için, hata günlüklerini izleyerek bu ifadeyi kontrol edebilirsiniz. Kullanıcı girişi reddedildiFTP (örneğin ProFTPD) söz konusu olduğunda, aşağıdaki hususların sağlanması hayati önem taşır: logpath Lütfen log dosyalarınızın gerçek yolunu belirtin, çünkü Fail2ban log dosyasını bulamazsa koruma çalışmaz.

fail2ban-client ile gelişmiş yönetim

Hızlı değişiklikler yapmak için her zaman dosyaları düzenlemeniz ve hizmeti yeniden başlatmanız gerekmez. Komut fail2ban-client Bu özellik, konsol üzerinden sistemi anında yönetmenizi sağlar.

Hangi IP adreslerinin engellendiğini ve hangi IP adreslerinin aktif olduğunu görmek için şunu kullanın: sudo fail2ban-client statusSSH gibi bir hizmeti daha detaylı incelemek istiyorsanız, şu komutu çalıştırın: sudo fail2ban-client status sshdAyrıca, yanlışlıkla Bir iş arkadaşınızı engellediniz. Ya da komut kullanarak IP adresini kendiniz hızlıca serbest bırakabilirsiniz. sudo fail2ban-client set sshd unbanip IP_A_DESBLOQUEAR.

Bakım ve sorun giderme

Fail2ban'ın gerektiği gibi engelleme yapmadığını fark ederseniz, ilk bakmanız gereken yer aracın kendi günlük dosyasıdır. /var/log/fail2ban.log. Kullanma tail -f Kimlerin yasaklandığını ve neden yasaklandığını gerçek zamanlı olarak görebilirsiniz.

  Chrome Uzaktan Masaüstü: Kişisel Bilgisayarların Sonu Mu?

Unutmayın ki Fail2ban kilit durumunu bir SQLite veritabanında saklar. /var/lib/fail2ban/fail2ban.sqlite3Dolayısıyla, sunucuyu yeniden başlattığınızda, yasaklanan IP adreslerinin yasağı kaldırılacaktır. engellenmiş olarak kalacak Ceza süreniz dolana kadar. Yapılandırma dosyalarında değişiklik yaptığınızda, değişiklikleri uygulamayı unutmayın. sudo systemctl restart fail2ban.

Bu aracı uygulamak, sunucunuzu kolay bir hedef olmaktan çıkarıp otomatik bir kaleye dönüştürür; kötü amaçlı trafiği ağ katmanında engelleyerek CPU yükünü azaltır ve botların kaba kuvvet saldırısıyla içeri giremeyeceğini bilerek rahat uyumanızı sağlar. .local dosyalarının kullanımı, belirli jail'lerin yönetimi ve sürekli log izleme kombinasyonuyla, herhangi bir Linux sistem yöneticisi için gerekli olan derinlemesine bir savunma sistemi elde edersiniz.