Instalacja Konfiguracja spamassassin'a Uruchomienie, zatrzymanie itd. Spamassassina Konfiguracja Evolution Test działania Ustawiamy podstawowe filtry Filtry (sieci) Bayesian Konfiguracja użytkownika Konfiguracja Kmail dodane 30/04/2004 Włączamy konsole i logujemy się jako root
jako, ze działamy pod Mandrake nie musimy się męczyć i instalujemy assassina jednym poleceniem:
Jeśli z jakiś powodów ww sposób nie działa musimy zainstalować poniższe pakiety:
poleceniem:
Jeśli i to zawiedzie pozostaje kompilacja ze źródeł. Jak to wykonać wykracza po za ramy tego HOWTO... (czyt. nie chce mi sie pisac) :)
przechodzimy jako root do katalogu:
Moja zawartość tego pliku wygląda tak:
"Czułość" spamassassina reguluje linia - required_hits . W zależności jaka będzie tam liczba mail będzie częściej lub rzadziej kwalifikowany jako spam. Na początku sugeruje ustawienie liczby z okolic 4-6. Potem sukcesywnie powoli ją zwiększać. Jeśli chcemy móc posiadać własne ustawienia i własne reguły MUSIMY dodać do konfigu linie: allow_user_rules 1 Swoje własne ustawienie można wygenerować tutaj: http://www.yrex.com/spam/spamconfig.php Sprawdzenie stanu:
Restart:
Zatrzymanie:
Uruchomienie:
Teraz gdy mamy juz uruchomionego demona (spamd) możemy do niego podłączyć jakiś program pocztowy. O piszę konfigurację na przykładzie programu Evolution.Włączmy program:
Wybieramy: i ustawiamy opcje jak na obrazku poniżej: ![]() klikamy OK i przesuwamy regułę na sam szczyt listy reguł: ![]() potwierdzamy OK. Aby
przetestować działanie demona wyślijmy do siebie 2 testowe mail'e.
Powinniśmy wysłać je na konto na serwerze poza Twoja siecią. Obu nadajmy
temat "Test". Treść pierwszego mail'a :
Treśc drugiego mail'a:
Po odebraniu poczty powinno się okazać, że tematy obu mail'i zostały zmienione na "*****SPAM***** Test". Zaglądamy do nagłówka mail'a (Widok / Wyświetlanie listu / Wyświetlanie wszystkich nagłówków) i powinniśmy na jego końcu zobaczyć coś ZBLIZONEGO do tego:
i tego:
jeśli tak będzie nasz zabójca (assassin) działa poprawnie. Tworzymy nowy filtr:
lub bardziej zaawansowana wersja: ![]() i umieszczamy go PONIŻEJ filtru Assassin. Musimy oczywiście wcześniej stworzyć katalog "!Spam" do którego będziemy przenosić niechcianą pocztę. Później gdy będziemy już pewni działania naszego programu możemy regułę zmienić na poniższą: ![]() W tym miejscu można zostawić juz program albo czytać dalej :) Jeśli w local.cf ustawiliśmy:
mamy je włączone. Jeśli nie trzeba ww frazę dopisać i zrestartować spamd (jak? było podane wcześniej) Co to są sieci Bayesian? Bayesian Filtering to metoda filtrowania poczty elektronicznej. Dzięki niej filtry antyspamowe automatycznie dostosowują się do specyfiki otrzymywanej poczty i na bieżąco tworzą jej profil, który może ulegać zmianie w czasie. Idea filtrowania Bayesian opiera się na statystycznej analizie częstotliwości występowania słów (czy też określonych znaków, np. $%&) w normalnych wiadomościach e-mail oraz w tych, które są klasyfikowane jako spam. Zasadę działania analizy Bayesian najlepiej zobrazuje ten oto przykład. Zakładamy, że w danym okresie czasu otrzymaliśmy 2000 listów elektronicznych sklasyfikowanych jako spam. W 700 z nich wystąpiło słowo "zarabiaj", a w tym samym okresie czasu otrzymaliśmy 400 wiadomości, które spamem nie były. W 5 z nich wystąpiło słowo "zarabiaj", stąd wynika równanie: (700/2000)/(5/400+700/2000) = 0,96 Na
podstawie powyższej analizy, wiadomości ze słowem "zarabiaj" traktowane
będą jako spam, gdyż prawdopodobieństwo, że faktycznie nim są okazuje
się bardzo wysokie, równe 0,96 (maksymalna wartość jest równa 1 i
oznacza stuprocentową pewność, minimalna wartość jest równa 0 i
odpowiada całkowicie zwyczajnej poczcie). Warto podkreślić elastyczność
takiej analizy - jeśli w wiadomościach wychodzących zwiększy się
częstotliwość występowania określonego słowa (np. "zarabiaj"), to wynik
się zmieni. Całość operacji nie jest oczywiście przeprowadzana dla
jednego słowa, analizie poddawana jest cała wiadomość, co zwiększa
skuteczność tej metody. Należy także zwrócić uwagę na dodatkową zaletę -
niezależność od języka w jakim prowadzona jest korespondencja. (Na podstawie http://www.it-faq.pl/itfaqarticle.asp?id=341) Jak teraz nauczyć czegoś nasz filtr? Zaznaczamy wszystkie mejle które uznajemy za spam (trzymamy CTRL i klikamy kolejne), klikamy prawym, wybieramy "Zapisz jako" i zapisujemy np. do /tmp jako plik o nazwie box. Zapisane mail'e (czyt. spam) KASUJEMY. Następnie otwieramy konsole JAKO ODPOWIEDNI UŻYTKOWNIK, np. jeśli logujemy się jako jacek i jako jacek używamy evolution to w konsoli ma być coś podobnego:
teraz klepiemy:
Gotowe! Jak widać z 48 mail'i filtr użył do nauki 43 (pozostałe zapewne juz były wcześniej analizowane). Dobrze jest teraz pokazać mu jakieś dobre listy. Zaznaczamy NIE-SPAM, zapisujemy jako /tmp/box (nadpisujemy poprzedni plik). I wykonujemy polecenie:
I to wszystko. Co jakiś czas warto powtórzyć ww operacje z nowymi mail'ami. Wg moich spostrzeżeń po przeanalizowaniu 80-250 listów ze spamem, zaczyna to wszystko działać naprawdę dobrze. Spamassassin wszystkie spersonalizowane ustawienia trzyma w katalogu ~/.spamassassin . Znajdziemy tam zapewne kilka różnych plików ale nas interesuje konkretnie jeden - user_prefs . Jeśli takiego nie ma należy go stworzyć. Zasadniczo nie ma potrzeby tworzenia własnych regułek jeśli stosujemy Bayesian, ale jeśli chcemy... Ja sobie dopisałem (aby wyżej punktować pewne frazy) takie coś:
O co w tym chodzi? To dość proste. Tworzymy pewną grupę. np. o nazwie ONET_SPAM która będzie w TREŚCI mail'a (body) wyszukiwać frazę "List został wysłany za zgodą użytkowników OnetPoczty":
czyli:
W ww przypadku znacznikiem jest „i” - co oznacza, że regułka nie będzie sprawdzać wielkości liter. Następnie podajemy jak wysoko punktujemy daną regułkę:
Pokaże jeszcze jedną rzecz. Trochę bardziej zaawansowane pisanie regułek:
|