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

Log Management Dengan Graylog2, MongoDB, Elasticsearch, Kibana (2)

Bagian 2 dari 3 tulisan Pada bagian ini diuraikan konfigurasi input dan ekstraktor serta menghubungkan Suricata ke Graylog2 Melanjutkan tulisan sebelumnya Log Management Dengan Graylog2, MongoDB, Elasticsearch, Kibana (1), pada tulisan ini akna sedikit menguraikan tentang beberapa konfigurasi dan pemanfaatannya.  Tentunya masih menggunakan Graylog2. Input. Konfiguras Input sangat penting mengingat ini adalah item konfigurasi yang memungkinkan Graylog2 untuk membuka port menangkap kiriman log. Ada beberapa jenis input.  Namun untuk sementara kita hanya menggunakan “Syslog TCP”  dan “Syslog UDP”.  Dan karena input nanti akan berhubungan dengan extractors, maka sebaiknya input dibuat spesifik untuk mesin log yang spesifik juga.  Misalkan kita akan menangkap log dari Suricata, kita buatkan 1 input khusus dengan protocol UDP misalnya, dan listening pada port 6160 misalkan. Langkah pembuatan input Untuk membuat input, setelah kita bisa memasuki interface Graylog2, ...

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

Ha Na Ca Ra Ka, Huruf Jawa: Riwayatmu Kini

Ha na ca ra ka; hana caraka; ada utusan. Ah kemanakah para utusan itu sekarang? Sesekali aku jalan-jalan ke blog orang-orang dari wilayah-wilayah asia semacem Thailand, Champa (Khmer); ada yang tiba tiba menyeruak dari kedalaman jiwaku. Dari kedalaman jiwa seorang Jawa. Hari ini aku sudah tidak bisa lagi membaca rangkaian kalimat yang tersusun dari huruf-huruf milik kami, orang jawa. Dulu, ketika aku masih duduk di bangku sekolah dasar, pak guru dan ibu guruku begitu rajinnya mengajarkan aku membaca dan menulis huruf jawa. Sampai kemudian aku pun bisa menuliskannya dengan lancar. Membacanya pun aku tidak ada halangan. Bahkan sampai aksara murda sekalipun. Tapi kini aku seperti menjadi orang lain ketika harus membaca tulisan-tulisan itu. Hari ini, ketika aku tidak mampu lagi membaca hurufku. Aku mencoba untuk menelusuri di internet tentang huruf-huruf jawa. Aku dapat salah satunya di http://en.wikipedia.org/wiki/Javanese_script , kemudian dari sini aku mendapatkan http://www.omniglot...