Czy to dobra praktyka, czy też zbyt drakońska, aby odrzucać wiadomości e-mail z serwerów poczty bez RDNS

20

Niedawno zrezygnowałem ze SpamAssassin i teraz opieram odrzucanie spamu na DNSRBL, szarej liście i innych podstawowych testach i zastanawiam się, czy powinienem również blokować hosty, które nie mają prawidłowego RDNS pasującego do EHLO?

Jeśli to zrobię, czy będę sprawiał kłopoty z dużą ilością legalnej poczty i denerwował moich klientów? Słyszałem, jak ludzie chwytają się, że AOL to robi, co sprawia, że ​​uważam, że może to dla mnie zbyt rzadkie.

Zastanawiam się również, czy mogę pójść na kompromis, sprawdzając, czy RDNS jest przynajmniej ustawiony na coś, ale nie próbuj dopasować go do EHLO. Czy jest to możliwe dzięki Postfix (i czy jest to przydatne)?

Peter Snow
źródło
4
Tak, jest to często wykonywane, nawet jeśli bardzo mała liczba osób ma z tym problemy. Zobacz: Walka ze spamem - co mogę zrobić jako: administrator poczty e-mail, właściciel domeny lub użytkownik? do dalszej dyskusji.
Michael Hampton
Jon Postel nie zgadza się :-)
Mathias R. Jessen
Wiele księżyców temu wyszukiwanie domyślne w nowej instalacji sendmaila w Red Hat było domyślne ... Myślę, że rDNS, choć nie jest formalnym standardem dla serwerów pocztowych, jest w zasadzie standardem defacto. Przekręca ludzi na dynamicznych adresach IP (tj. Domach z połączeniami ISP klasy konsumenckiej), ale kiedyś było tak, że większość tych dynamicznych adresów IP z połączeniami stanowiły botnety ... nie wiem o dzisiejszych czasach.
Avery Payne

Odpowiedzi:

10

Wypróbowałem wiele metod sprawdzania HELO / EHLO z dość przyzwoitą bazą klientów liczącą od 100 000 do 200 000 użytkowników i ostatecznie opracowałem rozwiązanie, które:

  • Sprawdź, czy HELO / EHLO zawiera nazwę domeny. - To głównie sprowadza się do tego, czy nazwa ma kropkę. Sprawdzanie DNS w nazwie doprowadziło do WIELU awarii serwerów, ponieważ często zdarza się, że serwer ma wewnętrzną nazwę lub coś, czego nie można poprawnie rozwiązać.
  • Sprawdź, czy adres IP ma odwrotny rekord DNS. - Znów jest to luźne ustawienie, ponieważ nie porównujemy go z HELO / EHLO. W porównaniu z HELO / EHLO stworzono tak wiele biletów, że to ustawienie nie trwało nawet jednego dnia.
  • Sprawdź, czy nazwa domeny nadawcy jest poprawna. - To jest podstawowa kontrola, aby upewnić się, że jeśli będziemy musieli odrzucić wiadomość, będzie przynajmniej sposób na znalezienie serwera dla niej.

Oto blok Postfix, którego używamy do tych kontroli:

smtpd_recipient_restrictions =
    reject_non_fqdn_sender,
    reject_unauth_destination,
    reject_unknown_reverse_client_hostname,
    reject_invalid_helo_hostname,
    reject_non_fqdn_helo_hostname,
    reject_unknown_sender_domain,
    reject_non_fqdn_recipient
