Postfix selective header_checks: smtpd_relay_restrictions vs. smtpd_recipient_restrictions

1

Alguns dos meus clientes implementaram softwares comerciais que violam as RFCs de e-mail, por isso tivemos que relaxar nossas verificações de cabeçalho. Consequentemente, recebemos mais spam.

Prolog:

  • Eu sei que os domínios (customer.com) e endereços IP (a.b.c.d / C) são provenientes desses e-mails

Solicitação de ajuda:

  • É possível configurar uma instância do Postfix (2.11) no Linux, de modo que:
    • Aplica apenas algumas verificações de cabeçalho para e-mails de. * @ customer.com
    • Mas aplica todas as verificações de cabeçalho para todas as outras fontes de email?

Eu pensei em uma combinação de mynetworks que inclui a sub-rede a.b.c.d / C em smtpd_recipient_restrictions - permitindo que todas essas mensagens passem - e simultaneamente evite um relé aberto com smtpd_relay_restrictions.

No entanto, isso não funcionou como esperado.

Qualquer ideia ou ajuda é muito apreciada.

Obrigado antecipadamente.

Luke

== EDIT ==

Para o problema atual, resolvi o problema inserindo REDIRECTs em header_checks da seguinte forma:

/^received: from.*customer.com.*by mail.own.com.*for.*luke@own.*/
  REDIRECT [email protected]

Isso funciona até certo ponto.

Independentemente disso, ainda estou procurando uma configuração de postfix que transformaria essa configuração baseada em texto em uma regra de encaminhamento baseada no intervalo de endereços IP ...

Obrigado.

Luke

    
por luke 26.05.2014 / 14:00

1 resposta

2

Configure uma segunda instância de postfix ouvindo em uma porta diferente e configure-a idêntica à instância existente, exceto relaxando a header_checks (e a diferente porta smtpd de escuta) e redirecione as conexões tcp do nível de rede do IP do servidor do cliente para o novo instância. Também no nível de firewall recusar conexões de entrada para a nova porta de todos, exceto o IP do cliente.

Se estiver executando uma distribuição Linux moderna, redirecionar o tráfego de um determinado endereço IP para a porta tcp 25 para outra porta tcp pode ser feito com uma regra de netfilter como esta:

root@email:~# $(which iptables) -t nat -I PREROUTING -i $incoming_interface -p tcp -s $customer_ip --dport 25 -j REDIRECT --to $second_postfix_listening_port

Como você está executando uma versão recente do postfix, é possível migrar a configuração existente para uma configuração postmulti que facilita criando instâncias adicionais (por exemplo, você não precisará criar scripts init adicionais, todas as instâncias serão iniciadas / interrompidas pelo script init de postfix único ao executar uma configuração postmulti).

Por favor, deixe perguntas nos comentários, se você precisar de ajuda adicional sobre postmulti.

    
por 30.09.2014 / 15:36

Tags