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

Snort dan Suricata IDPS

Sugeng pagi, Mas! Pagi, gimana kabarnya? Baik, Mas. Gini, Mas! Saya lagi pusing ngurusin jaringan di kantor. Pusing kenapa? Itu lo, Mas, virus tau-tau nongol tanpa permisi.  Bikin jaringan jadi lemot. Yang lebih repotnnya lagi, kita gak tau dari sebelah mana penyebarannya. Lah, gitu aja kok pusing.  Kamu punya alat monitoring macem IDS gak? Apa itu IDS, Mas? IDS itu, singkatan coro londo Intrussion Detection System.  Maksudnya sistem buat mendeteksi aktifitas penyusupan. La, itu kan bukan antivirus, Mas! Lagian mana ada sih yang nyusup di kantor saya.  Apalagi kantor banyakan mainnya di jaringan private. La ini, yang salah! Jangan beranggapan bahwa setiap penyusupan itu datangnya dari luar. Ancaman kebocoran itu paling besar justeru datangnya dari dalam. Dan satu hal lagi penyusupan tidak harus terjadi dalam satu saat.  Seperti proses penyusupan yang dilakukan dengan menggunakan kuda trojan.  Para penyusup justeru anteng dulu di dalam kuda trojan....

Null Allowed dan PK di Sybase ASE

Ha ha ha ha... Setelah nginep (eh nginep nggak dong la wong gak tidur) semaleman buat migrasi data, aku dapet PR baru. Menyempurnakan tool yang aku bikin. Ya harus disempurnakan la wong jalannya masih geyal-geyol. Hi hi hi hi. Hari ini, aku mencoba untuk membuat satu routine buat mengekstrak DDL bukan lewat tool yang dah ada dari Sybase, tapi murni bikinanku sendiri. Setelah tengok sana tengok sini make matanya Oom Google, akhirnya bisa terbentuk juga query dasar buat ekstrak DDL. Tapi masalah kemudian adalah menentukan suatu kolom masuk ke PK dan kemudian apakah suatu kolom itu nullallowed. Ternyata kunci untuk masuk ke PK ada di system table yang namanya 'sysindexes' dan untuk null allowed karena mengacu ke kolom ada di syscolumns. Check ini ada di kolom status dari syscolumns. Kondisi untuk check adalah 'status & 8' jika menhasilkan lebih besar dari 0 maka dia null allowed jika sama dengan 0 maka dia not null. Kemudian untuk masuk ke pk atau tidak checknya ...

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...