Po dlugich walkach, nieprzespanych nocach, hektolitrach wypitej kawy
zrobilem cos takiego
W dwoch zdaniach powiem na jakiej zasadzie to dziala:
Program skanuje zawartosc maila i na jego podstawie sprawdza czy plik jest spamem czy nie. Program moze sie sam uczyc, ja przeszedlem na reczna nauke
Paczka:
http://listonosz.com.pl/PKG/Mail-SpamAs ... pkg.tar.gz
Paczka man:
http://listonosz.com.pl/PKG/Mail-SpamAs ... pkg.tar.gz
paczka zal.1:
http://listonosz.com.pl/PKG/digest-sha1 ... pkg.tar.gz
paczka zal.1 man:
http://listonosz.com.pl/PKG/digest-sha1 ... pkg.tar.gz
paczka zal. 2:
http://listonosz.com.pl/PKG/db_file-1.8 ... pkg.tar.gz
paczka zal. 2 man:
http://listonosz.com.pl/PKG/db_file-man ... pkg.tar.gz
paczka zal.3:
http://listonosz.com.pl/PKG/html_parser ... pkg.tar.gz
paczka zal.3 man:
http://listonosz.com.pl/PKG/html_parser ... pkg.tar.gz
najlepij instalowac pacman -U paczka paczka zal.1 paczka zal.2 paczka zal.3
Oczywiscie zamienic to na linki ;]
Przejdzmy do konfiguracji:
cd /etc/mail/spamassassin
mamy pliki:
[root@router spamassassin]# ls
init.pre local.cf v310.pre v312.pre
edytujemy local.cf
ZMIENCIE LINIE: trusted_networks 10.10.10.
[root@router spamassassin]# cat local.cf
# This is the right place to customize your installation of SpamAssassin.
#
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
# tweaked.
#
# Only a small subset of options are listed below
#
###########################################################################
# Add *****SPAM***** to the Subject header of spam e-mails
#
rewrite_header Subject *****SPAM*****
# Save spam messages as a message/rfc822 MIME attachment instead of
# modifying the original message (0: off, 2: use text/plain instead)
#
report_safe 0
# Set which networks or hosts are considered 'trusted' by your mail
# server (i.e. not spammers)
#
trusted_networks 10.10.10.
# Set file-locking method (flock is not safe over NFS, but is faster)
#
# lock_method flock
# Set the threshold at which a message is considered spam (default: 5.0)
#
required_score 3.5
# Use Bayesian classifier (default: 1)
#
use_bayes 1
# Bayesian classifier auto-learning (default: 1)
#
bayes_auto_learn 1
# Set headers which may provide inappropriate cues to the Bayesian
# classifier
#
# bayes_ignore_header X-Bogosity
# bayes_ignore_header X-Spam-Flag
# bayes_ignore_header X-Spam-Status
reszte plikow nie ruszamy.
Nastepnie edytujemy config exima
pod linia "begin transports" dopisujemy:
# SpamAssassin
spamcheck:
driver = pipe
command = /usr/sbin/exim -oMr spam-scanned -bS
use_bsmtp = true
transport_filter = /usr/bin/spamc
home_directory = "/tmp"
current_directory = "/tmp"
# must use a privileged user to set $received_protocol on the way back in!
user = mail
group = mail
log_output = true
return_fail_output = true
return_path_add = false
message_prefix =
message_suffix =
oraz pod linia "begin routers" wpisujemy u mnie jest to nawet nizej pod taki wpisem "# dodane procmail" pod tymi komentarzami ale pod begin routers tez mi dzialalo:
# SpamAssassin
spamcheck_router:
no_verify
check_local_user
# When to scan a message :
# - it isn't already flagged as spam
# - it isn't already scanned
condition = "${if and { {!def:h_X-Spam-Flag:} \
{!eq {$received_protocol}{spam-scanned}} \
{!match {h_X-Amavis-Alert:}{^INFECTED}} } {1}{0}}"
driver = accept
transport = spamcheck
Nie wiem czy jest to poprawne polozenie ale tak mi to chodzi.
Uruchamiamy
/etc/rc.d/SpamAssassin start
/etc/rc.d/exim restart
teraz sciagamy plik:
http://listonosz.com.pl/download/spam
Jest to plik w ktorym mamy okolo 100 maili spamu
i robimy cos takiego:
sa-learn --spam --mbox spam
troszke to potrwa
cala zabawa polega na tym aby potrafil rozróznic maile prawdziwe i spam wiec proponuje zanim odbierzecie maile wejsc przez ssh na serwer zobaczyc co macie w pliku z poczta (/var/mail/...) jezeli nie ma spamu to:
sa-learn --ham --mbox /sciezka/do/pliku
Skanowanie maila na DUronie 650MHz trwa okolo 5s

nie wiem co sie bedzie dzialo z maiali z zalacznikami. Jeszcze tego nie trenowalem. Czy trzeba dokladac jakies ograniczenia??