É uma boa prática ou muito draconiana rejeitar e-mails de servidores de e-mail sem RDNS?

20

Recentemente descartei o SpamAssassin e agora estou baseando a rejeição de spam nos testes básicos do DNSRBL, lista cinza e outros testes básicos e estou pensando se também devo bloquear hosts que não possuem um RDNS válido que corresponda ao EHLO?

Se eu fizer isso, causarei problemas para muitos e-mails legítimos e prejudicarei meus clientes? Eu ouvi pessoas reclamando que a AOL faz isso, o que me faz pensar que talvez seja muito incomum para mim fazer isso.

Eu também estou querendo saber se eu posso comprometer, verificando se o RDNS está, pelo menos, configurado para algo, mas não tente combiná-lo com o EHLO. Isso é possível com o Postfix (e é útil)?

    
por Peter Snow 20.09.2013 / 10:52

5 respostas

10

Eu tentei várias abordagens com a verificação HELO / EHLO com uma base de clientes de tamanho razoável entre 100.000 usuários e acabei indo com uma solução que faz o seguinte:

  • Verifique se o HELO / EHLO contém um nome de domínio. - Isso se resume a um nome que tem um ponto. A verificação do DNS no nome levou a MUITOS servidores com falha, já que não é incomum que o servidor apresente um nome interno ou algo que você não consiga resolver adequadamente.
  • Verifique se o IP tem um registro DNS reverso. - Novamente, essa é uma configuração frouxa, já que não a checamos contra o HELO / EHLO. Verificar contra o HELO / EHLO criou tantos tickets que esta configuração não durou nem um único dia.
  • Verifique se o nome de domínio dos remetentes é válido. - Esta é uma verificação básica para garantir que, se tivermos que devolver a mensagem, haverá pelo menos alguma forma de encontrar um servidor para ela.

Aqui está o bloco do Postfix que usamos para essas verificações:

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
    
por 20.09.2013 / 23:37
12

É extremamente comum bloquear servidores SMTP que não têm esses princípios básicos:

  1. O nome do host no encaminhamento HELO resolve a conexão IP originada de.
  2. O IP de origem das conexões é revertido para o nome do host reivindicado em HELO.
  3. Se as políticas SPF, DKIM ou DMARC existirem, verifique.

Qualquer um que reclamar de ser bloqueado por causa de um desses itens deve ser alcatroado e enevoado.
Pessoas que acabam sendo bloqueadas por outras razões, particularmente situações que dependem da conformidade com a RFC em situações "anormais", eu vou ter simpatia por isso. O spam é um problema tão grande que não há desculpa para perder o básico.

    
por 20.09.2013 / 16:44
5

Eu esperaria que o MTA tivesse um RDNS válido, mas insistir em corresponder ao EHLO dependeria de quem 'os clientes' são. Você pode encontrar algumas diretrizes interessantes em RFC5321 :

2.3.5.

(...) The domain name given in the EHLO command MUST be either a primary host name (a domain name that resolves to an address RR) or, if the host has no name, an address literal (...)

4.1.4.

(...) An SMTP server MAY verify that the domain name argument in the EHLO command actually corresponds to the IP address of the client. However, if the verification fails, the server MUST NOT refuse to accept a message on that basis.

mas depois em 7.9.

It is a well-established principle that an SMTP server may refuse to accept mail for any operational or technical reason that makes sense to the site providing the server.(...)

    
por 20.09.2013 / 17:01
3

A pesquisa reversa não aponta necessariamente para o nome do host fornecido no HELO. Às vezes, vários domínios hospedados no mesmo host, e todos eles têm o mesmo endereço IP. Mas quando você tenta fazer a pesquisa inversa, você obterá o nome que foi colocado no registro PTR. É óbvio que ambos os FQDNs serão diferentes - e isso é completamente aceitável.

A única circunstância que permite descartar a mensagem é falha na pesquisa inversa. Qualquer pesquisa bem sucedida significa que o host é válido. Os nomes não devem corresponder.

    
por 21.09.2013 / 01:55
2

I'm wondering whether I should also block hosts that don't have a valid RDNS matching the EHLO?

Não, você não deveria. Bloqueia um e-mail inteiro apenas por um critério, é uma prática ruim.

If I do this, am I going to make trouble for much legitimate mail and upset my customers?

É mais provável que você perca mensagens legítimas

I'm also wondering if I can compromise by checking that RDNS is at least set to something, but not try to match it to the EHLO. Is this possible with Postfix (and is it useful)?

sim, é possível. Você pode usar reject_unknown_reverse_client_hostname em vez de reject_unknown_client_hostname

Infelizmente, o postfix não tem opções flexíveis para "decisão complexa". No exim, você pode adicionar alguns pontos para esses e-mails, por exemplo,

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
...

E assim por diante. Depois de todas as verificações serem concluídas e se você tiver marcado > 100, você pode rejeitar o e-mail. Na verdade, você pode obter esse tipo de comportamento, mas precisa escrever seu próprio serviço de políticas

    
por 24.09.2013 / 23:34