Fail2Ban'i yapılandıralım. Bu hizmet, sunucuyu şifre kırma ve flood saldırılarından korumaya olanak tanır. Sunuculara günlük olarak binlerce dış hizmet erişimi gerçekleşir ve bunların bir kısmı zararlıdır. Fail2Ban kullanarak, birden fazla başarısız yetkilendirme girişiminde bulunan IP adreslerini engelleyeceğiz.
Bu kılavuzda, posta sunucusunun zaten yapılandırılmış olduğu varsayılmakta ve sadece şifre kırma saldırılarına ve diğer istenmeyen ağ aktivitelerine karşı koruma eklenmektedir. Posta sunucusunu nasıl yapılandıracağınızla ilgili daha fazla bilgiye buradan ulaşabilirsiniz:
Ayrıca, önceden yapılandırılmış bir işletim sistemiyle VPS siparişi vererek, hazır bir kurumsal posta sunucusu elde edebilirsiniz.
1. Fail2Ban hizmetini kuralım
apt install fail2ban
Ayarları düzenleyelim:
vi /etc/fail2ban/jail.d/defaults-debian.conf
[sshd]
enabled = true
[postfix]
enabled = true filter = postfix port = smtp,465,submission,imap,imaps,pop3,pop3s action = iptables[name=Postfix, port=smtp, protocol=tcp] logpath = /var/log/mail.log bantime = 120m maxretry = 3 findtime = 60m
Bu yapılandırmada, ssh ve postfix hizmetlerini koruma altına aldık. Log dosyasını işleyerek, birden fazla başarısız yetkilendirme girişimi olduğunda IP adreslerini engelleyecektir.
Eşleşmeleri kontrol etmek için şu komutu kullanabilirsiniz:
fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/postfix.conf
Varsayılan filtreyi kullandık ve bizim durumumuzda hemen çalıştı.
2. Hizmeti Başlatma
systemctl enable --now fail2ban
Hizmeti başlattık ve otomatik başlatmaya ekledik.
Şimdi log dosyasını kontrol edebilirsiniz:
more /var/log/fail2ban.log
3. Hizmeti Yönetme
Durumu ve en son aktiviteleri görmek için şu komutu kullanabilirsiniz:
fail2ban-client status - Tüm jails ve durumlarını gösterir.
fail2ban-client status postfix - postfix jail'inin aktivitelerini, şu anda engellenmiş IP adreslerini gösterir.
Bir IP adresini engelini kaldırmak için şu komutu kullanın:
fail2ban-client set postfix unbanip xxx.xxx.xxx.xxx
Burada: postfix - jail adı ve xxx.xxx.xxx.xxx - engellenmiş IP adresidir #fail2ban-client status postfix çıktısından alınır.
4. Roundcube Yetkilendirmesi için Jail Ekleme
Dosyaya ekleyelim:
vi /etc/fail2ban/jail.d/defaults-debian.conf
[roundcube-auth]
enabled = true
filter = roundcube-authport = http,https
action = iptables[name=Roundcube-auth, port=http, protocol=tcp]logpath = /usr/share/nginx/html/webmail/logs/errors.log
bantime = 120mmaxretry = 3
findtime = 60m
Web posta üzerinde üç başarısız oturum açma girişiminden sonra erişimi 2 saatliğine engelliyoruz.
Hizmeti yeniden başlatalım:
service fail2ban restart
Filtre ayarları tamamlandı.