Skip to main content

Mengurangi Spam Email di Zimbra

·4 mins

Spam merupakan salah satu tantangan utama dalam pengelolaan server email. Jika tidak ditangani dengan baik, spam dapat menyebabkan penumpukan antrian email (mail queue), penurunan performa layanan, hingga pemblokiran alamat IP server oleh layanan RBL (Real-time Blackhole List).

Masalah Umum yang Sering Terjadi
#

  • Antrian email (mail queue) menumpuk dalam jumlah besar sehingga layanan email menjadi lambat atau tidak responsif. Kondisi ini umumnya disebabkan oleh tingginya volume spam masuk maupun laporan kegagalan pengiriman (Non-Delivery Report/NDR) yang berlebihan.
  • Aktivitas pengiriman atau penerimaan spam yang tinggi membebani sumber daya server dan menurunkan performa layanan email.
  • Alamat IP server pengirim (MTA/Mail Transfer Agent) masuk ke daftar blokir RBL, sehingga email yang dikirim ditolak atau tidak sampai ke tujuan.

Menangani Insiden Spam yang Sedang Berlangsung
#

Tujuan:

  • Mengidentifikasi sumber spam.
  • Menghentikan aktivitas pengiriman yang tidak sah.
  • Membersihkan antrian email yang menumpuk.
  • Mengembalikan layanan email ke kondisi normal.

Menahan Sementara Seluruh Antrian Email
#

Langkah pertama yang disarankan adalah menahan seluruh antrian email agar tidak ada email baru yang dikirim selama proses investigasi dan pembersihan berlangsung.

su - zimbra
~/common/sbin/postsuper -h ALL

Setelah proses penanganan selesai, aktifkan kembali antrian email dengan perintah berikut:

~/common/sbin/postsuper -r ALL

Mengidentifikasi Sumber Pengirim Spam
#

Periksa statistik antrian email untuk mengetahui pola penumpukan pesan:

sudo ~/libexec/zmqstat
qshape -s deferred | head

Identifikasi akun pengguna yang melakukan pengiriman email dalam jumlah besar:

grep sasl_user /var/log/zimbra.log | sed 's/.*sasl_username=//g' | sort | uniq -c | sort -nr | head

Periksa riwayat aktivitas akun yang dicurigai:

grep "user1@domain.tld" /var/log/zimbra.log

Melacak Alamat IP Sumber Spam
#

Berdasarkan Alamat Pengirim
#

Gunakan perintah berikut untuk melihat alamat IP yang terkait dengan pengiriman email dari akun tertentu:

grep "from=<user1@domain.tld>" /var/log/zimbra.log | awk '{print $10}' | sort -nr -k 1 | sed -rn 's/.*\[//;s/\].*//p' | uniq -c | sort -nr -k 1

Berdasarkan Data Autentikasi Pengguna
#

Untuk mengetahui alamat IP yang digunakan saat pengguna melakukan autentikasi SMTP:

grep sasl_user /var/log/zimbra.log | grep user1@domain.tld | awk '{print $7}' | sed -rn 's/.*\[//;s/\].*//p' | sort -nr -k 1 | uniq -c | sort -nr -k 1

Hasil dari kedua pemeriksaan tersebut dapat digunakan untuk menentukan sumber aktivitas spam, baik yang berasal dari kredensial pengguna yang disalahgunakan maupun dari host tertentu yang terhubung ke server.

Memblokir Alamat IP Sumber Spam
#

Setelah alamat IP sumber spam berhasil diidentifikasi, lakukan pemblokiran pada tingkat MTA untuk mencegah koneksi lebih lanjut dari host tersebut.

Buat daftar blokir pada file /opt/zimbra/conf/postfix_blacklist, kemudian tambahkan alamat IP yang akan ditolak:

177.71.83.241 REJECT
191.37.158.10 REJECT

Terapkan perubahan dengan menjalankan perintah berikut:

postmap /opt/zimbra/conf/postfix_blacklist
zmprov mcf +zimbraMtaRestriction 'check_client_access lmdb:/opt/zimbra/conf/postfix_blacklist'
zmmtactl restart

Menghapus Email Spam dari Antrian
#

Hapus seluruh email yang berada dalam status deferred:

/opt/zimbra/common/sbin/postsuper -d ALL deferred

Untuk menghapus email yang dikirim oleh akun yang terkompromi, gunakan perintah berikut:

/opt/zimbra/common/sbin/postqueue -p | egrep -v '^ *\(|-Queue ID-' | awk 'BEGIN { RS = "" } { if ($7 == "user1@domain.tld") print $1 }' | tr -d '*!' | /opt/zimbra/common/sbin/postsuper -d -

Membuka Kembali Antrian Email
#

Setelah antrian email dibersihkan dan sumber spam berhasil diblokir, aktifkan kembali proses pengiriman email:

~/common/sbin/postsuper -r ALL

Pengaturan Keamanan Lanjutan MTA
#

Berikut beberapa konfigurasi yang direkomendasikan untuk meningkatkan keamanan layanan email dan mengurangi risiko spam di masa mendatang.

Mencegah Open Relay
#

Pastikan server tidak dapat digunakan sebagai open relay oleh pihak yang tidak berwenang:

zmprov mcf +zimbraMtaRestriction 'reject_unauth_destination'

Menolak Pengirim dan Penerima yang Tidak Terdaftar
#

Tolak email yang menggunakan alamat pengirim atau penerima yang tidak terdaftar pada server:

zmprov mcf zimbraMtaSmtpdRejectUnlistedRecipient TRUE
zmprov mcf zimbraMtaSmtpdRejectUnlistedSender TRUE

Mengaktifkan Pembaruan Aturan Anti-Spam Otomatis
#

Pastikan aturan anti-spam diperbarui secara otomatis:

zmlocalconfig -e antispam_enable_rule_updates=true
zmlocalconfig -e antispam_enable_restarts=true

Memblokir Lampiran dengan Ekstensi Berbahaya
#

Batasi pengiriman file yang berpotensi membahayakan sistem:

zmprov mcf +zimbraMtaBlockedExtension exe
zmprov mcf +zimbraMtaBlockedExtension bat

Menyesuaikan Ambang Deteksi Spam
#

Email dengan skor spam di atas 75% akan ditolak, sedangkan email dengan skor di atas 25% akan ditandai dan dipindahkan ke folder Spam.

zmprov mcf zimbraSpamKillPercent 75
zmprov mcf zimbraSpamTagPercent 25

Memverifikasi Nama Host dan Alamat Pengirim
#

Tolak koneksi dari host atau pengirim yang tidak memenuhi standar penamaan SMTP:

zmprov mcf zimbraMtaRestriction reject_invalid_hostname \
zimbraMtaRestriction reject_non_fqdn_hostname \
zimbraMtaRestriction reject_non_fqdn_sender \
zimbraMtaRestriction reject_unknown_client_hostname

Menggunakan Real-time Blackhole Lists (RBL)
#

Gunakan layanan RBL untuk memblokir koneksi dari alamat IP yang telah diketahui sebagai sumber spam:

zmprov mcf zimbraMtaRestriction "reject_rbl_client bl.spamcop.net" \
zimbraMtaRestriction "reject_rbl_client sbl.spamhaus.org"

Related