OpenSMTPd: Bloquear remetente com base no domínio "Recebido"

OpenSMTPd: Bloquear remetente com base no domínio "Recebido"

Para o OpenSMTPd, gostaria de impedir que um servidor me envie emails com base no nome de domínio desse servidor. Ele tem um grande número de endereços IP espalhados por todo o lugar e bloquear cada um deles é muito trabalhoso, especialmente com a enorme quantidade de spam que ele envia. Gostaria de bloquear completamente o servidor. Existe uma maneira de rejeitar silenciosamente todos os e-mails provenientes dos servidores de e-mail em "example.com" (o "Recebido" contém isso), por exemplo?

Obrigado!

Responder1

Os Receivedcabeçalhos não devem ser usados ​​para determinar a origem do e-mail, pois podem ser facilmente falsificados. Em vez disso, você deve confiar apenas nas informações que seu servidor de e-mail pode obter por si só, como endereço de origem, HELOnome do host e MAIL FROM(testado em relação ao registro SPF do domínio do remetente). O último, ou seja, o Received:cabeçalho superior é adicionado pelo seu servidor, e esta informação vem do HELOcomando SMTP (combinado com endereço IP e reverso PTR).

A inspeção do conteúdo do cabeçalho seria possível com, por exemplo, Postfixheader_checks(action REJECT), mas parece que o OpenSMTPd não implementou nada semelhante. Além disso, o OpenSMTPd só pode retransmitir mensagens para filtros externos, tornandorejeição do estágio de conexãopara SFP com falha ouLista de bloqueios baseada em DNS(DNSBL) impossível.

O que o OpenSMTPd pode fazer que pode ajudar está descrito em smtpd.conf(5),match opções reject:

  • Você diz que há umgrande número de endereços IP em todo o lugar, mas todos eles podem estar no mesmo bloco de rede. Use, por exemplo, whois IP.ADD.RE.SSpara determinar a sub-rede como notação CIDR, já que o OpenSMTPd é capaz de ler sub-redes expressas em notação CIDR, por exemplo, bloco 192.0.2.0/24com:

    match from src 192.0.2.0/24 reject
    
  • Se você quiserrejeitar todas as mensagens provenientes dos servidores de correio emexample.come esse domínio for realmente usado no HELOnome do host, é possível usar essa informação para rejeição. Da mesma forma, o matchtem uma opção para isso, e você pode usar uma listatable(5)arquivo:

    match helo <rejectHeloDomains> reject
    table rejectHeloDomains file:/etc/mail/rejectHeloDomains
    

    O arquivo de lista contendo os domínios, curingas permitidos:

    example.com
    *.example.com
    

Não fique em silênciodescartarspam definitivo, mas use orejeição do estágio de conexão, como fazem esses exemplos.

informação relacionada