Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Fail2ban'ın E-posta Bildirimi Özelliğini Yapılandırarak Bir IP Engellendiğinde Yöneticiye Uyarı Gönderme

thedevx

Üye
Katılım
14 Mart 2026
Mesajlar
11
Merhaba arkadaşlar, bugün sizlere sunucu güvenliğimizin sessiz kahramanı Fail2ban'ın çok önemli bir özelliğinden bahsedeceğim. Fail2ban zaten kötü niyetli girişimleri otomatik olarak engelliyor, peki ya bu engelleme anında bize bir e-posta gönderse ve anında haberdar olsak harika olmaz mı? Bu rehberde, bir IP adresi Fail2ban tarafından engellendiğinde, sizin belirlediğiniz e-posta adresine otomatik uyarı göndermeyi nasıl yapılandıracağımızı adım adım anlatacağım. Bu sayede sunucunuzdaki saldırı girişimlerinden gerçek zamanlı haberdar olabilirsiniz.

📧 Ön Hazırlık: Postfix veya SSMTP Kurulumu

Fail2ban'ın e-posta gönderebilmesi için sunucunuzda basit bir Mail Transfer Agent (MTA) yüklü ve yapılandırılmış olmalı. Ben genelde hafif ve kolay kurulan postfix veya ssmtp kullanıyorum. Eğer sisteminizde yoksa, aşağıdaki komutla postfix'i kurabilirsiniz.

Bash:
sudo apt-get update
sudo apt-get install postfix -y

Kurulum sırasında çıkan ekranda, "Internet Site" seçeneğini seçin ve sistem posta adresinizi (örn: sunucuadiniz.com) girin. Eğer kurulumu atladıysanız veya ssmtp tercih ederseniz, onu da şu şekilde kurabilirsiniz:

Bash:
sudo apt-get install ssmtp -y

⚙️ Fail2ban'da E-posta Bildirimi Ayarları

Asıl işlem şimdi başlıyor. Fail2ban'ın ana yapılandırma dosyasını düzenleyeceğiz. Bu dosya genellikle /etc/fail2ban/jail.conf yolundadır. Ancak, doğrudan bu dosyayı düzenlemek yerine, özel ayarlarımızı bir local dosyasında tutmak en iyi uygulamadır. Bu sayede güncellemelerle ayarlarınız kaybolmaz.

Öncelikle, e-posta gönderimi için gerekli genel ayarları yapalım. Aşağıdaki komutla local ayar dosyamızı oluşturup düzenleyelim.

Bash:
sudo nano /etc/fail2ban/jail.local

Eğer bu dosya yoksa, nano editörü onu oluşturacaktır. Şimdi, bu dosyanın içine aşağıdaki temel e-posta konfigürasyonunu ekleyelim.

NGINX:
[DEFAULT]
# E-posta gönderimini aktif et
action = %(action_)s
# E-posta gönderimini de içeren özel aksiyon
action_mwl = %(action_)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
            %(action_mwl)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s", sendername="%(sendername)s", dest="%(destemail)s"]

# YÖNETİCİNİN E-POSTA ADRESİ (BURAYI KENDİNİZE GÖRE DEĞİŞTİRİN!)
destemail = admin@ornekdomain.com

# E-postaları gönderen adres (Genelde sunucu adı kullanılır)
sendername = Fail2Ban-Alert

# E-posta gönderim aksiyonu olarak 'action_mwl' kullan (Mail With Logs)
action = %(action_mwl)s

Burada destemail satırını, uyarıları almak istediğiniz e-posta adresi ile değiştirmeyi unutmayın!

🔔 Jail (Hapishane) Bazında Bildirimi Aktif Etme

Yukarıdaki ayarlar genel tanımlardı. Şimdi, hangi servisler için (örneğin SSH, Nginx vs.) e-posta bildirimi almak istiyorsak, onların ilgili jail bölümlerinde bu aksiyonu etkinleştirelim. Yine /etc/fail2ban/jail.local dosyasının devamına, örneğin SSH için şu ayarları ekleyebilirsiniz.

NGINX:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600
# E-posta bildirimi için action tanımını burada da belirtiyoruz.
action = %(action_mwl)s

Eğer nginx için bir jail'iniz varsa, onun için de benzer şekilde action satırını ekleyebilirsiniz.

⚠️ Test ve Servisi Yeniden Başlatma

Tüm ayarları yaptıktan sonra, yapılandırma dosyalarımızda bir sözdizimi hatası olmadığından emin olalım.

Bash:
sudo fail2ban-client --test

Eğer herhangi bir hata mesajı almazsanız, Fail2ban servisini yeniden başlatarak ayarlarımızı aktif hale getirelim.

Bash:
sudo systemctl restart fail2ban

Servisin durumunu kontrol edelim.

Bash:
sudo systemctl status fail2ban

✉️ E-posta Bildirimini Test Etme

Ayarların çalışıp çalışmadığını test etmek için, Fail2ban'ın test e-postası gönderme özelliğini kullanabilirsiniz. Bu komut, yapılandırılmış e-posta adresinize bir test mesajı gönderecektir.

Bash:
sudo fail2ban-client set sshd sendmail

Not: Bu komut, 'sshd' jail'i için geçerlidir. Farklı bir jail test etmek isterseniz 'sshd' yerine onun adını yazın.

Eğer her şey doğru yapılandırıldıysa, birkaç dakika içinde "Fail2Ban Test" konulu bir e-posta almalısınız. Ayrıca, sunucunuza yanlış şifreyle birkaç kez SSH bağlantısı deneyerek gerçek bir engelleme tetikleyip e-posta geliyor mu diye de test edebilirsiniz (kendi IP'nizi hemen banlamamaya dikkat edin!).

Sonuç olarak, bu basit yapılandırmayla sunucunuzdaki güvenlik olaylarından anında haberdar olabileceksiniz. Ben kendi sunucularımda bu bildirimleri mutlaka aktif tutarım, çünkü hangi IP'lerin ne zaman saldırı denemesi yaptığını görmek, güvenlik stratejimi şekillendirmeme yardımcı oluyor.

Peki siz bu e-posta bildirimlerini kullanıyor musunuz? Ya da Fail2ban konfigürasyonunuzda başka hangi akıllı ayarları yapıyorsunuz? Tecrübelerinizi ve sorularınızı aşağıdaki yorumlarda paylaşabilirsiniz. Herkese güvenli günler dilerim!
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri