Obrona przed spamem w systemie Linux

Obecnie około 50% wiadomości krążących w Sieci to spam. Ledwo postawisz własny serwer pocztowy, a już pojawią się pierwsze reklamy. Filtr poczty elektronicznej SpamAssassin pozwoli ci szybko odzyskać kontrolę nad sytuacją.

Obecnie około 50% wiadomości krążących w Sieci to spam. Ledwo postawisz własny serwer pocztowy, a już pojawią się pierwsze reklamy. Filtr poczty elektronicznej SpamAssassin pozwoli ci szybko odzyskać kontrolę nad sytuacją.

Przesyłanie wiadomości elektronicznych to każdego dnia znacząca część całego ruchu danych w globalnej Sieci. Niestety, większość z nich nie ma nic wspólnego z bezpośrednią komunikacją między zainteresowanymi stronami. Zamiast tego, ponad połowa wiadomości zawiera reklamy, w dodatku najczęściej w najbardziej niepożądanej przez odbiorcę formie, czyli w formie spamu.

Najdotkliwiej odczuwają ten problem ci użytkownicy, którzy często i chętnie prowadzą komunikację przez Internet, lub są aktywni na forach dyskusyjnych. Dzięki specjalnym programom - robotom, które przeszukują Internet w poszukiwaniu użytecznych adresów e-mail, to właśnie ich adresy najszybciej trafiają na listy adresowe spamerów.

Jednak ofiarą spamerów może paść również ten, kto chroni swój adres, nie bierze udziału w publicznych dyskusjach i trzyma się z dala od ofert, które wymagają podania adresu e-mail. Rzecz w tym, że ci ostatni nie ograniczają się już do zbierania istniejących, rzeczywistych adresów, lecz próbują szczęścia generując adresy losowo. Jedyna skuteczna obrona przed spamem to filtry wiadomości, które oddzielają ziarno od plew i dbają o spokój na serwerze pocztowym i skrzynce odbiorczej klienta poczty.

SpamAssassin - elastyczny filtr wiadomości pocztowych

Filtr wiadomości pocztowych SpamAssassin ( http://www.spamassassin.org ) cieszy się wielką popularnością, szczególnie wśród użytkowników Linuksa. Utworzony w języku skryptów Perl ( http://www.perl.org ) pakiet oferuje bogaty zestaw funkcji do wykrywania niechcianej poczty i dlatego też wchodzi w skład większości dystrybucji Linuksa. SpamAssassin stosuje różne procedury do zbadania, czy otrzymana wiadomość może być spamem:

  • kryteria statystyczne, na przykład udział kodu HTML w treści wiadomości

  • znane cechy spamu, jak sfałszowane dane o wykorzystanym kliencie poczty w nagłówku wiadomości

  • porównanie nadawcy z wieloma listami znanych spamerów

  • filtry Bayes'a, czyli moduł w znacznej mierze samouczący do rozpoznawania spamu.

Niestety, walka ze spamem przypomina wyścig, jaki toczą ze sobą autorzy wirusów i producenci oprogramowania antywirusowego. Pojawiają się coraz nowsze metody maskowania spamu jako zwykłych wiadomości. Odpowiednio do tego, filtry antyspamowe stosują ciągle nowe algorytmy do rozpoznawania spamu.

Wbudowany instalator - SpamAssassin, podobnie jak wiele innych programów w języku Perl, najłatwiej zainstalować za pomocą modułu CPAN.

Wbudowany instalator - SpamAssassin, podobnie jak wiele innych programów w języku Perl, najłatwiej zainstalować za pomocą modułu CPAN.

Za to coraz szybciej kręcącą się karuzelą nie jest w stanie nadążyć żadna z dystrybucji Linuksa, dlatego wszystkie dostępne wersje zawierają mniej lub bardziej przestarzałą wersję SpamAssassin. Ponadto, stosowane przez dystrybutorów ustawienia domyślne trudno uznać za optymalne, a integracja z systemem poczty praktycznie nie istnieje. To wystarczająca liczba powodów, by samodzielnie zabrać się do pracy.

Instalacja oprogramowania

Najprostszy i najwygodniejszy sposób otrzymania najnowszej wersji to CPAN (Comprehensive Perl Archive Network, http://www.cpan.org ).

Niestety, ten sposób nie działa z SUSE 9.2 Pozornie instalacja kończy się pomyślnie. Ponieważ jednak SUSE najprawdopodobniej zmienił różne pakiety, filtrowanie poczty za pomocą oryginalnej wersji SpamAssassin daje tragiczny skutek w postaci utraty całej poczty! W pliku dziennika wygląda to mniej więcej tak:

May 14 20:18:44 linux postfix/mgr[14705]: warning: transport spamd failure -see a previous warning/fatal/panic logfile record for the problem description

a wszystkie wiadomości rozpłynęły się we mgle.

Poniższe wiersze pozwalają uniknąć normalnej w innych systemach procedury pobranie, rozpakowanie, konfiguracja, kompilacja.

su -

perl -MCPAN -e 'install Mail::SpamAssassin'

perl -MCPAN -e 'install DB_File'

perl -MCPAN -e 'install Net::DNS'

Ostatnie dwa polecenia tworzą dodatkowe moduły, których SpamAssassin wprawdzie nie potrzebuje bezwzględnie, niemniej ich instalacja ma sens. Aby utworzyć moduł DB-File, należy mieć zainstalowany pakiet deweloperski do Berkeley DB, najczęściej noszący nazwę db-devel-<wersja>.

Jeżeli jest to pierwsze wywołanie modułu CPAN na komputerze, przed rozpoczęciem właściwej pracy poprosi on o podanie kilku parametrów. Tutaj należy zwrócić uwagę tylko na pytanie o serwery, z których pobierać będziemy pliki i poczynić rozsądny wybór; w przypadku pozostałych pytań moduł proponuje sensowne ustawienia domyślne.

Podczas właściwej instalacji SpamAssassin system pyta od razu o adres e-mail, pod który ma wysyłać komunikaty o statusie, a resztę instalacji załatwia automatycznie. Pomyślne zakończenie instalacji można zweryfikować pierwszym wywołaniem SpamAssassin z parametrem -V, który informuje o numerze wersji:

spamassassin -V


Zobacz również