Pada pembahasan sebelumnya sudah dijelaskan mengenai IMPROVEMENT ANTI SPAM ZIMBRA : REJECT UNLISTED SENDER yang  mencegah penerimaan email dari user yang tidak ada pada email server yang dikelola.

Selain itu, ada juga jenis SPAM yang sangat berbahaya dengan menyamar sebagai salah satu user yang ada. Misalnya pada sebuah perusahaan, ada SPAM  yang mengaku sebagai direktur pada email yang kita kelola dan mengirimkan email HOAX ataupun meminta bagian accounting untuk mengirimkan sejumlah uang. Jika dilihat dari alamat email pengirim, memang alamat tersebut milik account tersebut, akan tetapi account tersebut tidak pernah mengirimkan email tersebut.

Untuk mencegah hal tersebut, user yang bersangkutan harus login terlebih dahulu jika akan mengirimkan email tersebut. Pada Zimbra Mail Server, dapat dilakukan beberapa tune up dan Improvement sebagai berikut :

Edit file zmmta.cf

su - zimbra
cd /opt/zimbra/conf
vi zmmta.cf

Tambahkan baris berikut dibawah baris POSTCONF smtpd_sender_restrictions LOCAL postfix_smtpd_sender_restrictions

POSTCONF smtpd_sender_login_maps FILE postfix_sender_login_maps.cf

Simpan hasil konfigurasi kemudian jalankan perintah berikut :

zmlocalconfig -e postfix_smtpd_sender_restrictions=reject_authenticated_sender_login_mismatch

Buat file yang baru saja di deklarasikan pada zmmta.cf 

vi postfix_sender_login_maps.cf

Isi dengan isian berikut :

hash:/opt/zimbra/conf/exceptions-db
ldap:/opt/zimbra/conf/ldap-restricrelay.cf

Buat pengecualian untuk salah satu user. User tersebut dapat mengirimkan email dan mengaku sebagai user siapa saja

vi exceptions-db

Isi dengan salah satu user atau dibiarkan kosong saja. Jalankan perintah berikut untuk melakukan postmap hash

/opt/zimbra/postfix/sbin/postmap exceptions-db

Sekarang, kita membutuhkan informasi server host ldap dan password ldap untuk digunakan pada file ldap-restricrelay.cf

grep server_host /opt/zimbra/conf/ldap-vam.cf
grep bind_pw /opt/zimbra/conf/ldap-vam.cf

Buat file ldap-restricrelay.cf

vi /opt/zimbra/conf/ldap-restricrelay.cf

Isi dengan isian berikut dan ganti pada bagian server_host dan bind_pw dengan informasi yang dihasilkan dari perintah diatas

server_host = ldap://mail.imanudin.com:389
server_port = 389
search_base =
query_filter = (&(|(uid=%s)(zimbraMailDeliveryAddress=%s)(zimbraMailAlias=%s)(zimbraMailCatchAllAddress=%s))(zimbraMailStatus=enabled))
result_attribute = uid,zimbraMailDeliveryAddress,zimbraMailForwardingAddress,zimbraPrefMailForwardingAddress,zimbraMailCatchAllForwardingAddress
version = 3
start_tls = yes
tls_ca_cert_dir = /opt/zimbra/conf/ca
bind = yes
bind_dn = uid=zmpostfix,cn=appaccts,cn=zimbra
bind_pw = XXXXXXXXXX
timeout = 30

Tambahkan sedikit konfigurasi pada /opt/zimbra/conf/postfix_recipient_restrictions.cf, dibawah permit_mynetworks tambahkan reject_sender_login_mismatch. Chown file yang baru saja dibuat dan restart service zimbra

chown zimbra: postfix_sender_* exceptions-db* ldap-restricrelay.cf
zmmtactl restart

Berikut adalah contoh hasil improvement yang dilakukan
imanudin.com_sender_must_login
Silakan dicoba dan semoga bermanfaat 😀

Referensi : http://wiki.zimbra.com/wiki/RestrictPostfixSenders