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
[code lang=’bash’]
su – zimbra
cd /opt/zimbra/conf
vi zmmta.cf
[/code]
Tambahkan baris berikut dibawah baris POSTCONF smtpd_sender_restrictions LOCAL postfix_smtpd_sender_restrictions
[code lang=’bash’]
POSTCONF smtpd_sender_login_maps FILE postfix_sender_login_maps.cf
[/code]
Simpan hasil konfigurasi kemudian jalankan perintah berikut :
[code lang=’bash’]
zmlocalconfig -e postfix_smtpd_sender_restrictions=reject_authenticated_sender_login_mismatch
[/code]
Buat file yang baru saja di deklarasikan pada zmmta.cf
[code lang=’bash’]
vi postfix_sender_login_maps.cf
[/code]
Isi dengan isian berikut :
[code lang=’bash’]
hash:/opt/zimbra/conf/exceptions-db
ldap:/opt/zimbra/conf/ldap-restricrelay.cf
[/code]
Buat pengecualian untuk salah satu user. User tersebut dapat mengirimkan email dan mengaku sebagai user siapa saja
[code lang=’bash’]
vi exceptions-db
[/code]
Isi dengan salah satu user atau dibiarkan kosong saja. Jalankan perintah berikut untuk melakukan postmap hash
[code lang=’bash’]
/opt/zimbra/postfix/sbin/postmap exceptions-db
[/code]
Sekarang, kita membutuhkan informasi server host ldap dan password ldap untuk digunakan pada file ldap-restricrelay.cf
[code lang=’bash’]
grep server_host /opt/zimbra/conf/ldap-vam.cf
grep bind_pw /opt/zimbra/conf/ldap-vam.cf
[/code]
Buat file ldap-restricrelay.cf
[code lang=’bash’]
vi /opt/zimbra/conf/ldap-restricrelay.cf
[/code]
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_
[code lang=’bash’]
chown zimbra: postfix_sender_* exceptions-db* ldap-restricrelay.cf
zmmtactl restart
[/code]
Berikut adalah contoh hasil improvement yang dilakukan
Silakan dicoba dan semoga bermanfaat 😀
Referensi : http://wiki.zimbra.com/wiki/RestrictPostfixSenders
Mas Ahmad,
Apakah pengaturan ini berlaku untuk email yang memiliki beberapa email alias ?
Terima kasih atas jawabannya.
Salam,
Dani
Hi mas Dani,
Berlaku juga mas untuk account alias
Kalau sebelumnya di file exception-db saya buat kosong. kemudian saya mau memasukkan pengecualian user ke dlm file tersebut dan jalankan postmap.
Hasil postmap-nya gak jalan, tidak menemukan file exception-db yang dimaksud.
Itu kenapa ya mas ?
Terima kasih atas jawabannya.
Salam,
Dani
Satu lagi Mas Ahmad..
Semua perintah sudah saya jalankan dan ketika test telnet sesuai yang dimaksud outputnya.
Setelah itu saya test melalui webmail untuk kirim dan terima.
ketika coba send, muncul error : “Message not sent; one or more addresses were not accepted.Rejected addresses: Test 2 <test2@domain.net>”
jadi ketika saya kirim dari account test1 ke test2, errornya mengatakan test2 di reject karena tidak login.
Mohon bantuannya Mas Ahmad
Terima kasih atas bantuannya…
Dani
mas iman,
setelah pengaturan di atas, saya test kirim email normal dari web zimbra tidak ada masalah tetapi jika saya menggunakan aplikasi mail seperti outlook atau thunderbird itu terjadi masalah tidak bisa mengirim Temporary lookup failure, masalahnya apa ya
terima kasih sebelumnya
Thanks for the article.
Btw, this configuration is not able to prevent if the authenticated spammer use mailer-daemon (main from 🙂 to broadcast spamming.
Any idea how to prevent sending mail if sassl_username is not same as mailer-daemon.
Hi,
For this time, i am use rate limit to prevent mailer-daemon sending many email. The example configuration can be found from here : https://imanudin.net/2014/09/09/zimbra-tips-how-to-configure-rate-limit-sending-message-on-policyd/