Hari ini saya mendapatkan tugas untuk meriset Fail2Ban Zimbra, goalnya adalah memblokir ip publik yang mencoba-coba kirim email dengan autentikasi yang tidak valid.
Sebelum ke prakteknya saya akan menjelaskan sedikit tentang Fail2Ban.
Pengertian Fail2Ban
Fail2ban ( Failtoban ) adalah software opensource yang dapat kamu gunakan dengan bebas dan gratis, yang di bangun dan di kembangkan menggunakan bahasa program python, yang berfungsi untuk membatasi akses dan membuat rule (aturan) terhadap akses dalam sebuah server.
Install Fail2Ban
apt-get update && apt-get install ufw fail2ban
Konfigurasi UFW
Buat file dengan nama zimbra-submission didalam folder /etc/ufw/applications.d
touch /etc/ufw/applications.d/zimbra-submission
Edit file zimbra-submission dengan script dibawah ini
[zimbra-submission] title=Zimbra Postfix Submission Port description=For monitoring activity on port 587 ports=587/tcp
Periksa apakah UFW sekarang tahu tentang “aplikasi” baru ini:
root@zmail:~# ufw app list | grep -i zimbra zimbra-submission root@zmail:~#
Selanjutnya, konfigurasi standard UFW (Uncomplicated Firewall) dengan menjalankan perintah dibawah ini.
ufw default allow outgoing ufw allow ssh ufw allow zimbra-submission ufw allow 25/tcp ufw allow 80/tcp ufw allow 443/tcp ufw allow 993/tcp ufw allow 9071/tcp ufw allow from IP PRIVATE ufw enable ufw status numbered
Konfigurasi Fail2Ban
Buat file dengan nama zimbra-submission.local didalam folder /etc/fail2ban/jail.d
touch /etc/fail2ban/jail.d/zimbra-submission.local
Edit file zimbra-submission.local dengan script dibawah ini
[zimbra-submission] enabled = true port = 587 filter = zimbra-submission logpath = /var/log/zimbra.log maxretry = 3 findtime = 3600 bantime = 36000 action = ufw
Selanjutnya, buat file zimbra-submission.conf didalam folder /etc/fail2ban/filter.d
touch /etc/fail2ban/filter.d/zimbra-submission.conf
Edit file zimbra-submission.conf dengan script dibawah ini
# Fail2Ban Zimbra Submission filter configuration file # # Authors: Manuel Garbin, Studio Storti, https://studiostorti.com/ and # L. Mark Stone, Mission Critical Email LLC, https://www.missioncriticalemail.com # 7 June 2020 # [Definition] # We only want to use fail2ban with Submission issues as we use DoSFilter to protect mailboxd # failregex = postfix\/submission\/smtpd\[\d+\]: warning: .*\[<HOST>\]: SASL \w+ authentication failed: authentication failure$ ignoreregex =
Selanjutnya, konfigurasi file /etc/fail2ban/action.d/ufw.conf dengan mengisikan isian application = menjadi application = zimbra-submission Seperti gambar dibawah ini.
Jika sudah diisikan, sekarang lakukan restart service Fail2Ban dengan perintah dibawah ini.
service fail2ban restart
Konfigurasi Fail2Ban sudah berhasil, sekarang saatnya monitoring dan melihat apakah sudah ada yang berhasil terkena banned IP Publiknya dengan perintah dibawah ini.
fail2ban-client status zimbra-submission
Jika sudah ada yang terkena banned IP Publiknya akan menampilkan hasil seperti dibawah ini.
root@zmail:/etc/ufw# fail2ban-client status zimbra-submission
Status for the jail: zimbra-submission
|- Filter
| |- Currently failed: 0
| |- Total failed: 3
| - File list: /var/log/zimbra.log
– Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: 129.165.7.138
Untuk melakukan Unbanned IP Publik caranya cukup mudah dengan menjalankan perintah dibawah ini.
fail2ban-client set zimbra-submission unbanip IP_PUBLIK
Sekian terima kasih.
Sumber: https://www.missioncriticalemail.com/2020/06/08/zimbra-fail2ban-for-submission-only/