Poniższy opis jest częściowo nieaktualny. Używam teraz Spamassassina, bo Evolution lepiej się z nim integruje. Pozostawiam opis w takim stanie jak jest, może komuś się przyda.
Dostaję koło 30 spamów dziennie. Przy takiej ilości wystarcza mi automatyczne wrzucanie rozpoznanego spamu do osobnego foldera poczty. Zaglądam do niego w wolnej chwili dla sprawdzenia, czy jakiś dobry list nie dostał się tam przez pomyłkę.
Wykrywaniem spamu zajmują się dwa narzędzia: bogofilter analizuje treść listu, a adres IP, z którego przyszedł list, jest sprawdzany na ogólnodostępnych czarnych listach.
Bogofilter analizuje częstości występowania słów w listach i oblicza prawdopodobieństwo, że dany list jest spamem, znając rozkłady częstości słów w dotychczasowych spamach i niespamach.
Jeśli się pomyli, należy ręcznie przepuścić przez niego list
z poprawioną klasyfikacją (opcje -Ns albo
-Sn), żeby ten list nie psuł statystyki słów na
przyszłość.
W Internecie jest wiele ogólnodostępnych czarnych list adresów IP, z których zdaniem administratorów tych list nie warto przyjmować poczty. Oto niektóre spisy takich list: Blacklists Compared, DNS-based Spam Databases, DNSBL Zones.
Uwaga: lista SPEWS poza samymi spamerami uwzględnia też całe sieci dostawców Internetu, którzy ignorują zgłoszenia spamu swoich klientów.
Typowym sposobem użycia takiej listy jest skonfigurowanie
serwera pocztowego, żeby odmawiał przyjęcia poczty, jeśli
adres komputera, który próbuje przekazać mu list, znajduje się
na czarnej liście. Ja jednak zorganizowałem to sobie inaczej,
bo mój serwer poczty nie jest tym, który pierwszy dostaje list
zaadresowany do mnie. Patrzę mianowicie na odpowiedni nagłówek
Received — pierwszy po pominięciu tych, które
dopisały serwery odbierające dla mnie pocztę. Jeśli adres z tego
nagłówka znajduje się na którejś czarnej liście, to list wpadnie
do folderu spam zamiast do głównej skrzynki pocztowej.
Napisałem
skrypt w perlu wyciągający i sprawdzający adres
na czarnych listach. Na wejściu dostaje list (wystarczą same
nagłówki), na wyjściu pojawia się ten sam list wzbogacony o
nagłówek X-Blacklisted z wartością zaczynającą się
od Yes albo No. Na początku skryptu
są parametry do indywidualnego ustawienia:
Używam następujących czarnych list:
Stwierdziłem natomiast, że blackholes.five-ten-sg.com i no-more-funn.moensted.dk są za bardzo agresywne i radzą odrzucać za dużo adresów, z których przychodzą do mnie dobre listy.
Oto mój plik ~/.procmailrc:
:0 fw
| bogofilter -upe3
:0 hfw
| check-mail-blacklists.pl
:0 c
* ^X-Bogosity: Unsure
* ^X-Blacklisted: Yes
| bogofilter -s
:0 c
* ^X-Bogosity: Unsure
* ^X-Blacklisted: No
| bogofilter -n
Wyjaśnienie:
X-Bogosity Z opcją -3 mogą
być trzy odpowiedzi: Yes (spam), No
(niespam) albo Unsure (trudno powiedzieć). Przy
Yes albo No bogofilter uaktualnia
swoją statystykę słów w spamach i niespamach dla lepszego
kwalifikowania przyszłych listów. Próg spam_cutoff
w .bogofilter.cf mam ustawiony na 0.90 (domyślnie
był mniej agresywny, 0.95).
X-Blacklisted, zaczynający się na
Yes (jeśli którakolwiek czarna lista ma dany
adres) albo No.
Unsure, to
bogofilter uaktualnia swoje statystyki na podstawie odpowiedzi
z czarnych list.
Jeśli bogofilter uznał list za spam albo jeśli nie był pewien, ale adres nadawcy był na czarnych listach, to z dużym prawdopodobieństwem jest to spam i mój klient poczty wrzuca go jako przeczytanego do folderu ze spamem. Ja takiego listu nie oglądam, chyba że przypadkiem tam kiedyś zajrzę.
Jeśli według bogofiltra nie jest to spam, ale adres był na którejś czarnej liście, to list ląduje w specjalnym folderze, który przeglądam, żeby dodać adres do whitelisty albo żeby usunąć zbyt radykalną czarną listę.
Niecałe 4% spamu nie jest rozpoznawane. Takie przypadki ręcznie
przepuszczam przez bogofilter -Ns, żeby nie psuły
statystyki. Odwrotna sytuacja zdarza się bardzo rzadko.
|
|
|