Mail sunucularında spam trafiğini etkili bir şekilde yönetmek, kurumsal ortamlar için kritik bir öneme sahiptir. SpamAssassin, açık kaynaklı bir spam filtreleme aracı olarak, e-posta akışını analiz ederek istenmeyen mesajları tespit eder ve filtreler. Bu araç, varsayılan ayarlarıyla bile yüksek performans sunsa da, tuning işlemleriyle doğruluğunu ve hızını önemli ölçüde artırabilirsiniz. Bu makalede, SpamAssassin’i mail sunucunuzda optimize etmek için adım adım rehberlik sunacağız. Pratik konfigürasyonlar, skor ayarları ve performans ipuçları ile spam tespit oranınızı yükseltecek, yanlış pozitifleri minimize edeceksiniz. Tuning süreci, sunucunuzun trafik hacmine, kullanıcı davranışlarına ve ağ yapısına göre uyarlanmalıdır.
SpamAssassin’i etkinleştirmek için öncelikle kurulumun tamamlandığından emin olun. Postfix veya Exim gibi mail transfer ajanlarıyla entegrasyon sağlayın. Ana konfigürasyon dosyası /etc/mail/spamassassin/local.cf olarak bulunur. Bu dosyayı düzenleyerek temel parametreleri ayarlayın. Örneğin, required_score 5.0 olarak belirleyerek spam olarak işaretlenecek minimum skoru tanımlayın. Bu değer, düşük tutulursa daha fazla spam yakalanır ancak yanlış pozitif riski artar; yüksek tutulursa ise bazı spamlar kaçabilir. Sunucunuzdaki günlük e-posta hacmini göz önünde bulundurarak 4.0-6.0 arası bir değer seçin.
Başka bir önemli ayar, use_bayes 1 parametresidir. Bayes filtrelemesini etkinleştirir ve kullanıcı bazlı öğrenmeyi sağlar. Ayrıca, report_safe 0 ile spam raporlarını orijinal mesajı koruyarak işleyin. Bu ayarları yaptıktan sonra SpamAssassin servisini yeniden başlatın: systemctl restart spamassassin. Test için sa-learn komutunu kullanarak ham e-postaları eğitin: sa-learn –spam /path/to/spam/mail ve sa-learn –ham /path/to/good/mail. Bu işlem, filtreyi yerel verilerle güçlendirir ve ilk haftalarda skor doğruluğunu %20-30 oranında iyileştirir.
SpamAssassin, yüzlerce kuralı skorlarla değerlendirir. Varsayılan skorlar genel kullanım için uygundur ancak tuning ile özelleştirin. 50_bayes.cf dosyasını inceleyin ve bayes_prob_strength 0.5’e ayarlayın; bu, Bayes olasılıklarını daha dengeli hale getirir. Özel kurallar eklemek için local.cf’ye score RCVD_IN_DNSWL_MED -0.1 gibi satırlar yazın. DNSWL gibi whitelist’leri entegre ederek güvenilir IP’leri düşük skorla ödüllendirin. Kurumsal ortamda, kendi domain’lerinizi whitelist’e ekleyin: whitelisting DOMAINEXAMPLE 0.
Özel kurallar tanımlamak için meta kurallar kullanın. Örneğin, header __MY_CUSTOM_RULE exists:From gibi bir kural yazıp score MY_CUSTOM_RULE 2.0 verin. Bu, belirli header’lara dayalı filtreleme sağlar. Kuralları test etmek için spamassassin –lint komutunu çalıştırın; hataları önceden yakalar. Pratikte, phishing e-postaları için body __PHISH_REGEX /banka|hesap/gi score PHISH_REGEX 3.5 ekleyin. Bu ayar, Türkçe spam’leri daha iyi yakalar ve günlük trafiği analiz ederek skorları iteratif olarak güncelleyin.
Whitelist için def_whitelist_from *@guvenilirfirma.com -2.0 ekleyin; bu, skor düşüşü sağlar. Blacklist için blacklist_from *@spamdomain.com 4.0 tanımlayın. Dinamik listeler için razor2 ve pyzor entegrasyonunu etkinleştirin: razor_config /etc/mail/spamassassin/razor.conf. Bu servisler, topluluk tabanlı raporlarla skoru güçlendirir. Haftalık olarak logları inceleyin (/var/log/maillog) ve ineffective kuralları devre dışı bırakın: score RULE_NAME 0.0.
Yüksek trafikli sunucularda SpamAssassin gecikme yaratabilir. Öncelikle, max_children 5 ve max_conn_per_child 200 ayarlarıyla işlem sayısını sınırlayın. SQL tabanlı Bayes için enable_sql 1 ve sql_config /etc/mail/spamassassin/sql.cf kullanın; bu, birden fazla sunucuda veritabanı paylaşımını sağlar. Bellek kullanımını optimize etmek için fold_headers 1 ekleyin. Performansı test etmek için mailq komutuyla kuyrukları izleyin ve spamc -u kullanıcı -s 262144 ile büyük mesajları işleyin.
Logları /var/log/spamassassin/spamd.log’da inceleyin. Yüksek hit kurallarını belirleyin ve skorlarını ayarlayın. Örneğin, AWL skoru yüksekse awl_enabled 1 ile otomatik whitelist oluşturun. Aylık olarak sa-learn –dump magic ile Bayes istatistiklerini kontrol edin; %99.9 üzeri doğruluk hedefleyin. Bu döngü, filtreyi sürekli geliştirir.
CPU yükünü azaltmak için pre_screen 1 ekleyin; basit kontrolleri ön plana alır. Disk I/O için bayes_path’i RAM diske taşıyın: tmpfs mount. Monitör araçlarıyla (örneğin, munin) SpamAssassin metriklerini takip edin ve eşik aşımlarında uyarı kurun. Bu adımlar, 1000+ e-posta/dk hacimde bile %1’den az gecikme sağlar.
SpamAssassin tuning’i, sistematik bir yaklaşımla uygulandığında mail sunucunuzun güvenilirliğini artırır. Temel konfigürasyonlardan başlayarak skor ince ayarına ve performans optimizasyonuna geçin. Düzenli testler ve log incelemeleriyle filtreyi uyarlayın. Bu rehberi takip ederek, spam oranınızı %90’ın üzerine çıkarabilir, kullanıcı memnuniyetini yükseltebilirsiniz. Tuning’i prodüksiyona almadan staging ortamında doğrulayın ve ekip üyeleriyle paylaşın.