Qual nome de domínio deve aparecer em uma assinatura DKIM?

3

Eu segui estas instruções para configurar o OpenDKIM com o Postfix, e ele funciona como anunciado. Minhas mensagens de saída têm o cabeçalho DKIM-Signature adicionado, por exemplo:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=example.com; s=mail;
t=1398638300; bh=mk/7yYUxFCWz+ZHB0opJIA/S3J5ELoPZPfAO0KQdVg4=;
h=Date:From:To:Subject:From;
b=fPPfUliJUgA0re38nkJ2R18TeFgbamOv1U8nDb9958eTeAT6Mp7oq4WGrHPiPmc+b
mrLu9RuW0/S4d0ipkilNZDxgecwl7qttrDbTEkWxdhwwTSe5FL3OBaUoUxJFrMGjmY
RdBjY5ZWtvk29+gXZ+af5Of9OrY7COLlqGkFXRXw=

Minha pergunta é sobre o parâmetro d= acima. Nos casos em que um servidor de e-mail manipula o e-mail de saída de vários domínios virtuais, deve o d = conter o servidor de e-mail que envia a mensagem? Ou deveria ser o domínio que aparece no endereço De:?

Eu tentei ler RFC 6376 sobre esse assunto, mas o único bit relevante que encontrei foi :

  d= The SDID claiming responsibility for an introduction of a message
  into the mail stream [...]  The conventions and semantics used by a Signer to
  create and use a specific SDID are outside the scope of this specification

Espero que alguém aqui saiba como o parâmetro d = é usado na prática.

    
por hedgie 28.04.2014 / 01:10

5 respostas

3

Uma assinatura DKIM do domínio do remetente é mais confiável e pode ser exigida pelas políticas de e-mail do remetente. Com a introdução de DMARC , agora é possível que os domínios publiquem uma política com as ações desejadas para o e-mail que não atendem à política.

DKIM destina-se a corresponder ao remetente do cabeçalho, que pode não ser o remetente do envelope. SPF valida a permissão do remetente do envelope para enviar e-mails para o domínio usando o servidor de envio. DMARC une os dois, para fornecer um melhor quadro político.

Todos os três mecanismos exigem que os dados sejam publicados na árvore DNS do domínio envolvido.

DKIM de um terceiro indica apenas se o conteúdo assinado foi ou não modificado após a assinatura por esses domínios. Isso pode ser útil para o repúdio, mas não para a reputação do remetente.

    
por 28.04.2014 / 06:13
6

Você está olhando para a questão do ponto de vista errado - o do remetente. Você deve estar olhando do ponto de vista do receptor.

Então, digamos que tenhamos uma [email protected] enviando uma mensagem para nós via mailserver random.com. Nós não sabemos nada sobre qualquer domínio. Uma assinatura da foo.com num email proveniente de [email protected] diz-lhe alguma coisa? Claramente, como foo.com está em posição de dizer algo sobre contas de e-mail que controla. O que uma assinatura de random.com em um email de [email protected] lhe diz? Muito pouco. O random.com pode ser controlado por um spammer, enviando spam que afirma ser de [email protected] para passar pelos seus filtros. Então, se você não sabe nada sobre random.com, a assinatura também não significa nada.

Além disso, lembre-se de que é permitido que um email contenha várias assinaturas DKIM. Portanto, se você executar uma lista de distribuição, uma mensagem enviada para a lista poderá conter uma assinatura do domínio no cabeçalho De. A lista de discussão pode também assiná-lo, usando o domínio da lista como aparece no envelope. Ambos fornecem informações úteis ao destinatário, ajudando-os a decidir se confiam na mensagem.

    
por 28.04.2014 / 02:09
3

No DKIM, não há requisito para o valor d= (ou o valor i= relacionado) para corresponder a qualquer outro cabeçalho na mensagem. O DKIM por si só autentica o signatário, não o remetente, deixando que o destinatário implemente alguma política para tornar essa informação útil.

O DMARC permite que o domínio do remetente especifique políticas para o DKIM, tornando uma assinatura DKIM muito mais útil para o destinatário. Com DMARC os cabeçalhos d= e From: devem corresponder (exatamente ou permitindo subdomínios, dependendo do rigor especificado).

Para o OpenDKIM, você vai querer olhar para as SigningTable e KeyTable diretivas de configuração para lidar adequadamente com vários domínios.

    
por 28.04.2014 / 07:28
1

O DKIM é baseado em domínio. Apenas informa sobre o domínio de assinatura de um email. Se você usa d = esp.com que é o domínio do provedor de serviços de e-mail, o sistema de recebimento de e-mails usará a reputação do esp.com para decidir sobre o e-mail. E se d = customer.com (por exemplo, domínio para From: address) for usado, a pontuação de reputação do customer.com será usada. Então, se esp.com tem alta reputação, então seria sábio usar d = esp.com. Caso contrário, fique com d = customer.com

De RFC 8376 padrão:

Once the signature has been verified, that information MUST be conveyed to the Identity Assessor (such as an explicit allow/ whitelist and reputation system) and/or to the end user. If the SDID is not the same as the address in the From: header field, the mail system SHOULD take pains to ensure that the actual SDID is clear to the reader.

SDID: identificando o identificador de domínio (= d)

UPDATE:

Mais sobre Assinatura baseada no autor vs Assinatura de terceiros de especificação do dkim.org :

A signature whose domain does not match the domain of the RFC5322.From address is sometimes referred to as a third party signature. ... Although there is often heated debate about the value of third party signatures...

For some, a signature unrelated to the author domain (the domain in the RFC5322.From address) is less valuable because there is an assumption that the presence of an author signature guarantees that the use of the address in the RFC5322.From header is authorized.

For others, that relevance is tied strictly to the recorded behavioral data assigned to the identity in question, i.e. its trust assessment or reputation...It is therefore low risk to facilitate the delivery of messages that contain a valid signature of a domain with a strong positive reputation, independent of whether or not that domain is associated with the address in the RFC5322.From header field of the message.

    
por 28.04.2014 / 03:17
0

Olhando para alguns e-mails do Gmail, achei o parâmetro d para conter o domínio do remetente do envelope. Portanto, o endereço usado no comando MAIL From SMTP é o usado no parâmetro d .

Não consigo pensar em nenhuma outra maneira de decidir o domínio, o que faria mais sentido do que usar o remetente do envelope.

    
por 28.04.2014 / 02:07

Tags