Ed.
źródło
1
Dobrym dodatkowym podejściem jest także sprawdzenie nazwy hosta na liście wyrażeń regularnych pasujących do różnych nazw dynamicznie przypisywanych przez dostawcę usług internetowych, takich jak xxxx.dynamic.yyy.comlub 12-34-56-78.dsl.zzz.com. Wszyscy tacy gospodarze powinni wysyłać swoją pocztę przez przekaźnik ISP, a nie bezpośrednio do MX odbiorcy. Głównymi takimi hostami są węzły botnetu i ich wiadomości, których używam do nauki moich bayes.
Kondybas
Wygląda na to, że może to być dla mnie rozwiązanie. Czy istnieje sposób, aby uruchomić SpamAssassin i pozwolić, aby został pominięty przez wszystkich, z wyjątkiem wiadomości e-mail, które nie pasowały do ​​HELO z RDNS, a następnie odbijamy tylko te powyżej określonego wyniku? Inne wiadomości nadal całkowicie omijają ten krok.
Peter Snow
Z exim MTA zrobiłem w ten sposób, kolejno: adres / host nadawcy jest sprawdzany na białej liście. Jeśli dopasowane - natychmiast zaakceptowane, w przeciwnym razie jest sprawdzane na czarnej liście. Jeśli dopasowane - zmienna flaga podniesiona „Gotcha!” i wiadomość jest również akceptowana. Jeśli wiadomość została przekazana przez listy - jest przekazywana do SA, który działa jak demon. Jeśli zwracana wartość jest wystarczająco wysoka, oznacz „Gotcha!” podniesione i wiadomość również przyjęta. Następnie wiadomość została przekazana do routerów.
Kondybas,
1
Jeśli flaga nie zostanie podniesiona, wiadomość zostanie dostarczona jak zwykle. W przeciwnym razie powstaje kopia ukryta. Oryginalna wiadomość jest dostarczana jak zwykle, podczas gdy BC jest przekazywany do specjalnego routera, który ma sa-learn jako transport. Taki schemat pozwala podzielić przepływ poczty na gałąź zdecydowanie spamującą, która uczy się SA-bayes, i podejrzewa resztę sprawdzaną przez SA-bayes. Wiadomości z podniesioną flagą mają także dodatkowy nagłówek, który pozwala posortować je w „
śmieciach
Sprawdziłem te zasady w mojej skrzynce pocztowej, i są e-maile, które zostałyby odrzucone z powodu HELO spoza domeny lub braku odwrotnego rekordu DNS. Wprawdzie jest ich bardzo mało (tylko kilku nadawców w skrzynce z 40 000 e-maili), ale są tam ważne rzeczy. W szczególności, gdybym użył reject_unknown_reverse_client_hostname, nie dotarłby e-mail z wynikami mojej aplikacji wizowej do określonego kraju Azji Południowo-Wschodniej. Odradzałbym używanie reject_invalid_helo_hostnamei reject_unknown_reverse_client_hostname.
michau
12

Bardzo często blokowane są serwery SMTP, które nie mają tych podstaw:

  1. Nazwa hosta w przekazie HELO rozwiązuje połączenie IP, z którego pochodzi.
  2. Połączenia pochodzenia IP odwraca się do nazwy hosta zgłoszonej w HELO.
  3. Jeśli istnieją zasady SPF, DKIM lub DMARC, sprawdź.

Każdy, kto chwyta się zablokowania z powodu jednego z nich, powinien zostać smołowany i upierzony.
Ludzie, którzy zostaną zablokowani z innych powodów, szczególnie sytuacji, które polegają na zgodności z RFC w „nienormalnych” sytuacjach, będę współczuć. Spam to taki problem, że po prostu nie ma usprawiedliwienia dla pominięcia podstaw.

Chris S.
źródło
2
Odwrócona nazwa nie jest w ogóle zgodna z HELO. Host może obsługiwać wiele domen, podczas gdy wyszukiwanie wsteczne zwraca tylko jedną nazwę podstawową.
Kondybas
1
Jasne, możesz robić, co chcesz. Twój serwer otrzyma 511 Your rDNS doesn't match your HELOod moich serwerów i wielu innych. Spam jest poważnym problemem, z którym projektanci SMTP RFC nie musieli sobie poradzić. Realistyczne wymagania różnią się w niewielkim stopniu od RFC.
Chris S
Spam nie stanowi problemu przy prawidłowej konfiguracji MTA. Z mojego doświadczenia wynika, że ​​(nieudany ORdopasowany rDNS dopasowano krótką listę lokalnych wyrażeń regularnych ORdopasowanych) wykrywa 99,99% spamu. Bez DNSBL, bez greylists, bez DKIM, bez SPF. Ponad 200 000 wiadomości przychodzących miesięcznie. 1-2 fałszywe-p, 10-20 fałszywe-n na miesiąc.
Kondybas
5

