Rrdatas not ordered correctly by Google Cloud DNS

I am setting up a DKIM record which has more than 255 characters, in Google Cloud DNS. I have split it into 2 values as recommended in https://support.google.com/a/answer/173535. Вот как это отображается в 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

Но когда я запрашиваю это с помощью dig или mxtoolbox, он показывает rrdatas.1 как первое значение и rrdatas.0 как второе, таким образом, неправильно собирая значение.

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

Я делаю что-то неправильно? Или это проблема с Google Cloud DNS? Есть ли способ обойти это без изменения ключа, поскольку это не в моей власти.

1
задан 24 October 2018 в 17:26
1 ответ

Похоже, что значение DKIM было добавлено неправильно, да.

Похоже, что вы добавили две отдельные записи TXT со значением каждой строки, а не одну TXT запись с обеими строками. (Да, записи TXT являются многозначными, а ограничение длины - на значение)

Спецификация DKIM допускает длинные значения, она определена так, что если запись TXT имеет несколько значений, то их следует объединить в одну длинную строку, прежде чем разбирать как значение DKIM.
. Однако несколько отдельных записей TXT никак не должны быть объединены.

т.е., как говорится в статье Поддержки Google, длинная строка должна быть разбита на более короткие части, но все эти части все равно должны быть в одной записи.
. (Это требование на уровне DNS, в некоторых случаях интерфейс взаимодействует с абстракцией такого поведения)

В формате мастер-файла ваша запись будет:

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

Не похожа на то, что вы сейчас имеете:

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"


Как видно больше из примечания, в DNS в целом не определен порядок следования записей в пределах RRset (набор записей, имеющих одно и то же имя владельца , класс и тип ).
. Предполагается, что порядок, который вы использовали при добавлении записей, не обязательно должен сохраняться (как в вашем примере), но это не имеет значения в контексте DKIM, так как все равно все значение DKIM должно быть в пределах одной и той же записи TXT .

1
ответ дан 3 December 2019 в 23:10

Теги

Похожие вопросы