Kurulum için
http://spamassassin.apache.org/downloads.cgi adresinden en son sürümü indirebilirsiz. Paketler
.tar.gz,
.tar.bz2,
.zip biçiminde temin edilebilir. Tar paketlerini RPM haline getirdikten sonrada kurulum yapmayı tercih edebilirsiniz.
.tar.gz paketi için,
rpmbuild -tb Mail-SpamAssassin-3.0.2.tar.gz
.tar.bz2 paketi için,
rpmbuild -tb --define "srcext .bz2" Mail-SpamAssassin-3.0.2.tar.bz2
ile RPM paketini oluşturduktan sonra
Ya da tar paketini açıp;
tar -zxvf Mail-SpamAssassin-3.0.2.tar.gz
paketin açıldığı dizine geçip;
perl Makefile.PL
make
su -c 'make install'
komutları ile kurulumu gerçekleştirebilirsiniz. spamassassin Perl dilinde yazılmıştır.Bu yüzden sistemde perl kurulu olmalıdır. Perl modüllerinin bağımlılıklarıyla uğraşmak istemiyorsanız ve de sisteminizde apt-get kurulu ise:
apt-get install spamassassin
komutuyla kurulumu yapabilirsiniz. Böylece paket bağımlılıkları ile uğraşmak zorunda kalmazsınız. apt-get gerekli olan tüm paketleri bağımlılıklarına bakarak sisteminize kurar. Kurulumdan hemen sonra spamassassin'i sınayabilirsiniz. Sınamak için ornek.txt adlı boş bir dosya oluşturun ve aşağıdaki komutu kullanın.
spamassassin -t < ornek.txt > ornek.out
| Uyarı |
---|
spamassassin'in 2.6x serisi bir sürümünü kullanıyorsanız apt-get kullanarak en çok 2.64 sürümünü yükleyebilirsiniz. Eğer spamassassin'i 3.x sürümüne yükseltmek istiyorsanız 2.64 sürümünü kaldırmanız gerekir:
Daha sonra spamassassin'in 3.02 sürümünü yükleyebilmek için ilk önce perl-mail-spamassassin paketini yüklemeleyiz:
rpm -ivh perl-mail-spamassassin-3.0.2.1.i386.rpm
rpm -ivh spamassassin-3.0.2.1.i386.rpm
|
Şimdi
spamassassin hizmetini başlatabirsiniz. Eğer
perl ile derleyerek kurmak istiyorsanız, yine işe 2.6 sürümünü kaldırmakla başlayın.
spamassassin 3.x sürümüyle bazı yeni yetenekler kazanmış ve 2.6x sürümünde kullandığı bazı özellikleri değiştirmiştir. Biz her iki sürümün ortak özelliklerinden de bahsetmeye çalışacağız. Daha ayrıntılı bilgi için
http://spamassassin.apache.org/full/3.0.x/dist/UPGRADE adresine bakın.
Kurulum sonrasında
spamassassin'in yapılandırma dosyası
/etc/mail/spammassassin dizininin altında bulunur. Bu dosyanın adı
local.cf'dir. Örnek bir
local.cf oluşturmak için
http://www.yrex.com/spam/spamconfig.php adresinde bir yazılım mevcuttur. Yanlız bu yazılım
spamassassin'in 2.5 serisi için yapılandırma dosyası üretmektedir. Üretilen
local.cf dosyaları 2.6 ve 3.0 sürümlerinde doğru çalışmayabilir.
spamassassin'in ayarlarını şu şekilde sınayabilirsiniz:
Bu komut local.cf dosyasındaki kabul edilmeyen girdileri bize listeler. Bu şekilde yapılandırmamızı sınayabiliriz. -D seçeneği hata ayıklama yapabilmeyi sağlar. Aşağıda spamassassin'in 3.x sürümü için bir local.cf örneği verilmiştir.
# Bu dosya 3.x versiyonu için düzenlenmiştir.
# Kullandığınız Spamassassin versiyonuna ve sisteminizin durumuna
# göre yapılması gereken değişiklikler olabilir.
# How many hits before a message is considered spam. required_hits 5.0
# Text to prepend to subject if rewrite_subject is used
rewrite_header Subject ****SPAM(_SCORE_)****
# Encapsulate spam in an attachment
report_safe 1
# Enable the Bayes system
use_bayes 1
# Enable Bayes auto-learning
bayes_auto_learn 1
# Enable or disable network checks
skip_rbl_checks 0
use_razor2 1
use_pyzor 1
# Allows users to create rules
allow_user_rules 1
# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_languages all
# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales all
Şimdi yapılandırma dosyasından bazı satırları açıklamaya çalışalım:
- required_hits 5.0
Bir iletini 5.0 puanı aştıktan sonra spam olarak değerlendirileceği anlamına gelir. Bu sayıyı arttırmak spam yakalama ihtimalini azaltır.
- rewrite_header Subject ****SPAM(_SCORE_)****
Spam olarak işaretlenen iletinin konu kısmına spam skoru ile birlikte spam yazar. _SCORE_ özelliği 3.0 sürümü ile birlikte gelmiştir. Bu özellik iletinin kaç puanla spam olarak işaretlendiğini belirtir. Daha önceki sürümlerde bu özellik kullanılamaz. Daha önceki sürümlerde bu satırın yerine
rewrite_subject 1
subject_tag ****SPAM****
satırları vardı.
- report_safe 1
Eğer ileti spam olarak işaretlenmişse, orjinal iletinin kullanıcıya bir eklenti olarak gönderilmesini sağlar. Bu özellik kullanıcının iletiyi doğrudan görmesini engeller.
- use_bayes 1
- bayes_auto_learn 1
Bu iki satır Bayes öğrenme yöntemi ile ilgili olan satırlardır. Temeli
Thomas Bayesian adlı matamatikçi tarafından geliştirilren bu yöntem,
eğer spam olan bir ileti içerisindeki karakterler ve işaretler bir başka ileti içerisinde de geçiyorsa muhtemelen o ileti de spamdır, ilkesine göre çalışır. Bu yöntem daha önce gelen iletileri esas alarak, olasılık hesaplarıyla, bir sonraki iletinin spam olup olmadığını tahmin ederek işler.
- skip_rbl_checks 0
- use_razor2 1
- use_pyzor 1
Bu satırlar daha sonra ayrıntılı olarak değineceğimiz, spamassassin'in razor, pyzor ve dcc gibi uygulamalarla bir bütünlük içinde çalışmasını sağlıyacak satırlardır.
skip_rbl_checks değerini 1 yaparsanız karaliste (RBL) denetimi yapılmaz.
- allow_user_rules 1
Bu satır kullanıcıların kendilerine özel kurallar oluşturmalarına izin verir. Bu kurallar kullanıcıların ev dizini altındaki ~/.spamassassin/user_prefs adlı dosyada tutulmalıdır. Kullanıcılara özel kurallar uygulamak istiyorsanız bu dosyayı muhakkak oluşturmanız gerekir. Bu dosyanın içeriği de local.cf dosyası gibi olacaktır.
- ok_languages all
- ok_locales all
Bu satırlarda ise belirtilen diller ve karakter kümeleri iel yazılmış iletilerin spam potansiyeli taşımadığını belirtiyoruz. Örneğin ok_languages turkish yazmış olsaydık, türkçe olan iletilerin spam olamayacağını belirtmiş olurduk. ok_locales chinese yazarsak çince karakter içeren iletiler spam değildir demiş oluruz. Öntanımlı olarak tüm diller ve karakter kümeleri seçilmiştir.
Şimdi bazı ek özelliklerede göz atabiliriz. Bir alan adından gelen tüm iletileri spam olarak işaretlemek istiyorsak,
blacklist_from *@spamcı.dom
blacklist_from *@budaspamcı.dom
satırlarını eklemeliyiz. Benzer bir şekilde yukarıdaki adreslerden gelen iletilerin hiçbir zaman spam olarak değerlendirilmemelerini istiyorsak,
whitelist_from *@spamcı.dom
whitelist_from *@budaspamcı.dom
satırlarını eklemeliyiz. Bir iletinin içine kullanıcıları bilgilendirmek amacı ile ileti ekleyebiriz. Bu ileti özgün iletiye eklenir. Bunu için yine local.cf dosyasına aşağıdaki satırları eklememiz gerekir.
clear_report_template
report bu ileti spam olabilir.
report eger spam olmadıgını düsünüyorsanız
report destek@linuxegitim.com adresine iletiniz.
Anlaşılacağı üzere report deyimi ekleyeceğimiz iletiyi satırlar halinde oluşturmamızı sağlıyor. Bir de bu özelliğin etkin olabilmesi için yukarıdaki satırlara ek olarak report_safe 0 satırı
haline getirilmelidir.