Ok, eu consegui descobrir isso sozinho, mas eu queria postar as etapas aqui para a posteridade, porque havia zero documentação sobre isso (que eu poderia encontrar) e era praticamente adivinhar e verificar.
Depois de definir "Domínio *", conforme descrito acima, seria assinado assim:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=clientdomain.com;
s=main; t=1250005729;
bh=twleuNpYDuUTZQ/ur9Y2wxCprI0RpF4+LlFYMG81xwE=;
h=Date:From:To:Message-Id:Subject:Mime-Version:Content-Type;
b=kohI7XnLlw/uG4XMJoloc4m9zC13g48+Av5w5z7CVE0u3NxsfEqwfDriapn7s7Upi
31F3k8PDT+eF57gOu2riXaOi53bH3Fn/+j0xCgJf8QpRVfk397w4nUWP/y8tz4jfRx
GhH21iYo05umP0XflHNglpyEX02bssscu2VzXwMc=
observe o "d = clientdomain.com". Isso foi gerado com base no endereço de origem no email, onde o endereço de origem era algo como "[email protected]". Obviamente, se ele verificasse o domínio do cliente e não o meu, não havia registro DNS TXT e a verificação falharia.
De qualquer maneira, descobri nesta documentação que você pode definir um parâmetro KeyList.
http://manpages.ubuntu.com/manpages/hardy/man5/dkim-filter.conf.5.html
Na verdade, não descrevia o que eu queria fazer, mas achei que iria brincar com isso. Comentei o KeyFile e defina KeyList como "/etc/mail/dkim_domains.key", que é um nome de arquivo arbitrário que criei. Criei esse arquivo e coloquei nele "*: feedmailpro.com: /etc/mail/dkim.key". Isso indica para qualquer domínio do cliente, assine com o meu domínio (feedmailpro.com) e use o arquivo dkim.key.
DKIM e postfix reiniciados
sudo /etc/init.d/dkim-filter restart
sudo /etc/init.d/postfix restart
Agora, essa é a chave gerada quando enviei um email de teste.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=feedmailpro.com;
s=dkim.key; t=1250005729;
bh=twleuNpYDuUTZQ/ur9Y2wxCprI0RpF4+LlFYMG81xwE=;
h=Date:From:To:Message-Id:Subject:Mime-Version:Content-Type;
b=kohI7XnLlw/uG4XMJoloc4m9zC13g48+Av5w5z7CVE0u3NxsfEqwfDriapn7s7Upi
31F3k8PDT+eF57gOu2riXaOi53bH3Fn/+j0xCgJf8QpRVfk397w4nUWP/y8tz4jfRx
GhH21iYo05umP0XflHNglpyEX02bssscu2VzXwMc=
Melhoria, você vê que d = now está definido como meu domínio (mesmo que o endereço de origem do email não seja meu domínio). No entanto, s = foi alterado para "dkim.key" em vez do seletor que escolhi no dkim-filter.conf. Nas instruções de configuração originais, eu definiria o seletor para "mail". Isso foi estranho, mas notei que o alterou para o nome do arquivo da minha chave, dkim.key.
Então, mudei o nome "/etc/mail/dkim.key" para "/ etc / mail / mail". Também atualizou a referência a ele em "/etc/mail/dkim_domains.key".
Reinicie o dkim-filter e o postfix novamente da mesma forma que acima, e agora começou a funcionar. Aqui está o cabeçalho final que assina corretamente usando o seletor direito (aparentemente com base no nome do arquivo da chave).
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=feedmailpro.com;
s=mail; t=1250006218;
bh=tBguOuDhBDlhv0m4KF66LG10V/8ijLcAKZ4JbjpLXFM=;
h=Date:From:To:Message-Id:Subject:Mime-Version:Content-Type;
b=c9eqvd+CY86BJDUItWVVRvI3nibfEDORZbye+sD1PVltrcSBOiLZAxF3Y/4mP6vRX
MUUNCC004oIH1u7FYafgF32lpuioMP1cd7bi6x3AZ5zH4BYETNBnnz4AhAPBtqlIh/
FFMz8jkhhLhcM2hDpwJkuKjAe3LzfNVDP8kD11ZI=
Agora s = mail está certo ed = feedmailpro.com está certo. Funciona!
No geral, isso foi muito mais difícil do que eu esperava e parecia não haver documentação sobre como fazer isso (assinatura para todos os domínios de saída), mas acho que é um software de código aberto, então não posso reclamar.
Uma observação final: para verificar se o registro DNS TXT foi configurado corretamente, você pode executar um comando como no seu domínio
dig mail._domainkey.feedmailpro.com TXT
Pode ser necessário instalar o dig (sudo apt-get install dig). Se você estiver usando o gerenciador do Slicehost para adicionar a entrada DNS, insira o registro TXT assim.
Type: TXT
Name: mail._domainkey
Data: k=rsa; t=s; p=M5GfMA0...YOUR LONG KEY...fIDAQAB
TTL seconds: 86400
Eu realmente não entendo por que o nome está definido como "mail._domainkey" sem um período no final ou sem o meu domínio, como "mail._domainkey.feedmailpro.com". Mas seja como for, parece funcionar, então estou feliz.
Se você estiver tentando duplicar isso, aqui estão as instruções com as quais eu comecei:
https://help.ubuntu.com/community/Postfix/DKIM
Inspirado pela resposta de Brian Armstrong para dkim-filter, veja como eu fiz isso no OpenDKIM .
/etc/opendkim.conf
Observe que SigningTable possui refile: em sua definição, isso especifica que o arquivo inclui expressões regulares; no nosso caso, o * curinga.
/ etc / mail / dkim_key_table
Aqui keyname é usado para corresponder à chave entre este arquivo e o arquivo dkim_signing_table. No meu arquivo real, eu o nomeei como meu seletor.
example.com e selector deve ser substituído qual o domínio e seletor que você desejar a ser usado em de sua assinatura d = e s = respectivamente.
/ etc / mail / dkim_signing_table
Este arquivo mapeia o endereço encontrado no cabeçalho De: para uma chave na tabela dkim_key_table. Nesse caso, queremos que todos os emails enviados por este servidor sejam assinados com a mesma chave, portanto, um curinga * é usado.
fonte
Thread antigo, mas talvez alguém que ache isso tenha utilidade em saber que a versão 2.x do opendkim trabalha com KeyTable em vez de KeyList.
Você pode converter seu arquivo KeyList com a ferramenta opendkim-convert-keylist ( http://manpages.ubuntu.com/manpages/lucid/man8/opendkim-convert-keylist.8.html )
Você pode ler mais sobre a implementação do KeyTable na página do manual opendkim: ( http://www.opendkim.org/opendkim.conf.5.html )
fonte
A documentação para o filtro DKIM geralmente é instalada no formato man unix. Somente o Google sabe :-) Eu também tive um problema.
Eu tentei no Debian. Se não estiver realmente na sua distribuição, você pode baixar o tarball de origem e o documento de fácil leitura.
etc.
-
Para que você possa usar exatamente o mesmo nos dois registros DNS de domínios diferentes.
fonte