Como insiro uma chave DKIM strong (longa) no DNS?

12

Estou tentando inserir uma chave DKIM de 4028 bits no DNS e parece que estou excedendo o limite de bytes UDP de 512 e também o tamanho máximo de registro para um registro TXT.

Como alguém cria apropriadamente uma chave grande (com tamanho de código maior implícito) e a importa para o DNS?

    
por random65537 04.04.2011 / 20:38

3 respostas

20

Você precisa dividi-los no campo de texto. Acredito que 2048 é o limite prático para tamanhos de chaves. Divida o campo de texto em partes de 255 caracteres ou menos. Há sobrecarga para cada divisão.

Existem dois formatos para campos longos.

TXT "parte um" \         "parte dois"

TXT ("primeira parte"          "parte dois")

Ambos serão combinados como "parte onepart two". Mais detalhes da Zytrax.

Para gerar minha entrada dkim, insiro meu arquivo de chave pública e o pluto entre aspas.
Meu arquivo de chave pública contém o seguinte:

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3
q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0
ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB

Depois de editar a chave no meu arquivo de zona dns aparece da seguinte forma:

dkim3._domainkey        IN      TXT     ("v=DKIM1; t=s; p=" 
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3"
"q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0"
"ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB")

O DNS retorna da seguinte forma:

 bill:~$ host -t TXT dkim3._domainkey.systemajik.com
 dkim3._domainkey.systemajik.com descriptive text "v=DKIM1\; t=s\; p=" "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3" "q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0" "ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB"

O DNS trata-o como uma string longa sem espaços extras onde as linhas são unidas. Todas as seqüências " " são ignoradas.

    
por 05.04.2011 / 00:49
0

Tudo bem se o registro for maior que o limite UDP de 512 bytes, porque o DNS usará o TCP.

Isso deve ser transparente para o usuário, mas às vezes os dispositivos de firewall com bugs (como o Cisco PIX / ASA) filtram / bloqueiam essas consultas maiores.

    
por 19.04.2011 / 18:42
-1

Se você estiver usando o MySQL / MariaDB como seu back-end de DNS, como o PowerDNS, poderá redimensionar sua coluna de conteúdo.

O tamanho do conteúdo padrão do PowerDNS é VARCHAR (255)

Assim, sua assinatura DKIM será cortada para 255 caracteres

para corrigir isso

apenas altere o tamanho do conteúdo via CLI / MariaDB CLI do MySQL

mysql -u root -p

USE powerdns;
alter table records modify column content text not null;

reinicie seu serviço DNS (por exemplo, PowerDNS)

service pdns restart
    
por 11.12.2017 / 10:28