Zimbra Collaboration Suite Open-Source Edition telah memiliki beberapa alat canggih untuk memastikan keamanan informasi. Di antara mereka,
Postscreen adalah solusi untuk melindungi server email dari serangan botnet, ClamAV adalah antivirus yang dapat memindai file dan surat yang masuk untuk infeksi malware, dan
SpamAssassin adalah salah satu filter spam terbaik hingga saat ini. Namun, alat ini tidak dapat melindungi Zimbra OSE dari bentuk serangan seperti brute force. Bukan enumerasi kata sandi yang paling elegan, tetapi masih cukup efektif dalam kamus khusus yang penuh tidak hanya dengan kemungkinan peretasan yang berhasil dengan semua konsekuensi berikutnya, tetapi juga dengan penciptaan beban yang signifikan pada server, yang memproses semua upaya yang gagal untuk meretas server dengan Zimbra OSE.

Pada prinsipnya, Anda dapat melindungi diri dari kekerasan menggunakan alat standar Zimbra OSE. Pengaturan kebijakan keamanan kata sandi memungkinkan Anda untuk mengatur jumlah upaya kata sandi yang gagal, setelah itu akun yang berpotensi diserang diblokir. Masalah utama dengan pendekatan ini adalah bahwa situasi muncul di mana akun satu atau lebih karyawan dapat diblokir karena serangan brute force, yang tidak ada hubungannya dengan mereka, dan hasil kerja sederhana karyawan dapat membawa kerugian besar bagi perusahaan. Itulah mengapa opsi perlindungan terhadap brute force ini adalah yang terbaik untuk tidak diterapkan.

