Skip to main content

Menghapus Spam Message di Server Zimbra

Timbunan spam message yang terjadi pada server mail akan menyebabkan mail server disibukkan untuk melakukan pengiriman message sampah tersebut. Namun, oleh karena antispam sudah banyak terinstall, maka timbunan itu akan semakin menumpuk oleh karena percobaan pengulangan pengiriman oleh mail server. Akibatnya, mail yang seharusnya terkirim justeru akan mundur pada antrian akhir. Alias tidak terkirim.

Pagi ini, saya menerima banyak sekali komplain dari mail user. E-mail mereka tidak terkirim, dan tidak ada satupun kiriman dari luar tidak ada satupun yang masuk ke inbox mereka.
Hladalah.... downkah mail server saya?
Ping? Ok!
SSH? Ok!
zmcontrol status? Running semua!
Apa ini,
Baiklah, saya coba masuk management control nya, aplikasi web yang nampang di port 7071. Saya buka Monitor->Mail Queues.
Yaa... Salam....! Ada Queue Message yang jumlahnya gak tanggung-tanggung. Lebih dari 21 ribu message tersebar di "Deferred","Incoming", dan "Active". Dan ketika di tail-pun ternyata queue hanya mengurusi timbunan message spam tersebut. Pantesan, tidak ada satupun message masuk ke Inbox, dan tak satupun message bisa dikirim melalui mail server. Lha wong dia sibuk sendiri.
Pada interface Queue itu, saya coba untuk mengidentifikasi mail-mail yang mencurigakan dan syukurnya messeges itu bisa teridentifikasi berasal dari 1 IP. Dan jumlahnya? Masya Allah, 21ribu lebih dari domain [dot]ru. Aku berikan action delete dengan klik kanan delete. Mail server bisa merespons. Tapi tidak seluruh mail dari sejumlah mail yang saya identifikasi sebagai spam itu terhapus.
Saya coba lagi. Masih begitu, malah pada beberapa Queue tab, nampak ada peningkatan jumlah queue.
Ah, ini berarti tidak bisa dihapus dengan klik kanan. Akhirnya... saya harus masuk ke terminal console dari server. Saya harus gunakan mailq untuk melihat queue dan postsuper untuk memberikan perintah penghapusan. Selain dua perangkat itu, saya juga harus menggunakan awk untuk mengekstrak message id dengan perintah print, dan cut untuk memotong string pada lebar tertentu.

Dan statement yang harus dijalankan kira-kira bentuknya akan menjadi demikian:
Perhatikan filter [dot]ru dan pada grep dengan -v yang melakukan inversi.


[root@mail~]#/opt/zimbra/postfix/sbin/mailq | tail -n +2 | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ($8 ~ /.ru/) print $1 }
'



Hasilnya kira-kira begini (bergantung pada queue riil):


[root@mail~]#/opt/zimbra/postfix/sbin/mailq | tail -n +2 | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ($8 ~ /.ru/) print $1 }'
8198E6046CDD0
80FC06046CDD7
35EDF609A536A*
397A2609A536C*
0C665604708FF
0E77B609A5362
0F6C260469D78
0ED90609A5374
12BB46046CDC6

Hasil di atas adalah list dari message id yang masuk queue. Pada hasil di atas kita lihat ada yang diakhiri dengan tanda "*", sementara kita harus menghapus per message id dimana tidak ada message id yang diakhiri dengan "*". Untuk itu kita harus memberikan tambahan "cut -c 1-13" yang berarti ambil karakter dari 1 sampai dengan 13. 13 adalah lebar message id.


[root@mail~]#/opt/zimbra/postfix/sbin/mailq | tail -n +2 | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ($8 ~ /.ru/) print $1 } | cut -c 1-13'
8198E6046CDD0
80FC06046CDD7
35EDF609A536A
397A2609A536C
0C665604708FF
0E77B609A5362
0F6C260469D78
0ED90609A5374
12BB46046CDC6


OK, semua message yang ada di queue muncul tanpa embel-embel "*". Terakhir kita bisa menambahkan perintah penghapusan.