Spodziewałbym się, że wysłanie MTA będzie mieć ważny RDNS, ale naleganie na dopasowanie EHLO zależy od tego, kim są „klienci”. Kilka interesujących wskazówek można znaleźć w RFC5321 :

2.3.5

(...) Nazwa domeny podana w poleceniu EHLO MUSI być albo podstawową nazwą hosta (nazwa domeny, która zmienia się na adres RR), albo, jeśli host nie ma nazwy, dosłowny adres (...)

4.1.4

(...) Serwer SMTP MOŻE sprawdzić, czy argument nazwy domeny w poleceniu EHLO faktycznie odpowiada adresowi IP klienta. Jeśli jednak weryfikacja się nie powiedzie, serwer NIE MOŻE odmówić przyjęcia wiadomości na tej podstawie.

ale potem w 7.9.

Ugruntowaną zasadą jest to, że serwer SMTP może odmówić przyjęcia poczty z jakiegokolwiek powodu operacyjnego lub technicznego, który ma sens dla witryny dostarczającej serwer. (...)

Dusan Bajic
źródło
1
Jest to prawdopodobnie zabronione, ponieważ ciąg wysłany za pomocą EHLO w prawdziwym świecie często nie jest zgodny z RFC. Widziałem wewnętrzne nazwy hostów localhosti wiele innych niewłaściwych rzeczy wysyłanych tutaj, nawet z całkowicie uzasadnioną pocztą.
Michael Hampton
3

Wyszukiwanie wsteczne niekoniecznie wskazuje nazwę hosta podaną w HELO. Czasami wiele domen hostowanych na tym samym hoście i wszystkie mają ten sam adres IP. Ale kiedy spróbujesz wykonać wyszukiwanie wsteczne, otrzymasz nazwę, która została umieszczona w rekordzie PTR. Oczywiste jest, że obie nazwy FQDN będą różne - i jest to całkowicie akceptowalne.

Jedyną okolicznością, która pozwala upuścić wiadomość, jest nieudane wyszukiwanie wsteczne. Pomyślne wyszukanie oznacza, że ​​host jest prawidłowy. Nazwy nie powinny się zgadzać.

Kondybas
źródło
1
„Oczywiste jest, że obie nazwy FQDN będą różne - i jest to całkowicie akceptowalne”. Nie. Możesz skonfigurować tylko jeden rekord PTR, a Twój serwer pocztowy może ogłosić tylko jedną nazwę hosta w HELO. Powinno więc być oczywiste, że oba mogą się zgadzać.
Chris S
2

Zastanawiam się, czy powinienem również blokować hosty, które nie mają prawidłowego RDNS pasującego do EHLO?

Nie powinieneś. Blokuje cały e-mail tylko według jednego kryterium, jest to zła praktyka.

Jeśli to zrobię, czy będę sprawiał kłopoty z dużą ilością legalnej poczty i denerwował moich klientów?

bardziej prawdopodobne jest, że zrobisz to i utracisz legalną pocztę

Zastanawiam się również, czy mogę pójść na kompromis, sprawdzając, czy RDNS jest przynajmniej ustawiony na coś, ale nie próbuj dopasować go do EHLO. Czy jest to możliwe dzięki Postfix (i czy jest to przydatne)?

tak, to możliwe. Możesz użyć parametru nazwa_hosta_klienta_odrzucania_rewersu zamiast nazwa_hosta_klienta_odrzucania

Niestety, postfiks nie ma elastycznych opcji „złożonej decyzji”. W exim możesz dodać punkty za takie maile, np

Score = 0 
1. The HELO or EHLO hostname is not in fully-qualified domain or address literal form. Score +=10
2. The HELO or EHLO hostname has no DNS A or MX record. Score +=20
3. The HELO or EHLO hostname is listed with the A record "d.d.d.d" under rbl_domain. Score +=20
4. The sender domain has no DNS A or MX record. Score +=10
5. SPF checks return softfail. Score +=10, fail, Score +=20
...

I tak dalej. Po zakończeniu wszystkich kontroli i jeśli miałeś Wynik> 100, możesz odrzucić pocztę. W rzeczywistości możesz uzyskać takie zachowanie, ale musisz napisać własną usługę polisy

ALex_hha
źródło