A assinatura DKIM Válida raramente é validada

1

O cenário:

Eu tenho alguns servidores de e-mail em execução no Debian por trás de um firewall, um IP público e configurei corretamente meus registros DNS (MCX, DMARC, DKIM, SPF).

Este é um exemplo dos meus registros DNS (saída pelo comando dig):

DKIM
customselector._domainkey.domain.com. 3600 IN TXT  "v=DKIM1\; h=rsa-sha256\; k=rsa\; s=email\; " "p=MII...

SPF:
domain.com.           3599    IN      TXT     "v=spf1 mx -all"

MX:
domain.com.           3599    IN      MX      1 mailsystem.domain.com.

DMARC:
_dmarc.domain.com.    3599    IN      TXT     "v=DMARC1\;p=quarantine\;sp=reject\;rua=mailto:[email protected]\; ruf=mailto:[email protected]\; fo=1\; adkim=r\; aspf=r\; pct=100\; rf=afrf\; ri=86400"

Experimentando vários sistemas de testes públicos, toda a minha configuração é validada 100% ok. Mas então eu começo a receber esses relatórios estranhos mostrando muitos e-mails ruins saindo do meu IP público, bem como alguns e-mails sendo perfeitamente validados pelo mesmo domínio. O próximo fragmento vem de um relatório do Google:

<record>
    <row>
      <source_ip>0.0.0.0</source_ip>
      <count>6</count>
      <policy_evaluated>
        <disposition>none</disposition>
        <dkim>pass</dkim>
        <spf>pass</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>domain.com</header_from>
    </identifiers>
    <auth_results>
      <dkim>
        <domain>domain.com</domain>
        <result>pass</result>
        <selector>customselector</selector>
      </dkim>
      <spf>
        <domain>domain.com</domain>
        <result>pass</result>
      </spf>
    </auth_results>
  </record>
  <record>
    <row>
      <source_ip>0.0.0.0</source_ip>
      <count>16</count>
      <policy_evaluated>
        <disposition>none</disposition>
        <dkim>fail</dkim>
        <spf>pass</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>domain.com</header_from>
    </identifiers>
    <auth_results>
      <dkim>
        <domain>domain.com</domain>
        <result>fail</result>
        <selector>customselector</selector>
      </dkim>
      <spf>
        <domain>domain.com</domain>
        <result>pass</result>
      </spf>
    </auth_results>
  </record>
  <record>

Tenho 6 e-mails bons contra 16 e-mails ruins, todos praticamente com o mesmo conteúdo.

Os testes:

  • [email protected] - > ok
  • Cabeçalhos do Gmail - > dkim = pass [email protected];
  • www.mail-tester.com - > DKIM_VALID
  • [email protected] - > Validação da assinatura DKIM: passe
  • cavar vários servidores DNS - > ok
  • mxtoolbox.com - > tudo parece ok
  • Cabeçalhos de e-mail em domínios diferentes - > ok

A configuração:

Estou usando o opendkim, isso é o que considero relevante:

Canonicalization    relaxed/relaxed
Mode            sv
SubDomains      yes
    
por Solrac 24.01.2018 / 00:35

1 resposta

0

Enquanto meu registro DKIM é "válido", alguns validadores não aceitam o argumento h=rsa-sha256; em um registro DNS e tornarão a assinatura DKIM inválida. Eu imagino que o Google está usando algumas diferentes distribuições linux em seus servidores de email com diferentes validadores.

Para resolver esse problema, apenas remova esse argumento no seu registro DKIM e ele deve ficar assim:

v=DKIM1; k=rsa; s=email; p=MI...

Depois disso, cada e-mail será devidamente validado.

Cruzei o link enquanto fazia algumas pesquisas e era a única ferramenta que gerava uma mensagem bastante confusa:

result = invalid
Details: public key: does not support hash algorithm 'sha256'

Surpreendentemente, este erro parece ser incomum, mas quando você usa o opendkim para gerar suas chaves, você pode se ver fazendo algo assim:

opendkim-genkey -b 2048 -h rsa-sha256 -r -s customselector -d domain.com -v

Que grava o argumento incorreto no arquivo de saída txt , resultando em um registro DKIM inválido.

    
por 24.01.2018 / 00:35