Jeśli przeglądamy logi serwera smtp, możemy zauważyć połączenia, które mają dość charakterystyczną cechę – obcy host próbuje się przedstawiać za pomocą naszego IP lub domeny. To jedna ze sztuczek spamerów, usiłują wysyłać spam jako użytkownik naszego serwera, licząc, że w ten sposób serwer nie odrzuci połączenia. Poniżej przedstawiam metodę, która pozwoli na odrzucenie takich połączeń już na etapie negocjacji.
Na początku pliku konfiguracyjnego dodajemy wpisy:
MY_IP = TU_NASZ_IP
MY_DOM = TU_NASZA_DOMENA
Potem w sekcji MAIN dodajemy jeszcze wpis
acl_smtp_helo = acl_check_helo
i następnie w sekcji ACL:
acl_check_helo:
accept hosts = :
accept hosts = +relay_from_hosts
drop condition = ${if match{$sender_helo_name}{MY_IP}{yes}{no} }
message = „Dropped spammer pretending to be us”
drop condition = ${if match{$sender_helo_name}{MY_DOM}{yes}{no} }
message = „Dropped spammer pretending to be us”
drop condition = ${if match{$sender_helo_name}{^[0-9].[0-9].[0-9].[0-9]}{yes}{no} }
message = „Dropped IP-only or IP-starting helo”
accept
a na koniec zrestartujemy exima. W ten sposób już po EHLO odrzucone zostaną połączenia, które przedstawiają się naszym IP lub domeną, a także te przedstawiające się wyłącznie przez IP.
W razie potrzeby można dodać np. jeszcze zmienną MY_SERV, aby jeszcze dopisać kolejną domeną przypisana do serwera. Zasada jest taka, że zmienne muszą być różne i nie zawierać znaków w tej samej kolejności, tzn nie może być np. MY_DOM2. Do każdej dodanej zmiennej oczywiście musimy dopisać regułkę w sekcji ACL.