Existem muitos tutoriais sobre como configurar o OpenDMARC em sua versão favorita do Linux, mas todos eles se concentram em configurações de servidor único. Meu objetivo era manter os servidores MX secundários de backup, mas fazer RejectFailures true
com que o DMARC p=reject
fosse realmente satisfeito.
Isso levou a um problema: a configuração de exemplo tem TrustedAuthservIDs HOSTNAME
fontes SPF e DKIM de upstream. Se isso fosse usado para listar servidores MX secundários, permitiria ignorar completamente as verificações do OpenDMARC no MX primário com um único cabeçalho forjado.
Authentication-Results: <HOSTNAME>;
dkim=pass (1024-bit key; unprotected) header.d=example.com [email protected];
Como configurar a confiança entre o MX primário e o secundário sem essa falha?
Esta é uma reescrita de outra pergunta no Security Stack Exchange para o escopo de falha do servidor.
Resumidamente:
Como configurar isso?
Você pode seguir um tutorial para configuração inicial de (SPF,) OpenDKIM e OpenDMARC.
(Depois disso, o Postfix tem o OpenDKIM e o OpenDMARC configurados como filtros SMTP.)
Alterações na configuração do OpenDMARC
/etc/opendmarc.conf
para todos os servidores MX :Use o milter OpenDMARC para rejeições de estágio de conexão (o padrão é
false
):Não confie em verificações externas de SPF de pypolicyd-spf ou alternativa. Realize a própria verificação:
OpenDKIMGenericName deve ser configurado para adicionar cabeçalho mesmo quando já existe.
/etc/opendkim.conf
:Uma vez que cada MX tenha o #1-#3 configurado, o OpenDMARC no MX primário pode confiar nas verificações feitas por outros servidores MX; e-mails falsificados já devem ser rejeitados pelo MX secundário. Não os liste no
TrustedAuthservIDs
, porque é vulnerável à falsificação de cabeçalho. Há outraopendmarc.conf
opção mais adequada para isso:...e liste os endereços IP dos servidores MX secundários nesse novo arquivo de configuração.