Fail2Ban Kurulumu ile SSH ve Brute Force Saldırılarını Engelleme

Fail2Ban Kurulumu ile SSH ve Brute Force Saldırılarını Engelleme
Yazı Özetini Göster

Fail2Ban Kurulumu ile SSH ve Brute Force Saldırılarını Engelleme

Fail2Ban, Linux sistemlerinde SSH, FTP, HTTP gibi servisleri brute force (şifre deneme) saldırılarına karşı koruyan bir güvenlik aracıdır. Log dosyalarını izleyerek belirli sayıda başarısız giriş denemesi tespit ettiğinde saldırgan IP adresini otomatik olarak engeller. Bu yazıda, SSH servisinde Fail2Ban kurulumu, yapılandırması ve saldırı önleme mekanizmaları adım adım açıklanmıştır.

Fail2Ban Nedir?

Fail2Ban, sistem loglarını (örneğin /var/log/auth.log) izler, belirli desenlere (regex) göre hatalı kimlik doğrulama girişimlerini tespit eder ve saldırgan IP’leri iptables veya firewalld üzerinden engeller. Böylece sürekli parola denemeleriyle yapılan brute force saldırıları otomatik olarak durdurulur.

Kurulum Adımları

1) Paket Kurulumu

# Debian/Ubuntu
sudo apt update
sudo apt install fail2ban -y

# CentOS/RHEL
sudo dnf install fail2ban -y

Kurulum tamamlandıktan sonra servis otomatik olarak başlatılmaz. Aşağıdaki adımlarla aktif edilir.

2) Servisi Başlatma ve Etkinleştirme

sudo systemctl enable fail2ban
sudo systemctl start fail2ban
sudo systemctl status fail2ban

Servis aktif durumda olduğunda “active (running)” ibaresi görülmelidir.

SSH Koruması için Yapılandırma

1) Yapılandırma Dosyasını Kopyalama

Orijinal dosya üzerine yazmamak için jail.local dosyası oluşturun:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

2) SSH Jail Ayarları

sudo nano /etc/fail2ban/jail.local

Aşağıdaki ayarları bulun ve düzenleyin:

[sshd]
enabled = true
port    = ssh
filter  = sshd
logpath = /var/log/auth.log
maxretry = 5
findtime = 600
bantime  = 3600
  • maxretry: Belirtilen süre içinde izin verilen hatalı giriş sayısı.
  • findtime: Bu süre içinde yapılan hatalı denemeler sayılır (saniye cinsinden).
  • bantime: IP’nin engellenme süresi (saniye).

Firewall ile Entegrasyon

Fail2Ban iptables veya firewalld üzerinden IP engeller. Etkin modülü kontrol edin:

sudo fail2ban-client status

Çıktıda etkin “jail” (örneğin sshd) ve engellenmiş IP adresleri listelenir.

Fail2Ban Komutları

# Aktif jail listesi
sudo fail2ban-client status

# Belirli jail detayları
sudo fail2ban-client status sshd

# Manuel IP engelleme
sudo fail2ban-client set sshd banip 192.168.1.10

# IP yasağını kaldırma
sudo fail2ban-client set sshd unbanip 192.168.1.10

Günlük Logları Görüntüleme

Fail2Ban olaylarını takip etmek için:

sudo tail -f /var/log/fail2ban.log

Burada engellenen IP’ler ve jailbreak durumları görüntülenir.

Ek Koruma Katmanları

  • SSH portunu 22 yerine özel bir porta taşıyın (örneğin 2222).
  • Parola yerine SSH anahtar (key-based) kimlik doğrulama kullanın.
  • fail2ban banaction parametresini “iptables-multiport” olarak ayarlayın.
  • Ek olarak WAF Koruma ile web tabanlı saldırıları filtreleyin.

Fail2Ban Jail Örnekleri

# Apache için
[apache-auth]
enabled  = true
port     = http,https
filter   = apache-auth
logpath  = /var/log/apache*/*error.log
maxretry = 3

Fail2Ban Servisini Otomatik Yeniden Başlatma

Bazı sistemlerde reboot sonrası fail2ban geç başlatılabilir. Bu durumda aşağıdaki servis bağımlılığını kontrol edin:

sudo systemctl enable fail2ban.service
sudo systemctl daemon-reload

Güvenlik İzleme ve Raporlama

Fail2Ban olaylarını izlemek için bir SIEM çözümü (ör. Wazuh, Graylog, Splunk) veya e-posta bildirimi yapılandırılabilir:

sudo apt install sendmail
sudo nano /etc/fail2ban/jail.local
# ekleyin
destemail = admin@domain.com
action = %(action_mwl)s

Performans ve Ölçekleme İpuçları

  • Yüksek trafikli sunucularda logrotate yapılandırmasıyla log dosyalarını yönetin.
  • Ban süresini orantılı ayarlayın; çok kısa olursa saldırgan tekrar dener.
  • “recidive” jail’i aktif ederek sürekli saldırgan IP’leri kalıcı engelleyin.

Sonuç

Fail2Ban, SSH ve diğer servislerde brute force saldırılarını durdurmanın en pratik yoludur. Kurulumdan sonra otomatik çalışan yapı sayesinde yönetici müdahalesine gerek kalmadan IP tabanlı koruma sağlanır. Ek olarak, HostLigo üzerindeki Linux VDS çözümleriyle bu yapı birleştirildiğinde, sunucu güvenliği ve uptime garantisi en üst seviyeye çıkar.

makefile
Kodu kopyala

Bir Yorum Yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Benzer Yazılar