Untuk melindungi dari kekerasan, alat khusus yang disebut DoSFilter jauh lebih baik, yang dibangun di Zimbra OSE dan dapat secara otomatis memutuskan sambungan dari Zimbra OSE melalui HTTP. Dengan kata lain, prinsip operasi DoSFilter mirip dengan prinsip operasi PostScreen, hanya digunakan untuk protokol lain. Awalnya dirancang untuk membatasi jumlah tindakan yang dapat dilakukan oleh satu pengguna, DoSFilter juga dapat memberikan perlindungan terhadap kekuatan kasar. Perbedaan utamanya dari alat bawaan di Zimbra adalah bahwa setelah sejumlah upaya yang gagal, ia tidak memblokir pengguna itu sendiri, tetapi alamat IP dari mana beberapa upaya dilakukan untuk masuk ke satu atau beberapa akun lain. Berkat ini, administrator sistem tidak hanya dapat melindungi dirinya dari kekerasan, tetapi juga menghindari pemblokiran karyawan perusahaan dengan hanya menambahkan jaringan internal perusahaannya ke daftar alamat IP dan subnet yang tepercaya.
Kelebihan utama DoSFilter adalah bahwa selain banyak upaya untuk masuk ke satu atau beberapa akun lainnya, menggunakan alat ini Anda dapat secara otomatis memblokir para penjahat cyber yang memiliki data autentikasi karyawan, dan kemudian berhasil masuk ke akunnya dan mulai mengirim ratusan permintaan ke server.
Anda dapat mengkonfigurasi DoSFilter menggunakan perintah konsol berikut:
- zimbraHttpDosFilterMaxRequestsPerSec - Dengan perintah ini Anda dapat mengatur jumlah maksimum koneksi yang diizinkan untuk satu pengguna. Secara default, nilai ini adalah 30 koneksi.
- zimbraHttpDosFilterDelayMillis - Dengan menggunakan perintah ini, Anda dapat mengatur penundaan dalam milidetik untuk koneksi yang melebihi batas yang ditetapkan oleh perintah sebelumnya. Selain nilai integer, administrator dapat menentukan 0 sehingga tidak ada penundaan sama sekali, dan juga -1 sehingga semua koneksi yang melebihi batas yang ditentukan hanya terputus. Secara default, nilai ini -1.
- zimbraHttpThrottleSafeIPs - Menggunakan perintah ini, administrator dapat menentukan alamat IP dan subnet tepercaya yang tidak akan terpengaruh oleh pembatasan di atas. Perhatikan bahwa sintaks dari perintah ini dapat bervariasi tergantung pada hasil yang diinginkan. Jadi, misalnya, dengan memasukkan perintah zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1 , Anda benar-benar menulis ulang seluruh daftar dan hanya menyisakan satu alamat IP di dalamnya. Jika Anda memasukkan perintah zmprov mcf + zimbraHttpThrottleSafeIPs 127.0.0.1 , maka alamat IP yang Anda masukkan akan ditambahkan ke daftar putih. Demikian pula, menggunakan tanda pengurangan, Anda dapat menghapus IP apa pun dari daftar yang diizinkan.
Perhatikan bahwa DoSFilter dapat menyebabkan sejumlah masalah saat menggunakan ekstensi Zextras Suite Pro. Untuk menghindarinya, kami sarankan untuk meningkatkan jumlah koneksi simultan dari 30 menjadi 100 menggunakan perintah
zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100 . Selain itu, kami sarankan menambahkan jaringan internal perusahaan ke daftar yang diizinkan. Ini dapat dilakukan dengan menggunakan perintah
zmprov mcf + zimbraHttpThrottleSafeIPs 192.168.0.0/24 . Setelah melakukan perubahan pada DoSFilter, pastikan untuk me-restart server mail menggunakan perintah
restart zmmailboxdctl .
Kerugian utama dari DoSFilter adalah ia berfungsi pada level aplikasi dan oleh karena itu hanya dapat membatasi kemampuan penyerang untuk melakukan berbagai tindakan di server, tanpa membatasi kemampuan untuk terhubung ke utara. Karena itu, permintaan untuk otentikasi atau mengirim surat yang dikirim ke server, meskipun jelas-jelas gagal, masih akan menjadi serangan DoS lama yang baik, yang tidak dapat dihentikan pada tingkat tinggi.
Untuk benar-benar mengamankan server perusahaan Anda dengan Zimbra OSE, Anda dapat menggunakan solusi seperti Fail2ban, yang merupakan kerangka kerja yang dapat terus memantau log sistem informasi untuk tindakan berulang dan memblokir penyusup dengan mengubah pengaturan firewall. Memblokir pada tingkat yang rendah memungkinkan Anda untuk menonaktifkan penyerang tepat pada tahap koneksi IP ke server. Dengan demikian, Fail2Ban dapat dengan sempurna melengkapi perlindungan yang dibangun dengan DoSFilter. Mari cari tahu bagaimana Anda bisa berteman dengan Fail2Ban dengan Zimbra OSE dan dengan demikian meningkatkan keamanan infrastruktur TI perusahaan Anda.
Seperti aplikasi kelas enterprise lainnya, Zimbra Collaboration Suite Open-Source Edition memelihara log detail dari pekerjaannya. Sebagian besar disimpan di folder
/ opt / zimbra / log / sebagai file. Berikut ini beberapa di antaranya:
- mailbox.log - Log layanan surat Jetty
- audit.log - log otentikasi
- clamd.log - log antivirus
- freshclam.log - log pembaruan antivirus
- converttd.log - log konverter lampiran
- zimbrastats.csv - log kinerja server
Log Zimbra juga dapat ditemukan di file
/var/log/zimbra.log , di mana log Postfix dan Zimbra sendiri dikelola.
Untuk melindungi sistem kami dari brute force, kami akan memonitor
mailbox.log ,
audit.log dan
zimbra.log .
Agar semuanya berfungsi, perlu bahwa Fail2Ban dan iptables diinstal pada server Anda dengan Zimbra OSE. Jika Anda menggunakan Ubuntu, Anda bisa melakukan ini dengan menggunakan perintah
dpkg -s fail2ban , tetapi jika Anda menggunakan CentOS, Anda dapat memverifikasi ini menggunakan
daftar yum yang menginstal perintah fail2ban . Jika Anda tidak menginstal Fail2Ban, menginstalnya tidak akan menjadi masalah, karena paket ini ada di hampir semua repositori standar.
Setelah semua perangkat lunak yang diperlukan diinstal, Anda dapat melanjutkan untuk mengkonfigurasi Fail2Ban. Untuk melakukan ini, buat file konfigurasi
/etc/fail2ban/filter.d/zimbra.conf , di mana kami menulis ekspresi reguler untuk log Zimbra OSE yang akan sesuai dengan upaya login yang salah dan memicu mekanisme Fail2Ban. Berikut adalah contoh konten zimbra.conf dengan serangkaian ekspresi reguler yang terkait dengan berbagai kesalahan yang dihasilkan oleh Zimbra OSE ketika upaya otentikasi gagal:
# Fail2Ban configuration file [Definition] failregex = \[ip=<HOST>;\] account - authentication failed for .* \(no such account\)$ \[ip=<HOST>;\] security - cmd=Auth; .* error=authentication failed for .*, invalid password;$ ;oip=<HOST>;.* security - cmd=Auth; .* protocol=soap; error=authentication failed for .* invalid password;$ ;oip=<HOST>;.* security - cmd=Auth; .* protocol=imap; error=authentication failed for .* invalid password;$ \[oip=<HOST>;.* SoapEngine - handler exception: authentication failed for .*, account not found$ WARN .*;ip=<HOST>;ua=ZimbraWebClient .* security - cmd=AdminAuth; .* error=authentication failed for .*;$ ignoreregex =
Setelah ekspresi reguler untuk Zimbra OSE dikompilasi, saatnya untuk mulai mengedit konfigurasi Fail2ban itu sendiri. Pengaturan untuk utilitas ini terletak di file
/etc/fail2ban/jail.conf . Untuk berjaga-jaga, kami akan mencadangkannya menggunakan perintah
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak . Setelah itu, mari bawa file ini ke formulir berikut:
# Fail2Ban configuration file [DEFAULT] ignoreip = 192.168.0.1/24 bantime = 600 findtime = 600 maxretry = 5 backend = auto [ssh-iptables] enabled = false filter = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] sendmail-whois[name=SSH, dest=admin@company.ru, sender=fail2ban@company.ru] logpath = /var/log/messages maxretry = 5 [sasl-iptables] enabled = false filter = sasl backend = polling action = iptables[name=sasl, port=smtp, protocol=tcp] sendmail-whois[name=sasl, dest=support@company.ru] logpath = /var/log/zimbra.log [ssh-tcpwrapper] enabled = false filter = sshd action = hostsdeny sendmail-whois[name=SSH, dest=support@ company.ru] ignoreregex = for myuser from logpath = /var/log/messages [zimbra-account] enabled = true filter = zimbra action = iptables-allports[name=zimbra-account] sendmail[name=zimbra-account, dest=support@company.ru ] logpath = /opt/zimbra/log/mailbox.log bantime = 600 maxretry = 5 [zimbra-audit] enabled = true filter = zimbra action = iptables-allports[name=zimbra-audit] sendmail[name=Zimbra-audit, dest=support@company.ru] logpath = /opt/zimbra/log/audit.log bantime = 600 maxretry = 5 [zimbra-recipient] enabled = true filter = zimbra action = iptables-allports[name=zimbra-recipient] sendmail[name=Zimbra-recipient, dest=support@company.ru] logpath = /var/log/zimbra.log bantime = 172800 maxretry = 5 [postfix] enabled = true filter = postfix action = iptables-multiport[name=postfix, port=smtp, protocol=tcp] sendmail-buffered[name=Postfix, dest=support@company.ru] logpath = /var/log/zimbra.log bantime = -1 maxretry = 5
Meskipun contoh ini cukup universal, ada baiknya menjelaskan beberapa parameter yang mungkin ingin Anda ubah saat menyiapkan Fail2Ban sendiri:
- Ignoreip - dengan parameter ini Anda dapat menentukan ip atau subnet tertentu, alamat yang tidak boleh diperiksa oleh Fail2Ban. Biasanya, jaringan internal perusahaan dan alamat tepercaya lainnya ditambahkan ke daftar yang diabaikan.
- Bantime - Waktu di mana penyusup akan melarang. Diukur dalam hitungan detik. Nilai -1 berarti larangan tanpa batas.
- Maxretry - Frekuensi maksimum satu alamat ip dapat mencoba mengakses server.
- Sendmail - Pengaturan yang memungkinkan Anda mengirim peringatan email secara otomatis tentang operasi Fail2Ban.
- Findtime - Pengaturan yang memungkinkan Anda untuk mengatur interval waktu setelah mana alamat IP dapat kembali mencoba mengakses server setelah jumlah maksimum upaya gagal telah habis (parameter maksretry)
Setelah menyimpan file dengan pengaturan Fail2Ban, tetap hanya untuk me-restart utilitas ini menggunakan perintah
layanan fail2ban restart . Setelah restart, log Zimbra utama akan terus dipantau untuk pencocokan ekspresi reguler. Berkat ini, administrator akan dapat secara virtual menghilangkan segala kemungkinan penyusup memasuki tidak hanya kotak surat Zimbra Collaboration Suite Open-Source Edition, tetapi juga melindungi semua layanan yang berjalan di dalam Zimbra OSE, serta menyadari setiap upaya untuk mendapatkan akses tanpa izin.
Untuk semua pertanyaan yang terkait dengan Zextras Suite, Anda dapat menghubungi perwakilan perusahaan "Zextras" Ekaterina Triandafilidi melalui email katerina@zextras.com