Spiga

salamsuper

Cara Jitu Lumpuhkan SPAM Nakal

Ahkhir-akhir ini saya direpotkan dengan yang namanya SPAM, huh.....biarpun mail server sudah bentengi anti spam + anti virus, yang sudah cukup teruji yaitu trio SpamAssassin+Clamav+Amavis, Eh.... tuh SPAM tetep aja nongol. Skornya diperketat banyak email yang sebenarnya bukan spam ke-block, skornya diperlonggar, spam masuk bak hujan deras. Cukup pusing juga kena komplain dari bos-bos karena kena bom SPAM terus. Sampai akhirnya dicoba diblok persender di Firewall-nya, tapi tidak cukup efektif, karena SPAM yang lolos makin banyak.

Coba jalan-jalan, akhirnya nemu senjata baru neh, namanya spamchk, file ini bukan aplikasi utuh, tapi hanya file tambahan supaya kinerja SpamAssassin lebih tajam. Cara kerjanya adalah semua email yang masuk disaring dulu dalm satu directory misalnya /var/tempfs dari sini semua email yang terindikasi spam akan dilempar ke satu email yang disetting di spamchk, sementara user akan terbebas dari email yang diindikasikan spam. Dan hasilnya... cukup efektif banyak spam yang tertangkap menggunakan metoda ini.
Caranya cukup sederhana, saya asumsikan pembaca sudah punya mailserver menggunakan Postfix, dan sudah dilengkapi SpamAssassin+Amavis.

1. Buatlah drectory penampung misalnya /var/temfs
2. Buatlah file dengan nama spamchk, kemudian simpan pada directory /home/spamfilter
isi spamchk sebagai berikut:

#!/bin/sh

# -----------------------------------------------------------------
# File: spamchk
#
# Purpose: SPAMASSASIN shell-based filter
#
# Location: /usr/local/bin
#
# Usage: Call this script from master.cf (Postfix)
#
# Certified: GENTOO Linux, Spamassassin 3.0, Postfix
# -----------------------------------------------------------------

# Variables
SENDMAIL="/usr/sbin/sendmail.postfix -i"
EGREP=/usr/bin/egrep

# Exit codes from
EX_UNAVAILABLE=69

# Number of *'s in X-Spam-level header needed to sideline message:
# (Eg. Score of 5.5 = "*****" )
SPAMLIMIT=6.0

# Clean up when done or when aborting.
trap "rm -f /var/tempfs/out.$$" 0 1 2 3 15

# Pipe message to spamc
cat | /usr/local/bin/spamc -u spamfilter > /var/tempfs/out.$$

# Are there more than $SPAMLIMIT stars in X-Spam-Level header? :
#if $EGREP -q "^X-Spam-Level: \*{$SPAMLIMIT,}" < /var/tempfs/out.$$
if $EGREP -q "X-Spam-Status: Yes" < /var/tempfs/out.$$
then
# Option 1: Move high scoring messages to sideline dir so
# a human can look at them later:
# mv out.$$ $SIDELINE_DIR/`date +%Y-%m-%d_%R`-$$

# Option 2: Divert to an alternate e-mail address:
$SENDMAIL tablo@gmail.com < /var/tempfs/out.$$

# Option 3: Delete the message
# rm -f /var/tempfs/out.$$
else
$SENDMAIL "$@" < /var/tempfs/out.$$
fi

# Postfix returns the exit status of the Postfix sendmail command.
exit $?



3. Edit master.cf
#vi /etc/postfix/master.cf

cari script ini:

spamfilter
unix - n n - - pipe
flags=Rq user=spamfilter argv=/usr/local/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

tutup menjadi seperti ini

#spamfilter
# unix - n n - - pipe
# flags=Rq user=spamfilter argv=/usr/local/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

dan tambahkan script ini dibawahnya, supaya spamchk dibaca oleh SpamAssassin:

spamfilter unix - n n - 10 pipe
flags=Rq user=spamfilter argv=/home/spamfilter/spamchk -f ${sender} --
${recipient}

4. Restart SpamAssassin
5. Restart Postfix
6. Rasakan bedanya..........:-D

0 komentar: