Jak działa mechanizm "greylisting"?
27 maja 2008 12:13
Kamil Folga
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.
Komentarze
Redakcja NetWorld nie ponosi odpowiedzialności za wypowiedzi Internautów opublikowane na stronach serwisu oraz zastrzega sobie prawo do redagowania, skracania bądź usuwania komentarzy zawierających treści zabronione przez prawo, uznawane za obraźliwie lub naruszające zasady współżycia społecznego. Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną.
- ocena:
brak oceny
- IP: 77.253.80.215
- 28-05-2008, 19:55
Jeśli dobrze zrozumiałem, system pozwoli mi wysłać maila dopiero po 5 minutach od pierwszej próby? Dzięki, jak nie idzie za pierwszym razem, puszczam z innego konta.
- ocena:
brak oceny
- IP: 193.238.170.100
- 28-05-2008, 22:54
Do Serverius: Nadawca (poprzez program do obsługi poczty) wysyła wiadomość tylko raz, dostarczając ją do obsługującego jego konto e-mail serwera SMTP. Powtórnym dostarczeniem przesyłki po pierwotnym jej odrzuceniu przez serwer odbiorcy, zajmuje się już wyłącznie serwer SMTP nadawcy. Cały proces "greylisting" dla Ciebie jako uzytkownika jest niewidoczny.