Publicando registros de chaves de domínio longos no bind9

5

Estou configurando um sistema de email baseado no exim4. Este sistema implementa a assinatura e verificação do DKIM (entre outras coisas). A assinatura parece funcionar sem problemas, mas a verificação não funciona e o exim4 reclama da sintaxe dos meus registros TXT, que carrega minha chave pública dkim:

2014-02-02 22:37:31 1WA5fP-0004Y4-E2 DKIM: d=middle.earth s=a9d04665528b593d263a6e5256648c99 c=relaxed/relaxed a=rsa-sha256 [invalid - syntax error in public key record]

Estou usando uma chave RSA de 2048 bits para assinar meus e-mails no nível do retransmissor de e-mail (isso funciona bem e eu realmente tenho cabeçalhos DKIM nos e-mails transmitidos por esse servidor). O problema parece estar no fato de que bind (meu servidor DNS para essa zona) não suporta registros com mais de 255 caracteres no arquivo de zona. Então eu escolhi dividir o registro como mostrado abaixo, e como descrito no site muito confiável zytrax.com:

...
a9d04665528b593d263a6e5256648c99._domainkey IN  1800 TXT    ("k=rsa,p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz2/ZfhxSI/A"
                                         "bqgh0amM8ylrlosirWeKShUhq7fg12aYmRwOqq9hIzO0Fcz1BzfgHVu6HU++rC5"
                                         "QoUK0JQK/nk4jwkDgvG2di2ZYmAvEbY/VeiK1x/TG0p1Iczr2k6Bj0gEAb/YGD2"
                                         "YbwrwAi4bDXwoPsYuuNn9TB3jjyWKu/dvOsqhff1/4Wc+FkOi0ClvgrXiklN28X"
                                         "TLjyjSyU794ntIoegXxrfwcwkhfPMvuqcnhfIC0Z8L71M4WR4SoHyNHVfBtNlUv"
                                         "VNROiXlMxtxnNQvfViSwz6LC8bYIxeAba3hSXPTChKu3qZtfR0o3jFwEWAfLQdg"
                                         "Ixler0jMEoAyJmfQIDAQAB")

O arquivo de zona completo pode ser encontrado aqui: link

Com essa configuração, o exim reclama do erro acima. Se eu tentar resolver manualmente meus registros dkim aqui é o que eu recebo:

;; ANSWER SECTION:
a9d04665528b593d263a6e5256648c99._domainkey.middle.earth. 1800 IN TXT "k=rsa,p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz2/ZfhxSI/A" "bqgh0amM8ylrlosirWeKShUhq7fg12aYmRwOqq9hIzO0Fcz1BzfgHVu6HU++rC5" "QoUK0JQK/nk4jwkDgvG2di2ZYmAvEbY/VeiK1x/TG0p1Iczr2k6Bj0gEAb/YGD2" "YbwrwAi4bDXwoPsYuuNn9TB3jjyWKu/dvOsqhff1/4Wc+FkOi0ClvgrXiklN28X" "TLjyjSyU794ntIoegXxrfwcwkhfPMvuqcnhfIC0Z8L71M4WR4SoHyNHVfBtNlUv" "VNROiXlMxtxnNQvfViSwz6LC8bYIxeAba3hSXPTChKu3qZtfR0o3jFwEWAfLQdg" "Ixler0jMEoAyJmfQIDAQAB"

Isso não parece muito certo para mim e eu posso imaginar que o exim se perde com essa saída. No entanto, eu não tenho 100% de certeza se é uma resposta DNS normal para um registro DNS tão longo e se o Exim deve lidar com isso, ou se é a maneira que eu me liguei errado.

Qualquer ajuda sobre isso seria apreciada.

Obrigado.

    
por alxgomz 03.02.2014 / 00:22

1 resposta

7

Você está usando vírgulas para separar seus pares de chave / valor em seu registro em vez de ponto e vírgula. Altere para:

a9d04665528b593d263a6e5256648c99._domainkey IN  1800 TXT (
         "k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz2/ZfhxSI/A"
         "bqgh0amM8ylrlosirWeKShUhq7fg12aYmRwOqq9hIzO0Fcz1BzfgHVu6HU++rC5"
         "QoUK0JQK/nk4jwkDgvG2di2ZYmAvEbY/VeiK1x/TG0p1Iczr2k6Bj0gEAb/YGD2"
         "YbwrwAi4bDXwoPsYuuNn9TB3jjyWKu/dvOsqhff1/4Wc+FkOi0ClvgrXiklN28X"
         "TLjyjSyU794ntIoegXxrfwcwkhfPMvuqcnhfIC0Z8L71M4WR4SoHyNHVfBtNlUv"
         "VNROiXlMxtxnNQvfViSwz6LC8bYIxeAba3hSXPTChKu3qZtfR0o3jFwEWAfLQdg"
         "Ixler0jMEoAyJmfQIDAQAB")

Além disso, observarei que no meu arquivo de zona específico, especificamente declaro a versão como v=DKIM1 e acho que você também deveria. Em uma nota lateral, eu não envolvo o registro com ( ) porque eu faço tudo como uma linha longa:

record._domainkey IN 1800 TXT "v=DKIM1;blah" "blah2" "blah3"

É uma preferência pessoal e percebo agora que a sua é certamente muito mais legível.

    
por 03.02.2014 / 14:20

Tags