Dikarenakan menggunakan Postfix maka fokus kali ini dipusatkan pada postfix dan spam assassin sebagai tool untuk menangani spam tersebut.
Sedangkan mengenai cara menanggulangi kalo kita / user kita terkena spam sebaiknya
mempelajari nasihat dari URL berikut ini:
- http://hmif.if.itb.ac.id/web_artread.php?id=18
- http://help.yahoo.com/help/us/mail/spam/spam-03.html
Instalasi Spam Assassin
Spam assassin rada ribet instalasinya karena memerlukan dukungan modul perl
yang banyak, cara tercepat untuk menginstallnya adalah menghubungkan diri ke
CPAN:
# perl -MCPAN -e shell
cpan shell -- CPAN exploration and modules installation (v1.61)
ReadLine support enabled
cpan> install Mail::SpamAssassin
..........
cpan> quit
Karena penulis menggunakan SuSE 8.2 secara default script suse-ancient-rc-script.sh ( terletak di folder spamd dari source spam assassin) tidak mendukungnya, penulis merubah sedikit trick pada bagian dibawah ini, dan memindahkan ke folder /etc/init.d/ untuk proses automatisasi, dan jalankan service spam assassin nantinya (/etc/init.d/suse-ancient-rc-script.sh start) sebaiknya anda rename script itu ke nama yang lebih simpel :)
# Source SuSE config
if ! grep /etc/SuSE-release -e '^VERSION *= *[678]' &>/dev/null; then
Lalu pada file /etc/mail/spamassassin/local.cf, penulis melakukan perubahan-perubahan
sebagai berikut:
rewrite_header Subject *****Tukang Basmi SPAM*****
report_safe 1
Integrasi dengan postfix
Buat script /usr/bin/postfixfilter
# touch /usr/bin/postfixfilter
# chmod +x /usr/bin/postfixfilter
Isi script /usr/bin/postfixfilter (ada 2 metode yg bisa dipilih)
Jika anda maupun user di jaringan anda sekiranya tidak memerlukan untuk mengetahui
info soal spam maka anda bisa langsung delete setiap email yang memiliki skor
6 atau lebih. Kadang memudahkan kita menggunakan metode ini daripada terlalu
banyak email dibanjiri oleh informasi spam tersebut.
#!/bin/bash
# menghapus email jika tingkat nilai spamnya berada pada level 6 atau lebih
cd /tmp || exit 75
trap "rm -f out.$$" 0 1 2 3 15
cat | /usr/bin/spamc > out.$$
if /bin/egrep -q "^X-Spam-Level: \*{6,}" < out.$$
then
rm -f out.$$
else
cat out.$$ | /usr/sbin/sendmail -i "$@"
fi
exit 0
Namun jika anda tetep ingin agar user di jaringan anda mendapatkan info berupa
email mengenai siapa yang mengirim spam dan penjelasan mengenai spam yang didapatkan
tersebut maka isi script /usr/bin/postfixfilter adalah:
#!/bin/bash
/usr/bin/spamc | /usr/sbin/sendmail -i "$@"
exit $?
Kemudian untuk integrasinya dengan postfix maka modifikasi script dari master.cf
dari distribusi paket postfix anda: (/etc/postfix/master.cf)
smtp inet n - n - - smtpd -o content_filter=spamfilter:
spamfilter unix - n n - - pipe
flags=Rq user=spamfilter argv=/usr/bin/postfixfilter -f ${sender} -- ${recipient}
Kemudian restart postfix anda
# /etc/init.d/postfix restart
Test kirim email yang mengandung spam, terdapat di dalam source dari spam assassin,
dengan nama file sample-spam.txt dan sample-nonspam.txt, jika anda lihat pada
header file dari email yang dikirimkan ke kita kurang lebih harus ada kata-kata
berikut:
To: r00td
X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on mitra
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
version=3.0.1
Semoga anda bisa tidur dengan nyenyak sekarang :)