[root@mail~]/opt/zimbra/postfix/sbin/mailq | tail -n +2 | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ($8 ~ /.ru/) print $1 }' | cut -c 1-13 | /opt/zimbra/postfix/sbin/postsuper -d -
postsuper: 8198E6046CDD0: removed
postsuper: 80FC06046CDD7: removed
postsuper: 35EDF609A536A: removed
postsuper: 397A2609A536C: removed
postsuper: 0C665604708FF: removed
postsuper: 0E77B609A5362: removed
postsuper: 0F6C260469D78: removed
postsuper: 0ED90609A5374: removed
postsuper: 12BB46046CDC6: removed


Ok, selesai, semua sampah terhapus.

Popular posts from this blog

Tentang Ultraman; Pahlawan Jepang Yang Mendunia, Salah Satu Teman Masa Kecil

Google Doodle Ultraman Pagi ini, ada kejutan yang bikin saya tersenyum. Google Doodle, hari ini temanya adalah ulang tahun Eiji Tsuburaya  sang pereka tokoh Ultraman atau dalam lidah Jepang disebut Urotoraman, tayang pertama pada 7 Juli 1966 di TBS (Tokyo Broadcasting System).  Urotoraman atau Ultraman adalah Tokusatsu  atau SciFi, seorang pahlawan super yang berukuran rasaksa. Bila beberapa halaman wiki mengatakan bahwa ide pahlawan super berukuran raksasa adalah ide aseli Tsuburaya, bagi saya itu bukan aseli. Mungkin di Jepun sono, ide aseli. Namun di Indonesia raya nan kaya dan tercinta ini, itu bukan ide aseli.  Banyak tokoh pewayangan kita seperti Yudistira, Puntadewa, bahkan yang paing fenomenal adalah Prabu Kreshna yang mampu melakukan tiwikrama , alias berubah menjadi raksasa.  Meskipun itu terjadi ketika yang melakukan sedang murka.  Jadi Ultraman adalah bentuk Tiwikrama dari pahlawan Jepang.  Meskipun begitu dan di luar semua i...

Awal Perjalanan

Jalan di dusun Pedhudutan pagi ini masih sangat sepi. Meskipun adzan Shubuh telah berkumandang, dan jama’ah Shubuh telah kembali dari langgar, namun aktifitas penduduk masih belum terlihat bergeliat. Hanya beberapa penduduk yang terlihat telah mendahului pergi ke pasar menjemput pagi. Menjemput rezeki pagi ini. Wadasputih, lintasan pegunungan yang melingkupi dusun Pohkumbang, masih nampak hitam di ujung timur seakan mencanda mentari agar tetap dalam peraduannya meski semburat tangan sinarnya telah menggapai awan yang masih malas-malasan di atas sana. Padepokan Gagak Wulung, pagi ini, terasa sangat sepi. Tidak seperti hari-hari sebelumnya. Tidak ada suara cantrik mengalunkan pesan-pesan ilahi, maupun yang gladen, olah kanuragan. Bahkan dapur-dapur padepokan yang biasanya diisi oleh para simbok, istri-istri cantrik senior maupun para cantrik perempuan, pagi ini sepi. Hanya ada sedikit sisa asap pedhangan bekas menanak nasi tadi, sebelum subuhan. Semua cantrik berkumpul di depan pendo...

Bagaimana Menginstall Snort dengan Barnyard2 dan Snorby

Mas....! Apa? Nuwun sewu, Mas! Saya udah coba install Snort dan Suricata. Tapi bingung... Bingung gimana? Bingung nginstallnya. Sampeyan nginstallnya di mana? Sampeyan gimana? Ya di kantor, Mas! Masa di rumah.  Di rumah komputer kan cuma 1 doang. He he....! Maksud saya, nginstallnya di komputer apa, OS nya apa? Di PC, OS-nya linux Linux apa? Ubuntu, Mas! Hmm... Ubuntu? Sampeyan nginstallnya make apt-get install apa compile dari source-nya? Make apt-get install, Mas! sudo apt-get install snort snort-mysql Emang kenapa, Mas? Gak apa, Cuma biasanya saya nginstallnya langsung dari source. Gimana caranya? Begini, unduh dulu source terakhir yang stabil dari http://www.snort.org/snort-downloads/ Kemudian copykan ke mesin linux yang bakal kita install snort.  Jangan cuma download source snortnya thok.  Download juga library DAQ (Data Aqcuisition Library).  Karena snort juga butuh ini kalo mau mengenable-kan semua fitur snort. Jangan lupa juga download barny...