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

Replikasi PostgreSQL 9.0

PostgreSQL 9.0.x mungkin merupakan satu lompatan yang mampu menyejukkan 'kekeringan' para penggemar PostgreSQL akan satu fitur yang paling sangat dinantikan. Replikasi. Semenjak saya mulai keranjingan PostgreSQL pada tahun 2006, hal yang paling sering mengganggu adalah masalah replikasi data. Tak usahlah sampai ke active-active, active-passive pun terasa amat sulit mendapatkan pemecahannya. Memang teramat banyak pilihan replikasi untuk postgres, namun, ataghfirullah, reliability nya sangat-sangat rentan. Terutama bila dipegang oleh orang yang tidak terlalu menguasai. Sebut saja pgCluster, pgPool, sequoia, atau Slony. Hampir semua nyaris bikin frustasi, kecuali Slony. Hanya proses inisiasi Slony teramat-amat sangat ribet dan menghasilkan rieut yang sangat. Nah ribet, rieut inilah kemudian yang dicoba untuk dipangkas oleh Replikasi PostgreSQL 9.0. Streaming Replication Streaming Replication? Kenapa streaming? PostgresSQl 9.0.x memanfaatkan XLOG (pg_xlog) untuk melakukan ...

Superfish Menginjeksi Laman-Laman Google

Beberapa bulan lalu pengguna lenovo sempat dibuat gerah dengan penggunaan software superfish yang sengaja disisipkan oleh Lenovo. Penggunaan adware yang sebenarnya dimaksudkan untuk memudahkan pengguna yang suka berbelanja ternyata justeru menjadi duri dalam daging bagi pengguna. Adware ini, mampu membongkar enkripsi web pengguna komputer dan akhirnya membuat komputer yang bersangkutan menjadi rentan terhadap serangan cyber. Dan yang paling ‘menggemaskan’ adalah adware ini bisa menyuntikkan iklan-iklan yang tidak diinginkan (bahkan sering menampilkan gambar perempuan dengan pakaian minim) ketika pengguna membuka web apapun. Meskipun Lenovo telah berjanji untuk menghentikan penggunaan Superfish, namun ternyata bahaya masih mengintai para pengguna internet. Google sebagai peramban paling populer saat ini berpotensi menyebarkan Ad Injection melalui ekstensyen nya. Berdasar riset dari Google, 4% laman google telah di-inject oleh superfish dengan iklan-iklan yang gak jelas. Dan 5....

Bincang Ringan, Misi Kristen dan Dakwah Islam (I)

Dalam sebuah diskusi dengan santri saya mengajukan pertanyaan, "Bolehkah orang Kristen menyiarkan agamanya ke orang Islam ?" Serentak mereka menjawab "Tidak boleh". Kemudian saya mengajukan pertanyaan susulan, "Rekan-rekan santri senang tidak, kalau ada orang yang masuk Islam karena didakwahi oleh Koh Hany," dan secara serempak juga mereka menjawab "Tentu senang ustadz." Kontan saya timpali, lha kok nggak adil, orang Kristen nggak boleh menyiarkan agama ke umat Islam, sementara umat Islam boleh mendakwahi orang Kristen. Saya jadi ingat kutipan dari Syaikh Ali Mahfuzh, guru besar Ilmu Da'wah wal Irsyad, Anggota Majelis Ulama dan Pembina Ilmu Dakwah pada Universitas Al Azhar dalam bukunya Widji Saksono, Mengislamkan Jawa, terbitan Mizan tahun 1995. "Barangsiapa memperhatikan dengan seksama, tahulah ia bahwa sesungguhnya dakwah kepada Allah itu adalah sendi kehidupan suatu agama, pangkal syi'ar suatu kepercayaan. Syahdan pad...