OpenDKIM e canonização de citações

1

Na longa batalha contra uma porcentagem considerável das falhas do DKIM para as assinaturas geradas em meus servidores, notei uma ocorrência interessante. Hoje eu recebi este relatório de falha do DKIM:

User-Agent: OpenDKIM-Filter/2.10.3
Version: 0.1
...
Delivery-Result: other
Feedback-Type: auth-failure
Auth-Failure: signature (signature verification failed)
DKIM-Failure: signature
...
DKIM-Canonicalized-Header: (base64 string)
DKIM-Canonicalized-Body: (another base64 string)

Eu notei que DKIM-Canonicalized-Header continha isso:

cc: Alice A <[email protected]>,
        Bob B-B <[email protected]>,
        "'Charlie C'" <[email protected]>

e o cabeçalho real cc foi informado como:

cc: Alice A <[email protected]>,
        Bob B-B <[email protected]>,
        "'Charlie C'"
        <[email protected]>

Por sorte, consegui descobrir exatamente o que causou o fracasso. Meu servidor de assinatura reteve o arquivo temporário /tmp/dkim.* que diz que o mesmo cabeçalho foi canonizado de maneira um pouco diferente:

cc: Alice A <[email protected]>,
        Bob B-B <[email protected]>,
        'Charlie C' <[email protected]>

Agora a parte divertida. Meu servidor de assinatura executa uma compilação muito semelhante (opendkim-2.10.3-1.el6.x86_64.rpm) ao servidor remoto de verificação e não consegui fazer com que ele repita esse comportamento de erro, que é causar canonização "'something'" . Então, como poderia um servidor remoto chegar a tal canonização? Como o cabeçalho real (que eu não arquivei em meus servidores) pode ser uma string que de alguma forma foi decodificada e canonicalizada para "'something'" no servidor remoto e para 'something' no meu servidor? Ou talvez algum software adicional tende a alterar essas cotações durante o processamento do MTA? Suposição instruída é bem-vinda.

    
por kubanczyk 10.02.2016 / 13:28

1 resposta

2

Existem dois algoritmos de canonização especificados nas especificações do DKIM . O algoritmo "simples" não altera o cabeçalho, e o "relaxado", além de converter os nomes dos campos do cabeçalho em minúsculas, afeta apenas o espaço em branco.

Por causa disso, acho muito improvável que tenha algo a ver com o OpenDKIM.

Eu olhei para RFC 5322 . Embora 'Charlie C' <[email protected]> pareça ser permitido, ele é marcado como obsoleto (seguindo a ABNF: address-list - > address - > mailbox - > name-addr - > display-name - > phrase - > obs-phrase ). Essa é provavelmente a razão pela qual algo é alterado em quoted-string . Você deve tentar usar aspas duplas ( "Charlie C" <[email protected]> ).

    
por 10.02.2016 / 17:57

Tags