Маршрут 53 не позволяет добавлять ключи DKIM, потому что длина слишком велика

Вот как я могу ввести значение для ключа DKIM:

"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwztXzIUqic95qSESmnqX U5v4W4ENbciFWyBkymsmmSNOhLlEtzp/mnyhf50ApwCTGLK9U7goo/ijX/wr5roy XhReVrvcqtIo3+63a1Et58C1J2o4xCvp0K2/lM6hla4B9jSph7QzjYdtWlOJqLRs o0nzcut7DSq/xYcVqvrFDNbutCfG//0wcRVUtGEyLX/a/7mAAkW6H8UEYMPglQ9c eEDfTT6pzIlqaK9cHGOsSCg4r0N8YxnHFMRzKaZwmudaXTorSbCs7e681g125/vJ e82VV7DE0uvKW/jquZYtgMn7+0rm+2FDYcDx/7lzoByl91rx37MAJaUx/2JHi1EA nwIDAQAB"

В этом значении нет новых строк (я специально скопировал вставил и протестировал его в текстовом редакторе). Но по какой-то причине я продолжаю получать TXT слишком длинная ошибка:

TXTRDATATooLong встречается на "V =DKIM1; к = RSA; р =MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwztXzIUqic95qSESmnqX U5v4W4ENbciFWyBkymsmmSNOhLlEtzp/mnyhf50ApwCTGLK9U7goo/ijX/wr5roy XhReVrvcqtIo3+63a1Et58C1J2o4xCvp0K2/lM6hla4B9jSph7QzjYdtWlOJqLRs o0nzcut7DSq/xYcVqvrFDNbutCfG//0wcRVUtGEyLX/ а /7mAAkW6H8UEYMPglQ9c eEDfTT6pzIlqaK9cHGOsSCg4r0N8YxnHFMRzKaZwmudaXTorSbCs7e681g125/ VJ e82VV7DE0uvKW/jquZYtgMn7+0rm+2FDYcDx/7lzoByl91rx37MAJaUx/2JHi1EA nwIDAQAB"

Я действительно не знаю, что я должен сделать, чтобы решить эту проблему.

8 ответов

Решение

Смотрите похожую проблему на форуме Route 53:

К сожалению, ограничение в 255 символов на строку в записях TXT - это не ограничение Route53, а ограничение, налагаемое самим протоколом DNS. Однако каждая запись TXT может содержать несколько строк, каждая длиной 255 символов. Вам нужно будет разделить ваш DKIM на несколько строк для записи TXT. Вы можете сделать это через консоль, введя каждую строку, заключенную в кавычки, по одной строке на строку.

Важное примечание: не используйте "одну строку на строку", как сказано в инструкциях - отдельные строки с одним пробелом, например. "foo" "bar" не "foo"\n"bar", Используйте DKIMValidator для проверки правильности чтения подписи.

Вы можете нарезать его на куски цитируемого текста с максимальной длиной 255 за кусочек. Вам не нужно делать каждый кусок точным.

Например, если ваше значение выглядит примерно так:

"v=DKIM1; k=rsa; p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc"

Вы можете нарезать его в произвольных местах:

"v=DKIM1; k=rsa; p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz" "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzab" "cdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc"

Обратите внимание, что это отдельные пробелы, а не переводы строк между каждым фрагментом!

Неудивительно, что инструкции по настройке Google ужасны. Я только что написал полное руководство о том, как сделать это на Route53.

DKIM на AWS Route53

Вы должны разделить запись DMARC на 255 символов. Если вам довелось разместить свой DNS с помощью AWS Route53, вставьте каждую часть, заключенную в "..." в записи.

Не используйте переводы строк для разделения частей, потому что это будут отдельные записи TXT.

v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2

становится

"v=DKIM1; k=rsa; p=ABC123longkeypart1" "ABC123longkeypart2"

Использование Terraform и Route53

При использовании Terraform для предоставления ваших записей Route53 вы также должны разделить ключ DKIM на 255 символов.

Поскольку Terraform заботится о цитировании TXT-записи, вы должны указывать только кавычки между каждой частью, например \"\",

v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2

становится

resource "aws_route53_record" "some_domain_dkim" {
  zone_id = "${aws_route53_zone.some_domain.zone_id}"
  name    = "google._domainkey.some_domain.com."
  type    = "TXT"
  ttl     = "3600"

  records = [
    "v=DKIM1; k=rsa; p=ABC123longkeypart1\"\"ABC123longkeypart2"
  ]
}

Смотрите также: https://www.terraform.io/docs/providers/aws/r/route53_record.html

Вы можете просто выбрать 1024 вместо 2048 и добавить это к маршруту 53 во время генерации TXT в Google Apps

