Pages

Subscribe:

Saturday, July 05, 2008

Mengurangi Spam dengan Spamassasin

Yang paling menyebalkan dari suatu email adalah spam. Betapa tidak, setiap hari ada saja email sampah/spam ini masuk. dan yang menjengkelkan, si pembuat spam ini membuat semacam email robot buat menyebarkan spamnya.

Pada tutorial ini saya akan mencoba mengkonfigurasi spamassassin, agar tool ini “ngeh” terhadap spam. dengan asumsi spamassassin telah terinstall, berikut spesifikasi yang saya gunakan :

mail server : qmail

pop3 server : vpopmail

antivirus : clamav

antispam : spamassassin

qmail-queue : simscan

berikut isi dari local.cf saya

# more /etc/mail/spamassassin/local.cf

# How many hits before a message is considered spam.

required_hits 4.0

# Change the subject of suspected spam

rewrite_header subject *****INI_SPAM*****

dns_available yes

# Encapsulate spam in an attachment (0=no, 1=yes, 2=safe)

report_safe 1
# Enable the Bayes system

use_bayes 1

use_bayes_rules 1

# Enable Bayes auto-learning

bayes_auto_learn 1
# Mail using locales used in these country codes will not be marked

# as being possibly spam in a foreign language.

ok_locales en

Nah kemudian, ambil beberapa rules spam yang menurut saya bagus di situs ini
http://www.rulesemporium.com/rules.htm. Setelah itu latihlah spamassassin , saya menggunakan qmail sebagai mail server dan vpopmail sebagai virtual mailnya. agar trainning spam berjalan otomatis, saya membuat script yang isinya sebagai berikut

/usr/bin/sa-learn –showdots –ham –spam /usr/local/cursa-learn –showdots –ham –spam –siteconfigpath=/etc/mail/spamassassin/ /home/vpopmail/domains/*/*/Maildir/*/spamassassin –siteconfigpath=/etc/mail/spamassassin/ -D –lint

/etc/init.d/spamassassin restart

Kemudian, script tersebut saya letakkan di /etc/cron.daily, sehingga setiap hari pada jam tertentu yang telah ditentukan, script tersebut bisa berjalan otomatis. Kemudian, supaya mail server mengecek otomatis setiap mail yang datang

#more /etc/tcprules.d/tcp.smtp

127.:allow,RELAYCLIENT=”",QMAILQUEUE=”/var/qmail/bin/simscan”

:allow,BADMIMETYPE=”",BADLOADERTYPE=”M”,LANG=”en_US”,QMAILQUEUE=”/var/qmail/bin/simscan”

kemudian, panggil file tersebut di

# more /service/smtp/run

!/bin/sh

QMAILDUID=`id -u vpopmail`

NOFILESGID=`id -g vpopmail`MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`

BLACKLIST=`cat /var/qmail/control/blacklists`

SMTPD=”/var/qmail/bin/qmail-smtpd”

TCP_CDB=”/etc/tcprules.d/tcp.smtp.cdb”

RBLSMTPD=”/usr/bin/rblsmtpd”

HOSTNAME=`hostname`

VCHKPW=”/home/vpopmail/bin/vchkpw”
exec /usr/bin/softlimit -m 25600000 \ /usr/bin/tcpserver -v -R -H -l $HOSTNAME -x $TCP_CDB -c “$MAXSMTPD” \ -u “$QMAILDUID” -g “$NOFILESGID” 0 smtp \ $RBLSMTPD -r $BLACKLIST $SMTPD $VCHKPW /bin/true 2>&1

Kemudian, supaya simscan dapat memeriksa email yang masuk secara otomatis, maka perlu ditambahkan baris berikut pada /etc/profile

QMAILQUEUE=”/var/qmail/bin/simscan”

lalu export file tersebut

export PATH PATH1 USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC QMAILQUEUE

kemudian simpan perubahan tersebut.

Yang terakhir, tambahkan list database server spam, tujuannya, supaya dapat meng-query apakah ip address email yang datang ke mail server kita, mengandung spam atau tidak.

# more /var/qmail/control/blacklists

-rsbl-xbl.spamhaus.org

kemudian restart qmail

cek apakah system yang kita buat berhasil atau tidak

more /var/log/smtp/current grep simscan

0 comments:

Post a Comment