Thursday, April 9, 2015

Penanganan spam mail zimbra

Tulisan ini hanya melanjutkan tulisan saya yang sebelumnya dengan judul spam mail yang telah dibuat. Pada awalnya masuk ke server mail zimbra berada, kemudian untuk mengetahui email terbanyak dapat menggunakan perintah

su - zimbra -c "mailq" 

atau

/opt/zimbra/postfix/sbin/postqueue -p | more

Disini harus diperhatikan nama sender/pengirim spam, jika nama menggunakan alamat email dengan domain kita, catat nama acount tersebut.
Ada kalanya spammer menyembunyikan account yang digunakan untuk melakukan spamming. Jika demikian, lakukan pengecekan dengan cara SSH ke server dan jalankan perintah :



tail -f /var/log/zimbra.log | grep sasl_method

atau

cat /var/log/zimbra.log | grep sasl_method

Account yang banyak sekali tampil dan tidak normal (misalnya setiap detik mengirim email) kemungkinan besar adalah account yang terkena hack dan digunakan oleh spammer untuk mengirim email spam.

Secara sederhananya kita harus mencari data mail yang menjadi penyebab bencana tersebut. Setelah diketahui penyebabnya kita lakukan pengecekan jumlah mail atau arah pengiriman mail. Hal ini bisa dilakukan dengan perintah :

/opt/zimbra/postfix/sbin/postqueue -p | egrep -v '^ *\(|-Queue ID-' | awk 'BEGIN { RS = "" } { if ($7 == "mail suspect") print $1} ' | tr -d '*!' | wc -l
Perintah diatas menampilkan hasil jumlah email yang dikirim. Tahap selanjutnya adalah cara mengobatinya dengan langkah sebagai berikut :
  • menutup email penyebab untuk sementara waktu
  • mengecek perubahan
  • menghapus email spam
Usahakan menutup email yang membuat spam tersebut. Usahakan untuk merubah password awal email tersebut, ketika sudah dirubah password lakukan beberapa hal lagi sebelum dibuka mail.
Pengecekan perubahan dilakukan, untuk mengetahui perubahan apa yang terjadi di dalam mail yang menjadi suspect spam. Pengecekan meliputi :
  • Tab Account, berisi nama dan alamat reply-to
  • Signature
  • Draft email
  • Sent Items
  • Trash Email
  • Forwarding
Setelah selesai, tahap akhir adalah melakukan penghapusan mail spam dengan perintah

/opt/zimbra/postfix/sbin/postqueue -p | egrep -v '^ *\(|-Queue ID-' | awk 'BEGIN { RS = "" } { if ($7 == "mail suspect") print $1} ' | tr -d '*!' | /opt/zimbra/postfix/sbin/postsuper -d -

atau dengan menggunakan perintah

./pfdel mail suspect

Sebelumnya copy script berikut ini

#!/usr/bin/perl -w
#
# pfdel - deletes message containing specified address from
# Postfix queue. Matches either sender or recipient address.
#
# Usage: pfdel <email_address>
#

use strict;

# Change these paths if necessary.
my $LISTQ = "/opt/zimbra/postfix/sbin/postqueue -p";
my $POSTSUPER = "/opt/zimbra/postfix/sbin/postsuper";

my $email_addr = "";
my $qid = "";
my $euid = $>;

if ( @ARGV !=  1 ) {
    die "Usage: pfdel <email_address>\n";
} else {
    $email_addr = $ARGV[0];
}

if ( $euid != 0 ) {
        die "You must be root to delete queue files.\n";
}


open(QUEUE, "$LISTQ |") ||
  die "Can't get pipe to $LISTQ: $!\n";

my $entry = <QUEUE>;    # skip single header line
$/ = "";        # Rest of queue entries print on
            # multiple lines.
while ( $entry = <QUEUE> ) {
    if ( $entry =~ / $email_addr$/m ) {
        ($qid) = split(/\s+/, $entry, 2);
        $qid =~ s/[\*\!]//;

        #
        # Execute postsuper -d with the queue id.
        # postsuper provides feedback when it deletes
        # messages. Let its output go through.
        #
        if ( system($POSTSUPER, "-d", $qid) != 0 ) {
            # If postsuper has a problem, bail.
            die "Error executing $POSTSUPER: error " .
               "code " .  ($?/256) . "\n";
        }
    }
}
close(QUEUE);

if (! $qid ) {
    die "No messages with the address <$email_addr> " .
      "found in queue.\n";
}

exit 0;


Sekian metode menangani spam di mail server berbasis zimbra

source : https://www.facebook.com/notes/masim-vavai-sugianto/tips-mengecek-dan-mengatasi-account-yang-terindikasi-spam-pada-zimbra-mail-serve/10152641968077827

No comments:

Post a Comment