Monday, January 03, 2005 16:16:42

Postfix dan spam assassin

Article and tutorial that related to Linux Operating System  
Ada dua hal yang sangat mengganggu saat kita menerima email, yaitu virus, hoax dan Spam. Spam adalah suatu pesan yang tidak dikehendaki oleh pembacanya, dan seringkali berupa iklan suatu produk. Penulisan kali ini lebih memusatkan perhatian pada penanganan menghadapi spam, yang bener-bener mengganggu jaringan kita.
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 :)


Permalink logo del.icio.usadd to del.icio.us | view as pdfview as pdf