Rrdatas неправильно упорядочен Google Cloud DNS

Я настраиваю запись DKIM длиной более 255 символов в Google Cloud DNS. Я разделил его на 2 значения, как рекомендовано в https://support.google.com/a/answer/173535. Вот как это показано в терраформе.

$ 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 ответ

Решение

Похоже, что значение 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 запись в любом случае.

Другие вопросы по тегам