hari ini kita akan membahas Sebuah Misteri Postfix Amavis Dari Zimbra, beberapa hari lalu saya mendapatkan keluhan dari pelanggan yang tidak bisa menerima email dari salah satu domain penyedia alat elektronik terbesar di dunia (sebut saja namanya bunga 17 tahun, bukan nama sebenarnya).

PERHATIAN:
me-whitelist Ip Address ataupun Hostname tertentu dapat meningkatkan server email anda mengalami aktifitas spam, karena kemungkinan email dari Ip Address ataupun Hostname terinfeksi oleh virus, kemungkinan besar ip atau mail server anda juga ikut terblacklist.

errornya seperti dibawah ini:

Nov 23 07:47:57 mail postfix/smtpd[31015]: ED15E24140F: filter: RCPT from smtp.pengirim.jp[192.168.212.160]: : Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from= to= proto=ESMTP helo=

Untuk memperbaiki hal ini ada beberapa cara yang dapat anda coba, yaitu:

Cara 1: whitelist spesifik user/domain

Edit file Spamassassin file “/opt/zimbra/conf/salocal.cf.in” dan tambahkan ini pada file tersebut

whitelist_from *@domain.com 
whitelist_from user@domain.com

lalu restart zmmtactl and zmamaviasdctl menggunakan user zimbra

$ zmmtactl restart && zmamavisdctl restart

Cara 2: Whitelist IP Addresse atau Hostname jika anda menggunakan RBL

tambahkan IP atau hostnames yang ingin anda whitelist

[zimbra@mail ~]$ vi /opt/zimbra/conf/postfix_rbl_override

isi file tersebut harus seperti dibawah ini

[zimbra@mail ~]$ cat /opt/zimbra/conf/postfix_rbl_override 
192.168.1.27 OK
192.168.1.28 OK
arielfx.email.gue OK
arielfx.email.gue OK

lalu jalankan perintah ini

[zimbra@mail ~]$ postmap /opt/zimbra/conf/postfix_rbl_override

verifikasi file postfix_rbl_override telah berjalan dengan baik

[zimbra@mail ~]$ cat /opt/zimbra/conf/postfix_recipient_restrictions.cf
%%contains VAR:zimbraServiceEnabled cbpolicyd, check_policy_service inet:127.0.0.1:10031%%
reject_non_fqdn_recipient
permit_sasl_authenticated
permit_mynetworks
reject_unauth_destination
check_client_access hash:/opt/zimbra/conf/postfix_rbl_override
reject_unlisted_recipient
%%contains VAR:zimbraMtaRestriction reject_invalid_hostname%%
%%contains VAR:zimbraMtaRestriction reject_non_fqdn_hostname%%
%%contains VAR:zimbraMtaRestriction reject_non_fqdn_sender%%
%%contains VAR:zimbraMtaRestriction reject_unknown_client%%
%%contains VAR:zimbraMtaRestriction reject_unknown_hostname%%
%%contains VAR:zimbraMtaRestriction reject_unknown_sender_domain%%
%%explode reject_rbl_client VAR:zimbraMtaRestrictionRBLs%%
%%contains VAR:zimbraMtaRestriction check_policy_service unixrivate/policy%%
permit

restart zmmtactl

[zimbra@mail ~]$ zmmtactl restart
Rewriting configuration files...done.
postfix/postfix-script: refreshing the Postfix mail system
Stopping saslauthd...done.
Starting saslauthd...done.

Cara 3: Whitelist Hostname atau IP addresses tanpa merestart service zimbra

membuat direktori zimbra_custom (di dalam folder /etc)

[root@mail ~]# mkdir /etc/zimbra_custom 

mengganti ownership folder /etc/zimbra_custom ke zimbra

[root@mail ~]# chown zimbra:zimbra /etc/zimbra_custom

verifikasi ownership folder tersebut sesuai yang kita inginkan

root@mail:~# ls -ld /etc/zimbra_custom/
drwxr-xr-x 2 zimbra zimbra 4096 Nov 23 17:44 /etc/zimbra_custom/

switch ke user zimbra

[root@mail ~]# su - zimbra --> switch to zimbra

membuat file test_whitelist

zimbra@mail:~$ touch /etc/zimbra_custom/test_whitelist

tambahkan ip address atau hosting yang ingin anda whitelist

zimbra@mail:~$ nano /etc/zimbra_custom/test_whitelist

hasilnya harus seperti dibawah ini

zimbra@mail:~$ cat /etc/zimbra_custom/test_whitelist
v01.vinay.com OK
10.112.233.180 OK

membuat hash file menggunakan zimbra postmap

zimbra@mail:~$ /opt/zimbra/postfix/sbin/postmap /etc/zimbra_custom/test_whitelist

verifikasi database test_whitelist sudah terbuat

root@mail:~# ls -l /etc/zimbra_custom/
total 16
-rw-r----- 1 zimbra zimbra   139 Nov 23 17:44 test_whitelist
-rw-r----- 1 zimbra zimbra 12288 Nov 23 17:44 test_whitelist.db

check konfigurasi recipient restrictions sebelum di eksekusi (ada baiknya anda backup)

zimbra@mail:~$ postconf |grep smtpd_recipient_restrictions
smtpd_recipient_restrictions = reject_non_fqdn_recipient, permit_sasl_authenticated,   permit_mynetworks, reject_unauth_destination, reject_unlisted_recipient,   reject_invalid_helo_hostname, reject_non_fqdn_sender, permit

edit smtpd_recipient_restrictions

zimbra@mail:~$ postconf -e smtpd_recipient_restrictions="reject_non_fqdn_recipient,  permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination,  reject_unlisted_recipient, check_sender_access hash:/etc/zimbra_custom/test_whitelist,  reject_invalid_helo_hostname, reject_non_fqdn_sender, permit" --> add the hash file to current  recipient restrictions

verifikasi kembali

zimbra@mail:~$ postconf |grep smtpd_recipient_restrictions
smtpd_recipient_restrictions =  reject_non_fqdn_recipient, permit_sasl_authenticated, permit_mynetworks,  reject_unauth_destination, reject_unlisted_recipient, check_sender_access  hash:/etc/zimbra_custom/test_whitelist, reject_invalid_helo_hostname, reject_non_fqdn_sender,  permit

Sebuah Misteri Postfix Amavis Dari Zimbra

lalu dimana misterinya?
tidak semua server dapat berjalan dengan baik dengan perintah diatas

saya kembali menemukan error baru yaitu:

Nov 23 10:01:34 mail postfix/smtpd[22567]: timeout after DATA (0 bytes) from smtp.pengirim.jp[192.168.212.164]

lalu bagaimana memperbaikinya? akan kami bahas pada artikel selanjutnya pada artikel Sebuah Misteri Postfix Amavis Dari Zimbra jilid 2 🙂