
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 Received
cabeç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, HELO
nome 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 HELO
comando 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.SS
para determinar a sub-rede como notação CIDR, já que o OpenSMTPd é capaz de ler sub-redes expressas em notação CIDR, por exemplo, bloco192.0.2.0/24
com:match from src 192.0.2.0/24 reject
Se você quiserrejeitar todas as mensagens provenientes dos servidores de correio em
example.com
e esse domínio for realmente usado noHELO
nome do host, é possível usar essa informação para rejeição. Da mesma forma, omatch
tem 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.