Rrdatas não ordenadas corretamente pelo DNS do Google Cloud

1

Estou configurando um registro DKIM com mais de 255 caracteres no Google Cloud DNS. Dividai-o em dois valores, conforme recomendado no link . É assim que mostra em terraform.

$ terraform show
google_dns_record_set.siteground_dkim:
  id = rightleadsio/default._domainkey.rightleads.io./TXT
  managed_zone = rightleadsio
  name = default._domainkey.rightleads.io.
  project = rlautomation-156511
  rrdatas.# = 2
  rrdatas.0 = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApRvh3MHFry0h4WxY+flc29BDr750WmoaWdwQZwZ56HcdBE+wu6dd849IbMYT6uSCqT3SHpU2D6wVe9B3zlz0H4aZ75GUOTRl72FiTv5Q4Ru+NQ/4s1lwtgcyoJUnfVkxm8fT7qZiRwr+F7Wf7IqvNNVfPG2+0q5QUlgeu2ddXxjipaPMzIv1hxiHF75Pgse85"
  rrdatas.1 = "zb3PdAsa8wHMhyvHMkS6wwXTiW8Mll2KFyLMjtq5RL56VE5ew+aY1wk6CjpKgvoCXbDJGc3pIa2FQQFhiVwNY/HJBEArM4yoM1y98RF7F7VgWYkLYqpvWbnQtaENcS67NGynJ1ViLIELLfINLRHywIDAQAB"
  ttl = 3600
  type = TXT

Mas, quando eu procuro isto usando dig ou mxtoolbox, ele mostra rrdatas.1 como o primeiro valor e rrdatas.0 como o segundo, portanto não montando o valor corretamente.

$ dig +short txt default._domainkey.rightleads.io
"zb3PdAsa8wHMhyvHMkS6wwXTiW8Mll2KFyLMjtq5RL56VE5ew+aY1wk6CjpKgvoCXbDJGc3pIa2FQQFhiVwNY/HJBEArM4yoM1y98RF7F7VgWYkLYqpvWbnQtaENcS67NGynJ1ViLIELLfINLRHywIDAQAB"
"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApRvh3MHFry0h4WxY+flc29BDr750WmoaWdwQZwZ56HcdBE+wu6dd849IbMYT6uSCqT3SHpU2D6wVe9B3zlz0H4aZ75GUOTRl72FiTv5Q4Ru+NQ/4s1lwtgcyoJUnfVkxm8fT7qZiRwr+F7Wf7IqvNNVfPG2+0q5QUlgeu2ddXxjipaPMzIv1hxiHF75Pgse85"

Estou fazendo algo errado? Ou é problema do Google Cloud DNS? Existe alguma maneira de contornar isso sem mudar a chave, uma vez que isso não está sob meu controle.

    
por mehulved 24.10.2018 / 16:26

1 resposta

1

Parece que o valor DKIM foi adicionado de forma errada, sim.

Parece que você adicionou dois registros TXT separados com um valor de string cada, não um registro TXT com as duas strings. (Sim, os registros TXT têm vários valores e a limitação de comprimento é por valor.)

O último é como a especificação DKIM permite valores longos, é definido de tal forma que se um registro TXT tiver vários valores, eles devem ser concatenados em uma cadeia longa antes de serem analisados como um valor DKIM. Vários registros TXT separados, no entanto, não devem ser combinados de forma alguma.

Ou seja, como diz o artigo do Suporte do Google, uma string longa precisa ser dividida em partes mais curtas, mas essas partes ainda devem estar em um único registro.
(Esse é o requisito no nível do DNS, em alguns casos, a interface com a qual interage abstrai esse comportamento).

No formato de arquivo mestre, seu registro seria:

default._domainkey.rightleads.io. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApRvh3MHFry0h4WxY+flc29BDr750WmoaWdwQZwZ56HcdBE+wu6dd849IbMYT6uSCqT3SHpU2D6wVe9B3zlz0H4aZ75GUOTRl72FiTv5Q4Ru+NQ/4s1lwtgcyoJUnfVkxm8fT7qZiRwr+F7Wf7IqvNNVfPG2+0q5QUlgeu2ddXxjipaPMzIv1hxiHF75Pgse85" "zb3PdAsa8wHMhyvHMkS6wwXTiW8Mll2KFyLMjtq5RL56VE5ew+aY1wk6CjpKgvoCXbDJGc3pIa2FQQFhiVwNY/HJBEArM4yoM1y98RF7F7VgWYkLYqpvWbnQtaENcS67NGynJ1ViLIELLfINLRHywIDAQAB"

Não é como você parece ter agora:

default._domainkey.rightleads.io. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApRvh3MHFry0h4WxY+flc29BDr750WmoaWdwQZwZ56HcdBE+wu6dd849IbMYT6uSCqT3SHpU2D6wVe9B3zlz0H4aZ75GUOTRl72FiTv5Q4Ru+NQ/4s1lwtgcyoJUnfVkxm8fT7qZiRwr+F7Wf7IqvNNVfPG2+0q5QUlgeu2ddXxjipaPMzIv1hxiHF75Pgse85"
default._domainkey.rightleads.io. 3600 IN TXT "zb3PdAsa8wHMhyvHMkS6wwXTiW8Mll2KFyLMjtq5RL56VE5ew+aY1wk6CjpKgvoCXbDJGc3pIa2FQQFhiVwNY/HJBEArM4yoM1y98RF7F7VgWYkLYqpvWbnQtaENcS67NGynJ1ViLIELLfINLRHywIDAQAB"


Quanto mais uma nota lateral, no DNS em geral não há nenhuma ordem definida para os registros dentro de um RRset (o conjunto de registros que têm o mesmo nome do proprietário , class e type ).
Espera-se que a ordem usada ao adicionar registros não seja necessariamente mantida (como em seu exemplo), mas isso não é uma preocupação no contexto do DKIM, pois o valor DKIM inteiro deve estar no mesmo registro TXT .

    
por 25.10.2018 / 23:32