Como evitar que hosts remotos entreguem mensagens para o Postfix com o cabeçalho De falsificado?

2

Eu tenho um host, vamos chamar de foo.com, no qual eu estou executando o Postfix no Debian. O postfix está atualmente configurado para fazer estas coisas:

  1. Todo o correio com @ foo.com como destinatário é tratado por este servidor Postfix. Encaminha todos esses e-mails para minha conta do Gmail. O firewall, portanto, permite a porta 25.
  2. Todo e-mail com outro domínio como destinatário é rejeitado.
  3. Registros SPF foram configurados para o domínio foo.com, dizendo que foo.com é a única origem de todos os e-mails de @ foo.com.
  4. Os aplicativos em execução no foo.com podem se conectar ao localhost: 25 para entregar e-mails, com [email protected] como remetente.

No entanto, notei recentemente que alguns spammers conseguem enviar spam para mim enquanto passam nas verificações do SPF. Após uma inspeção mais aprofundada, parece que eles se conectam ao meu servidor Postfix e dizem

HELO bar.com
MAIL FROM:<[email protected]>     <---- this!
RCPT TO:<[email protected]>
DATA
From: "Buy Viagra" <[email protected]>   <--- and this!
...

Como evito isso? Eu só quero aplicativos em execução no localhost para poder dizer MAIL FROM:<[email protected]> . Aqui está minha configuração atual (main.cf): link

    
por Hongli Lai 13.10.2011 / 13:02

3 respostas

5

Você precisa do smtpd_sender_restrictions para ser:

smtpd_sender_restrictions = permit_mynetworks, check_sender_access hash:/etc/postfix/notfromme

e em /etc/postfix/notfromme você colocou

foo.com REJECT

, em seguida, postmap /etc/postfix/notfromme e recarregue o postfix.

Feito.

    
por 13.10.2011 / 14:01
0

Aqui está minha opinião sobre isso:

O SPFv1 protege o endereço do remetente do envelope (Return-Path), não o endereço do remetente do cabeçalho (De). Na maioria dos casos (pelo menos que eu vi) o endereço do remetente do cabeçalho (De) é falsificado (como foo.com), mas não é isso que o SPFv1 está verificando, portanto ele passa.

    
por 13.10.2011 / 13:56
-1

Eu acho que se você adicionar:

smtpd_helo_required = yes smtpd_helo_restrictions =     permit_mynetworks     check_helo_access          hash: / etc / postfix / helo_access,

para o seu main.cf e:

foo.com REJECT

para / etc / postfix / helo_access, seguido por "postmap helo_access" e reiniciando o postfix, que deve significar que qualquer um que se identifique como "@ foo.com" será rejeitado, a menos que a conexão seja do localhost, caso em que isso será permitido (devido a permit_mynetworks ter uma classificação maior que check_helo_access).

edit - na verdade, isso provavelmente não ajudaria no caso de alguém se identificar como "HELO randomhost.net" e então enviar e-mails de @ foo.com. O que você precisa implementar é provavelmente header_checks:

link link

Uma vez que você tenha o header_checks configurado para detectar e-mails do @ foo.com, você deve ser capaz de configurar o master.cf para que qualquer coisa do localhost pule essas verificações, e somente mensagens de entrada de outros sistemas sejam verificadas. Então, quando você receber um e-mail do @ foo.com de outro sistema da Internet, isso deve ser descartado.

    
por 13.10.2011 / 13:39

Tags