Jak działa mechanizm "greylisting"?

Istnieje wiele metod radzenia sobie z niechcianą korespondencją. Bardzo popularne metody to wykorzystanie filtra antyspamowego (przykładowo SpamAssassin) lub mechanizmów wbudowanych w oprogramowanie serwera poczty. Omawiane metody pochłaniają bardzo dużo zasobów sprzętowych, co nie jest bez znaczenia przy ogromnych ilościach przychodzących wiadomości. Istnieje jednak bardzo prosty i skuteczny mechanizm walki z niechcianą pocztą, określany nazwą "greylisting".

Jak to działa? Serwer wykorzystujący greylisting zapamiętuje dla przychodzącej wiadomości adres IP łączącego się serwera, dane nadawcy oraz odbiorcy przesyłki. Przedstawione informacje są następnie sprawdzane w wewnętrznej bazie danych serwera. Jeżeli taka informacja już istnieje w bazie danych, wiadomość jest dostarczana do lokalnego odbiorcy. W przeciwnym przypadku, przesyłka jest odrzucana (na określony okres czasu), a serwer nadawcy zostaje poinformowany o niedostępności i konieczności ponownego wysłania przesyłki w późniejszym terminie. Jeżeli serwer nadawcy jest zgodny z specyfikacją RFC, powinien ponownie wysłać przesyłkę za ustalony okres czasu. Cały proces odbywa się na poziomie protokołu SMTP i jest przeźroczysty dla użytkownika końcowego. Greylisting jest tak bardzo efektywny, ponieważ większość źródeł niechcianej poczty, nie próbuje ponownie wysyłać przesyłek, więc w rzeczywistości duża ich liczba nigdy nie trafia do odbiorców.

Korzyścią z wykorzystania omawianego mechanizmu jest bardzo małe zapotrzebowanie na zasoby systemu. Każda z przesyłek odrzucona przez greylisting chroni zasoby, które musiałyby zostać zaangażowane do skanowania antywirusowego oraz antyspamowego. Oznacza to, że możemy osiągnąć bardzo dobre efekty filtracji poczty, nawet na starszych i mniej wydajnych serwerach. Wadą mechanizmu jest z pewnością więcej problemów z opóźnieniami w dostarczaniu przesyłek oraz niedoręczonymi przesyłkami.

Istnieje kilka implementacji mechanizmu greylisting, a współpracować z rozwiązaniem może praktycznie każde oprogramowanie serwera poczty. W naszym przykładzie pokażemy, w jaki sposób zaimplementować mechanizm na serwerze opartym o dystrybucję Debian Etch oraz oprogramowanie serwera poczty Postfix.

Wykorzystywaną do naszych celów implementacją greylisting będzie postgrey. Oprogramowanie jest darmowe i współpracuje z serwerem poczty Postfix. Rozpoczynamy od automatycznej instalacji oprogramowania postgrey:

Mail#apt-get install postgrey

Domyślny czas opóźnienia dla serwera nadawcy jest ustawiony na 5 minut. Jeżeli zamierzamy zmienić ten parametr, należy edytować plik /etc/default/postgrey. Usługa postgrey powinna zostać uruchomiona na porcie 60000.

Teraz czas na zmiany w konfiguracji serwera poczty Postfix. Edytujemy plik /etc/postfix/main.cf. Do konfiguracji smtpd_recipient_restrictions dodajemy linię check_policy_service inet:127.0.0.1:60000. Wpis w pliku main.cf powinien wyglądać następująco:

smtpd_recipient_restrictions =

permit_mynetworks

permit_sasl_authenticated

reject_unauth_destination

check_policy_service inet:127.0.0.1:60000

Na koniec pozostaje nam restart serwerów:

Mail#/etc/init.d/postgrey restart

Mail#/etc/init.d/postfix reload

Konfiguracja mechanizmu nie jest skomplikowana, a efekty można szybko zauważyć po zwiększonej skuteczności filtracji przesyłek.


TOP 200