
Sunucular, brute-force saldırılarına maruz kaldığında saldırganlar binlerce farklı kullanıcı adı ve şifre kombinasyonu deneyerek sisteme yetkisiz erişim sağlamaya çalışır. Bu tür saldırıları otomatik olarak tespit edip engellemek için Fail2Ban kullanabiliriz. Fail2Ban, hatalı giriş denemelerini izleyerek belirli bir eşik değere ulaşıldığında ilgili IP adresini otomatik olarak engelleyen güçlü bir güvenlik aracıdır.
CentOS/RHEL için:
Kurulum tamamlandıktan sonra Fail2Ban servisini başlatın ve otomatik olarak çalışmasını sağlayın:
Kurulumun başarılı olup olmadığını kontrol etmek için:
Bu dosyada, aşağıdaki ana yapılandırma seçeneklerini değiştirebiliriz:
Yapılandırma dosyasını kaydedip çıkın ve Fail2Ban servisini yeniden başlatın:
Aşağıdaki ayarları bulun ve düzenleyin:
Bu ayarlar, bir IP adresinin 10 dakika içinde 3 kez hatalı giriş yapması halinde 1 saat boyunca engellenmesini sağlayacaktır.
Fail2Ban servisini yeniden başlatın:
Engellenen IP’leri görüntülemek için:
Engellenen bir IP’yi kaldırmak için:
Şu satırları ekleyin:
Fail2Ban servisini yeniden başlatın:
Apache’ye yönelik saldırıları görmek için:
Şu satırları ekleyin:
Fail2Ban servisini yeniden başlatın:
Engellenen IP’leri görmek için:
1. Fail2Ban Nedir ve Nasıl Çalışır?
Fail2Ban, sistem günlüklerini (loglarını) izleyerek belirlenen hatalı giriş sayısını aşan IP adreslerini geçici veya kalıcı olarak yasaklayan bir güvenlik çözümüdür.- 🔹 SSH, Apache, Nginx, Postfix, vsftpd gibi birçok servisle uyumludur.
- 🔹 Belli bir süre boyunca yanlış giriş yapmaya devam eden IP’leri otomatik olarak engeller.
- 🔹 Engellenen IP’leri belirlenen bir süre sonra otomatik olarak kaldırabilir.
2. Fail2Ban Kurulumu
2.1. Fail2Ban Yükleme
Debian/Ubuntu için:
BASH
sudo apt update && sudo apt install fail2ban -y
BASH
sudo yum install epel-release -y
sudo yum install fail2ban -y
BASH
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
BASH
sudo systemctl status fail2ban
3. Fail2Ban Temel Yapılandırması
Fail2Ban’in ana yapılandırma dosyaları /etc/fail2ban/ dizininde bulunur. Varsayılan yapılandırma /etc/fail2ban/jail.conf dosyasında bulunur, ancak doğrudan bu dosyayı düzenlemek yerine /etc/fail2ban/jail.local dosyasını kullanmamız önerilir. Öncelikle, jail.local dosyasını oluşturup düzenleyelim:
BASH
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
- 🔹 bantime: Engellenen IP’nin ne kadar süreyle yasaklanacağını belirler.
- 🔹 findtime: Belirtilen süre içinde kaç hatalı giriş denemesinin yapılacağını belirler.
- 🔹 maxretry: Belirlenen süre içinde kaç başarısız giriş denemesinin ardından IP’nin engelleneceğini belirler.
INI
bantime = 3600
findtime = 600
maxretry = 3
BASH
sudo systemctl restart fail2ban
4. SSH İçin Fail2Ban Yapılandırması
Fail2Ban’i SSH brute-force saldırılarını önlemek için yapılandıralım.
BASH
sudo nano /etc/fail2ban/jail.local
INI
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
bantime = 3600
findtime = 600
maxretry = 3
BASH
sudo systemctl restart fail2ban
BASH
sudo fail2ban-client status sshd
BASH
sudo fail2ban-client set sshd unbanip 192.168.1.100
5. Fail2Ban ile Apache/Nginx Web Sunucusu Koruma
Fail2Ban, web sunucularını da brute-force ve kötü niyetli giriş denemelerine karşı koruyabilir. Apache ve Nginx için Fail2Ban’i yapılandırmak için aşağıdaki adımları izleyin.5.1. Apache Güvenliği İçin Fail2Ban Kullanımı
Apache için Fail2Ban’i etkinleştirmek için aşağıdaki adımları takip edin:
BASH
sudo nano /etc/fail2ban/jail.local
INI
[apache-auth]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache2/error.log
maxretry = 5
findtime = 600
bantime = 3600
BASH
sudo systemctl restart fail2ban
BASH
sudo fail2ban-client status apache-auth
5.2. Nginx Güvenliği İçin Fail2Ban Kullanımı
Nginx kullanıcıları için Fail2Ban ile saldırıları önlemek için şu adımları izleyin:
BASH
sudo nano /etc/fail2ban/jail.local
INI
[nginx-http-auth]
enabled = true
port = http,https
filter = nginx-http-auth
logpath = /var/log/nginx/error.log
maxretry = 5
findtime = 600
bantime = 3600
BASH
sudo systemctl restart fail2ban
BASH
sudo fail2ban-client status nginx-http-auth
- 💡 Unutmayın: Fail2Ban’i düzenli olarak izlemek ve yapılandırmasını sisteminizin ihtiyaçlarına göre güncellemek, güvenliği artıracaktır!
Benzer Yazılar

Nginx ve Apache Güvenliği
0 Yorumlar

Linux’ta Güncelleme ve Yama Yönetimi
0 Yorumlar
Yorumlar ()
Henüz yorum yok. İlk yorum yapan sen ol!