На AWS Route 53 создайте или отредактируйте запись TXT для DKIM и выберите опцию «использовать мастер», а не метод быстрого ввода. Имя записи должно быть default._domainkey.yourdomain.com (или около того) и тип записи TXT. Вы все это уже знаете, но липкий бит — это записи из 256 символов.

В поле значения записи вырежьте и вставьте «все в скобках», вывод sudo cat /etc/opendkim/keys/yourdomain.com/default.txt

Удалите кавычки, поместите каждую строку в кавычках в отдельную строку без кавычек и нажмите кнопку «Отправить».

Вернитесь и отредактируйте его, и вы увидите, что кавычки были вставлены. Эти строки в кавычках находятся на трех отдельных строках, что приводит к появлению нескольких записей, а не одной, поэтому отредактируйте значение записи и вместо этого замените символ новой строки пробелом (слово обертка сделает его одинаковым, но он будет другим по своему характеру, когда он хранится в записи зоны, и по причинам, не зависящим от меня, он отображается как одна запись, разделенная на фрагменты <256 символов, а не как три отдельные записи.

Спасибо Оверберду выше за указание на это.

Это сделано для быстрого и простого входа в AWS, добавляя немного больше контекста на случай, если мне самому или другим нужно будет найти информацию о AWS Route 53 DNS TXT DKIM EC2 256 символов opendkim вызывает проблемы с длинной записью.

На световом парусе Amazon мне пришлось заключить отдельные тексты в дополнительные кавычки, например:

      "v=DKIM1;k=rsa; p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"

Становится:

      ""v=DKIM1;k=rsa; p=abcdefghijklmnopqrstuvwxyz" "abcdefghijklmnopqrstuvwxyz""

Вот как я заставил 2048-битный dkim работать на маршруте 53 AWS. Изначально это было так, и это не удалось.

"v=DKIM1; k=rsa;" "p=MII...EndofKeyOne" "4tOt...EndofKeyTwo"

Вот что сработало ниже:

"v=DKIM1; k=rsa; p=" "MII...EndofKeyOne" "4tOt...EndofKeyTwo"

Примечание: (1) Это просто один пробел, который отделяет двойные кавычки первого ключа от второго, а не разделение строк. (2) Первый ключ начинался с новой строки со знаком двойной кавычки (я предполагал, что он все еще мог начинаться с той же спецификации, что и спецификации v и k, и все равно работал бы).(3) Этот тег p (тег открытого ключа) был вставлен в открывающие и закрывающие двойные кавычки, которые начинают значение, т.е. «v=DKIM1; k=rsa; p=" (4) Пункт 3 на самом деле является недостающей загадкой, которая выполнить настройку.

Используйте это, чтобы разделить txt-запись DNS с ограничением в 255 https://www.mailhardener.com/tools/dns-record-splitter

Просто возьмите текст внутри v=

      "default._domainkey.blabla.app. 1   IN  TXT "v=DKIM1; k=rsa; p=asdfjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq9BqhK5AKY7d8aE3hEqUaqdth+0Vj9iCYUhl51iNonhJP84wVXvcZe5IRcIAGd7cLSs3nYfL/Nlp8NFIPiOmvjEp6DCVmUw5rQLwz876+umizg/Zg0LYgEUDo8od2YbBBAkNkrpWetaHf2AV+f5NeWio" "ocDMzS80pVuCdQVi/ONW5kJ1Oej/GqSfxg2aFXSN3F06GoyAJ38tCGgGGFJHJWJjP1mIQJGXJ46RsQxM2AKm42KDkROKU3YNjQMXmADwXLHKfr8bRzEUPCcf9zPj8FIpJDspFAiXpTxgOG5w5IlP04v5XjPfoyr+c1A71e1fYaYBpJ4+P6KnZdzcWbvGIQIDAQAB;""

например.

      "v=DKIM1; k=rsa; p=asdfjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq9BqhK5AKY7d8aE3hEqUaqdth+0Vj9iCYUhl51iNonhJP84wVXvcZe5IRcIAGd7cLSs3nYfL/Nlp8NFIPiOmvjEp6DCVmUw5rQLwz876+umizg/Zg0LYgEUDo8od2YbBBAkNkrpWetaHf2AV+f5NeWio" "ocDMzS80pVuCdQVi/ONW5kJ1Oej/GqSfxg2aFXSN3F06GoyAJ38tCGgGGFJHJWJjP1mIQJGXJ46RsQxM2AKm42KDkROKU3YNjQMXmADwXLHKfr8bRzEUPCcf9zPj8FIpJDspFAiXpTxgOG5w5IlP04v5XjPfoyr+c1A71e1fYaYBpJ4+P6KnZdzcWbvGIQIDAQAB;"

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