No pasaran

Jeszcze kilka lat temu spam był tylko stosunkowo mało szkodliwym efektem korzystania z dobrodziejstw Internetu. Obecnie jednak plaga ta nabrała takich rozmiarów, iż zaczęła wymagać zdecydowanego przeciwdziałania.

Najprostszą metodą jest profilaktyka, czyli ukrywanie swojego adresu e-mailowego lub podawanie go wyłącznie zaufanym osobom. Niestety, jak wskazuje praktyka, nawet w takim wypadku nasz adres prędzej czy później wpadnie w niepowołane ręce. Co więc robić, gdy nasza skrzynka pocztowa puchnie od niechcianych reklam? Najwyższy czas aby pomyśleć o innych metodach zabezpieczeń przed zalewem spamu.

O ile większość komercyjnych kont pocztowych zapewnia ochronę antyspamową, o tyle darmowe serwery nie zawsze oferują taki luksus – chyba że za dodatkową opłatą. Okazuje się jednak, że przy odrobinie samozaparcia sami możemy uporać się z pocztowymi śmieciami, nie wydając przy okazji ani złotówki. W walce ze spamem pomogą nam dowolna dystrybucja Linuksa oraz program bogofilter. Jest to filtr wykorzystujący mechanizm klasyfikacji treści Bayesa.

Jeżeli na własnym komputerze nie mamy zainstalowanego Pingwina, to możemy wykorzystać konto na serwerze sieci lokalnej (o ile oczywiście bazuje on na Linuksie i administrator zezwolił nam na dostęp do shella) lub posłużyć się jednym z darmowych kont powłoki. Musimy tylko mieć możliwość uruchamiania własnych programów oraz odbierania/wysyłania listów. Nie zaszkodzi zresztą skłonić samego administratora sieci do zainteresowania się programem filtrującym pocztę.

VIAGRA V1A.GRZE nierówna

W środowiskach uniksowych bardzo popularnym programem do filtrowania poczty jest procmail. Jego działanie sprowadza się do wymuszenia określonych reakcji na wcześniej zdefiniowane cechy charakterystyczne e-maila. Pozwala to na przykład na automatyczne kasowanie poczty od niektórych odbiorców, usuwanie listów pochodzących z określonego kraju lub zawierających w temacie konkretne słowa. Takie podejście ma jednak sporo wad. Po pierwsze: konfiguracja programu jest stosunkowo trudna. Po drugie:

procmail

potrafi niekiedy brutalnie potraktować ważny dla nas list. Wystarczy, że kolega wyśle do nas e-mail z tematem “kasa”, a procmail wyrzuci go do kosza, podobnie jak wiele innych ofert zdobycia fortuny. Wreszcie po trzecie –

procmail

wymaga wprowadzania praktycznie niekończących się poprawek do algorytmów filtrujących. Spamerzy imają się bowiem najróżniejszych sztuczek i na przykład zamiast “VIAGRY” oferują “V1A.GRĘ”. Program kwalifikuje taki list jako zwykłą, pożyteczną przesyłkę, ale dla człowieka sens wyrazu jest jednoznaczny: mamy do czynienia ze “śmieciami”.

Obecnie w walce ze spamem najlepiej sprawdza się metoda statystyczna, polegająca na badaniu występowania określonych zwrotów na podstawie bazy danych “podejrzanych” słów. Szacowane jest prawdopodobieństwo tego, czy przesyłka jest pożyteczna czy nie.

Pole walki

Przystąpmy zatem do walki ze spamem. Przede wszystkim musimy pobrać pocztę z serwera na nasz komputer. Najprościej wykorzystać do tego celu program fetchmail. Możemy uruchomić go ręcznie, ale wygodniej będzie przygotować specjalny plik konfiguracyjny dla aplikacji. Oszczędzi nam to mozolnego wklepywania komend.

Uruchamiamy dowolny edytor tekstu i w naszym katalogu domowym tworzymy plik konfiguracyjny

.fetchmailrc

(z kropką na początku):

poll serwer_poczty proto POP3
uidl user uzytkownik password
haslo_uzytkownika is
nazwa_uzytkownika_lokalnego
keep and no fetchall

Wypada wyjaśnić, co oznaczają przedstawione wyżej komendy. Nakazują one programowi fetchmail połączyć się z serwerem serwer_ poczty, zalogować jako uzytkownik, podać haslo_uzytkownika, a następnie pobrać tylko nowe listy (

no fetchall

) bez usuwania ich z serwera (

keep

). E-maile zostaną przesłane na konto nazwa_uzytkownika_lokalnego. Podajemy tu nazwę, pod jaką jesteśmy zalogowani w Linuksie.

Teraz po wydaniu polecenia fetchmail program pobierze zawartość skrzynki i umieści ją na naszym koncie lokalnym. Możemy sprawdzić pocztę, korzystając z dowolnego klienta e-mail (np. mutt czy pine). Jeżeli wszystko przebiega bez problemów, to po nabraniu zaufania do programu zamiast opcji keep wprowadzamy parametr no keep. W takiej sytuacji fetchmail automatycznie usunie pobrane e-maile.

Przystępujemy do wstępnego filtrowania poczty – tworzymy plik.forward zawierający tylko jedną linię:

|/usr/bin/procmail

Taki wpis wskazuje ścieżkę do programu procmail. Gdybyśmy nie byli pewni, gdzie umieszczono go na dysku, wydajemy polecenie which procmail .

Potrzebny będzie jeszcze plik konfiguracyjny .procmailrc. Ten zbiór także nie jest skomplikowany:

LOGFILE=$HOME/procmail.log

Pozwoli nam to śledzić drogę e-maila: w pliku procmail.log program zapisze informacje o analizowanej poczcie.

Więcej:bezcatnews