format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightSunucu Seviyesinde Anti-Spam Filtreleri: SpamAssassin Yapılandırması
- arrow_rightSpamAssassin Nedir ve Nasıl Çalışır?
- arrow_rightSpamAssassin'in Temel Çalışma Mekanizması
- arrow_rightSpamAssassin Kurulumu
- arrow_rightCentOS/RHEL Sistemlerde Kurulum
- arrow_rightUbuntu/Debian Sistemlerde Kurulum
- arrow_rightSpamAssassin Yapılandırma Dosyası
- arrow_rightAna Konfigürasyon Ayarları
- arrow_rightPuanlama Sistemi ve Eşik Değerleri
- arrow_rightGelişmiş Yapılandırma Seçenekleri
- arrow_rightBayes Filtreleme Ayarları
- arrow_rightRBL (Real-time Blackhole List) Yapılandırması
- arrow_rightDil ve Karakter Kodlaması Ayarları
- arrow_rightSpamAssassin Kuralları ve Özelleştirme
- arrow_rightÖzel Kurall Oluşturma
- arrow_rightWhitelist ve Blacklist Yönetimi
- arrow_rightPostfix Entegrasyonu
- arrow_rightMilter Yapılandırması
- arrow_rightAmavis ile Entegrasyon
- arrow_rightPerformans Optimizasyonu
- arrow_rightSpamd Önbellek Ayarları
- arrow_rightÖnbellek ve Veritabanı Yönetimi
- arrow_rightYapılandırma Sonrası Kontroller
- arrow_rightSpamAssassin Test Komutları
- arrow_rightGünlük İzleme ve Raporlama
- arrow_rightSpamAssassin Alternatifleri ile Karşılaştırma
- arrow_rightSonuç ve Öneriler
Sunucu Seviyesinde Anti-Spam Filtreleri: SpamAssassin Yapılandırması
Spam e-postalar, işletmelerin yılda ortalama 12.5 milyar dolar kayıp yaşamasına neden olmaktadır (Radical Fix Güvenlik Raporu, 2024). Sunucu seviyesinde etkili bir spam filtresi kullanmak, hem güvenlik hem de performans açısından kritik öneme sahiptir. SpamAssassin, açık kaynak kodlu yapısı ve esnek yapılandırma seçenekleriyle en yaygın kullanılan anti-spam çözümlerinden biridir.
SpamAssassin Nedir ve Nasıl Çalışır?
SpamAssassin, Apache Yazılım Vakfı tarafından geliştirilen, perl tabanlı bir spam filtreleme motorudur. Sistem, gelen e-postaları 100 üzerinden puanlama yöntemiyle değerlendirir. E-posta 5 puandan yüksek skor alırsa spam olarak işaretlenir, 5'in altındaki skorlar ise temiz kabul edilir.
SpamAssassin'in Temel Çalışma Mekanizması
Sistem, e-postaları birden fazla kriterden geçirir:
- Header Analizi: Gönderen adresi, konu satırı ve meta veriler kontrol edilir
- İçerik Taraması: E-posta gövdesindeki şüpheli kelime kalıpları tespit edilir
- DNSBL Kontrolü: Gönderen IP adresi kara listelerde mi kontrol edilir
- Bayes Filtreleme: Makine öğrenimi algoritmaları ile örüntü tanıma yapılır
- RBL (Real-time Blackhole List) Sorguları: Bilinen spam kaynakları sorgulanır
SpamAssassin Kurulumu
CentOS/RHEL Sistemlerde Kurulum
Enterprise Linux tabanlı sistemlerde aşağıdaki komutlarla kurulum gerçekleştirilir:
sudo yum update sudo yum install spamassassin sudo systemctl enable spamassassin sudo systemctl start spamassassin
Ubuntu/Debian Sistemlerde Kurulum
Debian tabanlı sistemlerde ise farklı paket yöneticisi kullanılır:
sudo apt update sudo apt install spamassassin spamc sudo systemctl enable spamassassin sudo systemctl start spamassassin
Kurulum sonrasında yapılandırma dosyası genellikle /etc/mail/spamassassin/ dizininde yer alır. Detaylı bilgi için sanal sunucu kirala hizmetlerimizi inceleyebilirsiniz.
SpamAssassin Yapılandırma Dosyası
Ana Konfigürasyon Ayarları
SpamAssassin'in ana yapılandırma dosyası local.cf olarak adlandırılır. Bu dosya üzerinden tüm temel ayarlar yapılır:
rewrite_header Subject [SPAM] required_score 5.0 report_safe 1 use_bayes 1 bayes_auto_learn 1 skip_rbl_checks 0 use_razor2 1 use_pyzor 1 ok_languages tr en ok_locales all
Puanlama Sistemi ve Eşik Değerleri
SpamAssassin'in en önemli parametrelerinden biri required_score değeridir. Bu değer, e-postanın spam olarak kabul edilmesi için gereken minimum skoru belirler:
| required_score Değeri | Spam Algılama Duyarlılığı | False Positive Oranı |
|---|---|---|
| 3.0 | Çok Yüksek | %15-20 |
| 5.0 | Orta (Önerilen) | %5-10 |
| 7.0 | Düşük | %1-3 |
| 10.0 | Çok Düşük | <%1 |
Gelişmiş Yapılandırma Seçenekleri
Bayes Filtreleme Ayarları
Bayes filtreleme, SpamAssassin'in en güçlü özelliklerinden biridir. Makine öğrenimi kullanarak spam ve meşru e-postaları öğrenir:
use_bayes 1 bayes_auto_learn 1 bayes_auto_learn_threshold_nonspam 0.1 bayes_auto_learn_threshold_spam 12.0 bayes_path /var/lib/spamassassin/bayes bayes_file_mode 0700
RBL (Real-time Blackhole List) Yapılandırması
Spam kaynağı olarak bilinen IP adreslerini kontrol eden RBL servisleri:
skip_rbl_checks 0 rbl_timeout 10 razor_timeout 5
En popüler RBL servisleri arasında Spamhaus, SORBS, UCEPROTECT ve Barracuda bulunmaktadır. RBL entegrasyonu ile spam e-postaların %60'a varan kısmı kaynak aşamasında engellenebilir.
Dil ve Karakter Kodlaması Ayarları
Türkçe e-posta trafiği için dil filtreleme kritik öneme sahiptir:
ok_languages tr en de fr ok_locales all # Türkçe karakter desteği ifplugin Mail::SpamAssassin::Plugin::TextCat textcat_max_languages 10 endif
SpamAssassin Kuralları ve Özelleştirme
Özel Kurall Oluşturma
SpamAssassin'in güçlü yönlerinden biri, özel kurallar tanımlayabilmektir:
# Özel spam kelime listesi body LOCAL_SPAM_WORDS /(viagra|casino|lottery|winner|prize|free money)/i score LOCAL_SPAM_WORDS 3.5 # Belirli domainlerden gelen e-postalar için ek puan header LOCAL_SPAM_FROM Reply-To =~ /spam-sender\.com/i describe LOCAL_SPAM_FROM Known spam source score LOCAL_SPAM_FROM 5.0 # URL kısaltma kontrolü body LOCAL_SHORT_URL /(bit\.ly|tinyurl|goo\.gl|ow\.ly)/i score LOCAL_SHORT_URL 1.0
Whitelist ve Blacklist Yönetimi
Güvenilir gönderenleri whitelist'e eklemek false positive oranını düşürür:
# Whitelist (güvenilir gönderenler) whitelist_from *@guvenilir-firma.com whitelist_from *@partner-sirket.com.tr whitelist_from [email protected] # Blacklist (spam kaynakları) blacklist_from *@bilinen-spam-kaynak.net blacklist_from *@shady-sender.com # Auto-whitelist (otomatik liste) use_auto_whitelist 1 auto_whitelist_path /var/lib/spamassassin/auto-whitelist
Postfix Entegrasyonu
Milter Yapılandırması
Postfix mail sunucusu ile SpamAssassin entegrasyonu için milter (mail filter) protokolü kullanılır:
# /etc/postfix/main.cf dosyasına eklenecek smtpd_milters = inet:localhost:8891 non_smtpd_milters = inet:localhost:8891 milter_default_action = accept
# /etc/default/spamassassin veya systemd servisi için SPAMDOPTIONS="-d --pidfile=/var/run/spamd.pid --socketpath=/var/run/spamd.sock --socketmode=0660"
Amavis ile Entegrasyon
Birçok sunucu yöneticisi SpamAssassin'i Amavis ile birlikte kullanmayı tercih eder:
# /etc/amavis/conf.d/20-debian_defaults @bypass_spam_checks_maps = (1); $spam_assassin_preferred_language = 'tr'; $sa_tag_level_deflt = 2.0; $sa_tag2_level_deflt = 6.3; $sa_kill_level_deflt = 10.0;
Performans Optimizasyonu
Spamd Önbellek Ayarları
Yüksek trafikli sunucularda performans kritik önem taşır:
# /etc/spamassassin/spamc.conf --max-children 5 --timeout 30 --tempfail
# spamd.service dosyasında [Service] ExecStart=/usr/bin/spamd -d --max-children=10 --max-requests=100 --helper-home-dir -i 127.0.0.1 -p 783
Önbellek ve Veritabanı Yönetimi
Bayes veritabanı düzenli olarak bakım gerektirir:
# Bayes veritabanı eğitimi sa-learn --sync sa-learn --dump magic # Veritabanı yeniden oluşturma (sorun yaşanırsa) sa-learn --rebuild
Yapılandırma Sonrası Kontroller
SpamAssassin Test Komutları
Yapılandırmanın doğru çalışıp çalışmadığını test etmek için:
# Spamassassin syntax kontrolü spamassassin --lint # Test e-postası ile spam skoru hesaplama spamassassin -t < /usr/share/doc/spamassassin/examples/sample-spam.txt # Bayes veritabanı durumu sa-learn --dump magic
Günlük İzleme ve Raporlama
SpamAssassin log dosyaları genellikle /var/log/mail.log konumunda bulunur. Düzenli log incelemesi yapılması önerilir:
# Son spam engellemelerini görüntüle grep "SPAM" /var/log/mail.log | tail -20 # SpamAssassin'e özgü loglar tail -f /var/log/mail.log | grep spamd
SpamAssassin Alternatifleri ile Karşılaştırma
| Özellik | SpamAssassin | Rspamd | DCC |
|---|---|---|---|
| Kurulum Kolaylığı | Orta | Orta | Kolay |
| Performans | Orta | Yüksek | Yüksek |
| Bayes Filtreleme | Evet | Evet | Evet |
| RBL Desteği | Evet | Evet | Sınırlı |
| Özelleştirme | Çok Esnek | Esnek | Sınırlı |
| RAM Kullanımı | 200-500MB | 100-300MB | 50-100MB |
Sonuç ve Öneriler
SpamAssassin, doğru yapılandırıldığında spam e-postaların %95'inden fazlasını engelleyebilir. Sunucu seviyesinde spam koruması için şu adımları izlemenizi öneririz:
- Temel yapılandırmayı bu rehberde belirtildiği şekilde gerçekleştirin
- required_score değerini 5.0 olarak başlatın ve ihtiyaca göre ayarlayın
- Bayes filtreleme özelliğini aktif edin ve düzenli eğitim yapın
- RBL servislerini entegre edin
- Düzenli log izleme yaparak false positive oranını kontrol edin
- Whitelist ve blacklist listelerini periyodik olarak güncelleyin
Unutmayın ki etkili bir spam filtresi, sürekli optimizasyon ve izleme gerektirir. IT danışmanlık hizmetlerimiz ile sunucu güvenliği konusunda profesyonel destek alabilirsiniz.