(Por que) Os servidores de e-mail parariam de enviar relatórios DMARC por causa do DKIM?

(Por que) Os servidores de e-mail parariam de enviar relatórios DMARC por causa do DKIM?

Tenho um servidor de e-mail pessoal que executo há anos; muito raramente houve problemas com o envio de e-mails e, portanto, nunca me familiarizei com coisas como SPF, DMARC e DKIM. Recentemente, durante a atualização do sistema, decidi fazer isso.

O SPF foi muito simples, pois utilizo um único endereço IP fixo.

O DMARC era quase tão simples; Eu configurei isso inicialmente com uma política de "nenhum" para receber relatórios e deixei isso por uma ou duas semanas e depois mudei para rejeitar.

Agora implementei um filtro de assinatura DKIM para o servidor de e-mail (Correio MTA, e não, não existe um produto pronto para isso). Para as partes complicadas que useidkimpy. Também possui uma ferramenta de verificação simples que funciona em mensagens inteiras, faz suas próprias pesquisas, etc., o que significa que é uma prova fictícia de que só há uma maneira de usá-la (enquanto a assinatura pode ser configurada de várias maneiras e possivelmente deixa espaço para eu estragar tudo). Isso passa mensagens que eu acho que deveriam passar e falha aquelas que eu acho que não deveriam, então estou razoavelmente satisfeito que funciona; Eu executei em mensagens recebidas do servidor. Atualmente, para minimizar problemas, estou assinando apenas o corpo e o cabeçalho From.

No entanto, nenhum dos meus e-mails chega às minhas contas de teste - uma é do Gmail e a outra é do meu ISP. Além do mais, embora agora eu tenha endereços rua e ruf no registro DMARC, estounão recebendo nenhum relatório para eles. Anteriormente, ambos eram como um relógio.

Se tudo que eu faço é desligar o filtro(portanto, sem assinatura DKIM), tudo funciona novamente. Verifiquei se o servidor está realmente tentando em todos os casos; os DKIM com falha pareciam atingir o tempo limite e conexões fechadas, resultando em um adiamento interminável - o que por si só parece um pouco estranho, pois implica que o e-mail "rejeitado" nem está sendo examinado, mas remover a assinatura é tudo o que é necessário para fazer com que seja aceito novamente. Atribuirei isso às ambigüidades no registro do Courier.

Sei que ninguém está sujeito a nenhuma lei aqui, mas isso é uma política normal? Supondo que a assinatura DKIM esteja errada, o servidor receptor não deveria me enviar um relatório DMARC sobre isso?

Então, atualmente estou em um riacho. Embora coisas como MXToolbox me dêem louvor, não encontrei um serviço gratuito que teste ativamente a assinatura DKIM recebendo e-mails, exceto um, que parece ter feito o que os outros servidores fizeram - nunca aceita o e-mail que deveria testar (não sei se isso é uma pista em potencial).

Aqui estão os registros DNS relevantes de dig:

  • FPS:cognitivedissonance.ca. 3600 IN TXT "v=spf1 ip4:138.197.150.177 -all"

  • DKIM:

      aporia._domainkey.cognitivedissonance.ca. 3600 IN TXT "v=DKIM1; k=rsa; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAosptGk+J2mdjjc7RWmcnQ3yBqx1JT/lA0bw4GJCzZ+esa0f8rjHhPiW6NnUr64Kf5h0fPEthQhYGTjjw3jAd/3EE28hGA30+jODxEK7A0+5aeI82fWa/ZZk9FvyIhf+UkkX1B0klYhCRW5r91smJ+rwYrr2B6jOrw0DReHTAZ51NACSWI7ov2mA" "UIh2l8blA8hFFBOBwxlzC+smRsYlZCKZfsSMkyS/XIm2m58QNfw/aCHp5VufSrf/hh7f6AGKTgxHfgs+8RBbYdHEM2LAMT+WYsITC3R0OYfgplzWna6PRB9lx+FFzTtT/8XClYfUJ6rwWwM4koeX0yt9gDr/03QIDAQAB"
    

    Observe que o FQDN do servidor de e-mail é aporia.cognitivedissonance.causado aporiacomo seletor DKIM por falta de imaginação. O domínio de e-mail é apenas cognitivedissonance.ca. Devo usar o FQDN (ou seja, aporia._domainkey.aporia.cognitivedissonance.ca)?

  • DMARC:

      _dmarc.cognitivedissonance.ca. 3600 IN  TXT     "v=DMARC1;p=reject;pct=100;rua=mailto:[email protected],mailto:[email protected];ruf=mailto:[email protected],mailto:[email protected]; "
    

    Existem alguns mailto extras para um serviço de validação dmarc no qual me inscrevi. Infelizmente, eles não testam assinaturas DKIM diretamente.

Finalmente, um exemplo de assinatura:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=cognitivedissonance.ca; [email protected]; q=dns/txt;
 s=aporia; t=1650468130; h=from;
 bh=3N81YR+AxHZqpkdMAh4Jti6JpRmUrlzO5bUjUoWdGeg=;
 b=kNzUid2LG8TfHoegur3JzlcktiJT+5A1E2en+IlV/GgDMZWL0Ft/4kE02LGFzb2kTMkav
 c9jLUqd2+NCrLDzVRBxgwif++vDwoljCI1X0wvbcCqhfA3uElcCuhCAtBkl/ZNqLR0H1Gjq
 XXA801KqyVrvottuv0+PmEOvqQ8skTpBvl4Da8JjQ73Zscm3/5Mfk0dGTLlggNgapszsP9z
 nt/1Oi6gzLasX933wIdLZWVex8QNfKr8+MTx6bmpVodaeklR+281u8k1zhCBu5pWrzlavUh
 CbWjUm4j3YbeztpG98r9MZOVKbJZyHaiHWcRa1vEq3Cz8AEnRyRkQhd5WtvA==

Responder1

Eventualmente encontrei um validador DKIM online:https://www.appmaildev.com/en/dkimEles testarão o upload de um e-mail existente ou fornecerão um endereço de teste para o qual enviar.

Não tenho 100% de certeza de qual era o problema original, porque quando descobri isso, já havia criado outro: usar o recurso "IP flutuante" da Digital Ocean para definir meus registros DNS. Na verdade, o sistema operacional não vê esse endereço e outros servidores de e-mail relatam mensagens desse IP "real" (que ainda é válido). Vale nadase você é um usuário de droplet.

Para ser claro, esse não pode ter sido o problema original, pois só habilitei o IP flutuante ontem quando, em desespero, resolvi mover o nó para ver se alguma coisa caía da árvore. No entanto...

Não encontrei um serviço gratuito que teste ativamente a assinatura DKIM recebendo e-mails, exceto um, que parece ter feito o que os outros servidores fizeram - nunca aceita o e-mail que deveria testar (não sei se isso é uma pista em potencial).

Observe que o serviço não era aquele vinculado no primeiro parágrafo aqui. De qualquer forma, o fato de outros servidores de e-mail em geral estarem recusando conexões (em vez de devolver e-mails) parece gritar "problema de DNS". Por que exatamente isso se tornou um problema quando a nova instalação do servidor estava em execução há um mês eu ainda não sei, então esta é apenas uma resposta parcial - embora expliquePor que os servidores de e-mail parariam de enviar relatórios DMARC. Colocando todos os meus patos em linha com os registros DNS (registros A para o domínio e o nó aporia, correspondendo ao SPF, etc), finalmente tudo está funcionando como deveria.

informação relacionada