Подчеркивание в CNAME, требуемое SES, не разрешено регистратором [закрыто]

почтовая служба Amazon SES требует аутентификации DKIM. Одним из шагов аутентификации является добавление записи CNAME в DNS вашего домена.

к сожалению, запись CNAME имеет подчеркивание. Мой регистратор, сетевые решения, не разрешает подчеркивания в записях CNAME.

есть ли обходной путь для этого? Перевод в другой регистратор-это вариант, но, очевидно, ужасный вариант.

4 ответов


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

ваш DNS авторитетный поставщик nameservice должен позволить вам поместить метки с подчеркиванием (которое требуется DKIM) в файл зоны вашего домена. Если нет, выберите другой поставщик DNS-службы имен или используйте собственные серверы имен.

какой DNS регистратор вы используете не имеет ничего общего с ним. Регистратор не контролирует содержимое домена и даже не будет знать об этом.

возможно, ваш регистратор и поставщик DNS-имен являются одной и той же организацией, но они являются отдельными ролями и должны рассматриваться отдельно.


после более чем двух часов по телефону с обслуживанием клиентов сетевых решений они вручную вводят записи аутентификации Amazon SES DKIM для меня.

во-первых, то, что они не позволяют подчеркивания в их CNAME неправильное поведение.

согласно RFC 1034:

имена, которые не являются именами хостов, могут состоять из любого печатаемого символа ASCII.

стандарт DKIM требует подчеркивания, согласно RFC 4871:

все ключи DKIM хранятся в поддомене с именем "_domainkey". Дали DKIM-поле подписи с тегом" d= "example.com" и тег " s=" "фу.bar", запрос DNS будет для "foo.bar._domainkey.example.com".

RFC 1034 описывает запись CNAME и указывает, что CNAME RR не является (обязательно) a hostname, поэтому любой печатаемый символ ASCII должен быть разрешен. Сетевые решения ошибочны в этом.

в то время как DKIM записи могут храниться как TXT records, Amazon SES использует записи CNAME, чтобы они могли вращать клавиши. Что должно быть возможно, если не для неумелых политик сетевого решения.

для получения большей информации об этом, я рекомендую этот сайт, что объясняет, что любые записи DNS, которые не являются hostnames (какие поля в CNAME может быть, но не обязательно) должны быть разрешены подчеркивания.

для того, чтобы, наконец, заставить их вручную ввести записи, им нужно было увеличить штраф. Это нужно было сделать по телефону, на мой первоначальный электронный билет ответили неутешительным ответом: "вам нужно позвонить."

мне пришлось несколько раз объяснять, что другие серверы имен позволяют подчеркивания в CNAME и что если они не могут разместить нас, мы немедленно переключимся.

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

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

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


DKIM требует поддомен с именем _domainkey (RFC 4871) (и подчеркивания полностью действительны для поддоменов).

что делать, если поставщик DNS не позволяет им?

  1. свяжитесь с ними, они должны исправить это, и если вы можете, рассмотреть вопрос об изменении поставщика.
  2. как временное решение скопируйте непосредственно запись TXT (это временно, потому что она может измениться в некоторые моменты, и вам придется обновить), см. ниже:

например SendGrid он попросит вас указать CNAME s1._domainkey.example.com to s1.domainkey.u1234567.00000.sendgrid.net, поэтому получите запись TXT через:

$ host -t txt s1.domainkey.u1234567.00000.sendgrid.net
s1.domainkey.u1234567.00000.sendgrid.net descriptive text "k=rsa\; t=s\; p=SOMETHING+VERY+LOOOOOOOONG"

Теперь создайте запись TXT для поддомена s1._domainkey С содержанием as (не забудьте un-escape \ например):

k=rsa; t=s; p=SOMETHING+VERY+LOOOOOOOONG

форум Amazon (https://forums.aws.amazon.com/thread.jspa?threadID=119464) говорит, что вы можете использовать запись TXT, если запись CNAME не работает:

" установите запись TXT в моих настройках DNS, эта запись выглядит так: Название: ._domainkey.mydomain.com Тип: TXT Значение: "p=AAZZZZZZEEEEEERRRRRRRRTTTTTTTYYYYYYYYYYY..","

Я еще не смог заставить это работать, но я думаю, что это правильное направление, так как маловероятно, что я смогу yahoo et.ал. чтобы изменить политику DNS.