Rate Limit user di Mail server Zimbra

mail server production menggunakan zimbra dengan versi 8.0.4

Issue:

membatasi user agar tidak menggunakan email yang berlebihan/spamming ketika mengirim email. dalam issue ini akan diset menjadi 300 email per jam.

langkah-langkah dibawah harus sudah ditest di dummy server terlebih dahulu agar tidak terjadi hal-hal yang tidak diinginkan dikarenakan ini adalah server production. backup jika diperlukan.

Install dan Enable service cbpolicyd:
zmprov ms `zmhostname` +zimbraServiceInstalled cbpolicyd +zimbraServiceEnabled cbpolicyd

enable policyd di postfix config:

zmlocalconfig -e postfix_enable_smtpd_policyd=yes
set Mta service untuk cbpolicyd:
zmprov mcf +zimbraMtaRestriction "check_policy_service inet:127.0.0.1:10031"
zmlocalconfig -e cbpolicyd_log_level=4; zmlocalconfig -e cbpolicyd_log_detail=modules,tracking,policies; zmlocalconfig -e cbpolicyd_module_accesscontrol=1 cbpolicyd_module_checkhelo=1 cbpolicyd_module_checkspf=1 cbpolicyd_module_greylisting=1 cbpolicyd_module_quotas=1

pindah direktory ke srv

cd /srv/

download paket dan ekstrak

wget -c "http://download.policyd.org/v2.0.14/cluebringer-v2.0.14.tar.bz2
tar -xvf cluebringer-v2.0.14.tar.bz2

pindah ke directory htdocs apache dari zimbra lalu create symlink

cd /opt/zimbra/httpd/htdocs/
ln -s /opt/zimbra/cbpolicyd-2.1.0-beta/share/webui/ .

backup original webui bawaan zimbra:

cp -a /opt/zimbra/cbpolicyd-2.1.0-beta/share/webui/ /opt/zimbra/cbpolicyd-2.1.0-beta/share/webui-backup-`date +%F_%H%M`

pindah ke directory /srv/cluebringer-v2.0.14

cd /srv/cluebringer-v2.0.14/

kopi file php dan css:

cp -a *.php *.css /opt/zimbra/cbpolicyd/share/webui/

pindah directory lalu create .htaccess dan .htpasswd

cd /opt/zimbra/cbpolicyd/share/webui

vim .htaccess

AuthUserFile /opt/zimbra/cbpolicyd/share/webui/.htpasswd
AuthName "User and Passwordasdad"
AuthType Basic
Require valid-user

create user password menggunakan htpasswd.

vim /opt/zimbra/cbpolicyd/share/webui/.htpasswd

edit database config:

cd /opt/zimbra/cbpolicyd/share/webui/includes/
vim config.php
ubah type database:
$DB_DSN="sqlite:/opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb";

tambahkan diakhir baris /opt/zimbra/conf/httpd.conf :

vim /opt/zimbra/conf/httpd.conf
Alias /webui /opt/zimbra/cbpolicyd-2.1.0-beta/share/webui/
# Comment out the following 3 lines to make web ui accessible from anywhere
<Directory "/opt/zimbra/cbpolicyd-2.1.0-beta/share/webui">
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

Restart zimbra apache, mta, dan cbpolicyd:

zmapachectl restart
zmmtactl restart
zmcbpolicydctl restart

lalu akses ke url mailserver.domain:7780/webui/index.php (http://117.102.64.35:7780/webui/index.php). dan ketika mengakses url ini seharusnya meminta password. check kembali konfigurasi dari zimbra apache jika tidak meminta password. pastikan rule htaccess berjalan, karena ini security utama untuk interface cbpolicyd daemon.

Jika service sudah terinstall dan konfigurasi service sudah ok. kini tinggal mengkonfigurasi untuk rule dari cbpolicyd .

  1. Pilih Menu Quotas configure. Lalu klik no 1 dengan Test Policy, pilih select Action Change: a. Ubah Link to Policy menjadi Default. b. Track menjadi Sender:user@domain c. Data diisi: Maksimal 300 email per jam d. lalu klik submit

  2. Klik back to Quotas, lalu klik no 1 dengan Default Policy, pilih select Action Limit: a. klik Type Messages Count, lalu select Action Change b. Ubah Counter Limit menjadi 300. c. selesai

Untuk testing bisa dengan nilai limit yang kecil, misal 2 email.

Hasil:

IT-Infra > Rate Limit user zimbra di Mail server production > maksimal.png

IT-Infra > Rate Limit user zimbra di Mail server production > logmaksimal.png

Ref:

https://wiki.zimbra.com/wiki/How-to_for_cbpolicyd http://www.excellent.co.id/product-services/zimbra/tips-zimbra-instalasi-policyd-rate-limit-sending-message-pada-zimbra-versi-8/ https://www.excellent.co.id/product-services/zimbra/tips-zimbra-membatasi-pengiriman-emailrate-limit-sending-message-dengan-policyd/comment-page-1/#comment-93128 https://www.vavai.net/2014/02/zimbra-tips-policyd-rate-limit-sending-message-implementation-on-zimbra-8/ https://www.vavai.net/2014/02/zimbra-tips-rate-limit-sending-message-with-policyd/ https://www.vavai.net/2014/02/zimbra-tips-how-to-secure-policyd-web-admin/