cabeçalhos de mensagens dizem dkim = fail, stats dizem = PASSED. por que o conflito e como consertar?

1

Em alguns e-mails não recebidos - notadamente SOMENTE aqueles enviados por meio de serviços "em massa" - recebo uma falha DKIM: "falha na verificação da assinatura". Aqui está um exemplo:

Received message headers
    DKIM-Filter: OpenDKIM Filter v2.10.3 mail.example.com 3rfbq51KBTz2xF0
    Authentication-Results: dkim.example.com/3rfbq51KBTz2xF0;
        dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=proxyvote.com [email protected] header.b=XjB07H1q

Mas, ao verificar "dkim-stats", diz "PASSED"

opendkim-stats dkim-stats
    Job 3rfbq51KBTz2xF0 at edge (size 12124)
            received via 127.0.0.1 at Wed Jun 29 01:45:37 2016
            from domain = 'proxyvote.com'
            Signature 1 from proxyvote.com
                    PASSED
                    signed bytes: (whole message)
                    Signature properties: 
                    Key properties:  
                    DNSSEC status: INSECURE

Este é o dump que acompanha essa mensagem

cat dkim.3rfbq51KBTz2xF0.4dDfiv
    Date: Wed, 29 Jun 2016 03:10:40 -0400
    From: "PROXYVOTE"  <[email protected]>
    To:   [email protected]
    Subject: Semi-Annual Report
    message-id: <[email protected]>
    Reply-To: "PROXYVOTE" <[email protected]>
    MIME-Version: 1.0
    DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
      d=proxyvote.com; [email protected]; q=dns/txt;
      s=edppsuirna01; t=1467189937; x=1498725937;
      h=date:from:to:subject:message-id:reply-to:mime-version;
      bh=H5lkhcTIjxd0B3N4Kdj314qELLpSKZvAAtPAS+XcM1A=;

Por que recebo 'fail' E 'pass' e o que preciso fazer para corrigir isso?

    
por Jason 05.07.2016 / 15:38

1 resposta

0

Jason, é possível alterar o c=simple/simple para c=relaxed\relaxed ? Eu vi muitas vezes onde diferentes validadores DKIM lutam com o folding dos espaços em branco. Você diz que está falhando apenas com o "Bulk", então isso me diz que você está enviando isso através de algum Serviço SMTP, o que me deixa mais inclinado a acreditar que os cabeçalhos estão sendo reescritos e o dobramento de espaços simples / simples é o culpado. Você também pode executar Mail Test , que irá testá-lo com 4 diferentes validador DKIM - Se ele falhar todos os quatro. É provavelmente o que está acontecendo, quando você envia através desse serviço em massa.

Seção atualizada abaixo

Desde o recebimento do email, você ainda pode reprocessá-lo e verificar o DKIM com outro validador. Isso é o que eu faço para verificações de sanidade quando eu acho que meu servidor de e-mail pode estar processando errado DKIM. Estou usando o Limilabs Mail.dll para lidar com o envio do EML, mas você pode usar o que quiser, em qualquer linguagem de programação que esteja familiarizado. O DKIM permanece intacto e você poderá validá-lo em relação a outros validadores DKIM usando auto-respondedores on-line.

    Dim email As IMail
    Dim mb As New Limilabs.Mail.MailBuilder
    Dim smtpMail As SmtpMail = SmtpMail.CreateFromEmlFile("D:\ValidateDKIM\BadDKIM.eml")
    email = mb.CreateFromEml(smtpMail.RawEmlData)

     Using client As New Smtp()
            client.ConnectSSL("mailserver", 465)
            client.Login("mailserver", "password")
            Dim stream As System.Net.Security.SslStream = client.ReadStream()

            Dim reader As IO.StreamReader = New IO.StreamReader(stream)
            client.SendMessage(New SmtpMail("Mail Check", { "[email protected]","[email protected]"}, smtpMail.RawEmlData))
            client.Close()
    End Using
    
por 06.07.2016 / 19:27