Amazon SES и подтверждение DKIM в разных панелях управления

Amazon Simple Email ServicesВсё началось с того, что надо было подключить к Amazon Simple Email Service (Amazon SES) подпись DKIM. Но панель управления DNS отказалась проходить такую верификацию.

Amazon SES нам выдали записи для подтверждения владением доменом:
"Record name","Record type","Record Value"
52djzcnmdacecxkbgzwxsfxpmnhfa57k._domainkey.artemka45.ru","CNAME","52djzcnmdacecxkbgzwxsfxpmnhfa57k.dkim.amazonses.com
"mrxcednnqdhzyaf6725wxcnwdc3p7yaf._domainkey.artemka45.ru","CNAME","mrxcednnqdhzyaf6725wxcnwdc3p7yaf.dkim.amazonses.com"
"srmtzrxn7rr43o2erisj3jpqc3u4ej7b._domainkey.artemka45.ru","CNAME","srmtzrxn7rr43o2erisj3jpqc3u4ej7b.dkim.amazonses.com"






ISPmanager

Но панель управления ISPmanager отказалась его принимать.
И выдала ошибку:

ISPmanager_CNAME

52djzcnmdacecxkbgzwxsfxpmnhfa57k._domainkey.artemka45.ru

В строке имени CNAME содержится 118 символов — на длину оно не ругается.

52djzcnmdacecxkbgzwxsfxpmnhfa57k.domainkey.artemka45.ru

Так — принимает. ))) Значит ругается на нижнее подчеркивание в имени CNAME.

Обратившись на форум разработчиков этой панели — так и не получил ответ от них.
Обратился к хостеру сервера — и служба поддержки так и сказала, что ошибка не ихняя и что обратятся к разработчикам ISPmanager, но не обещали, что разработчики быстро поправят и поправят ли вообще…
А клиент просил, чтобы было подтверждение цифровой подписью для рассылки e-mail.



Selectel.ru

Пришлось использовать мой DNS сервер Selectel.ru

Но у них тоже есть свои особенности, в том чтобы имя домена было написано по особому.

К примеру Google выдаёт запись DKIM в виде:
"google._domainkey",
"TXT",
"v=DKIM1; k=rsa; p=MIG...."


А в этот DNS надо записывать запись имени в полном виде т.е. не
"google._domainkey", а «google._domainkey.artemka45.ru»

Поэтому тут записываем полностью имя домена: «52djzcnmdacecxkbgzwxsfxpmnhfa57k._domainkey.artemka45.ru», а не как обычно в ISPmanager короткую "52djzcnmdacecxkbgzwxsfxpmnhfa57k._domainkey"

selectel

Запись CNAME прописалась нормально и очень быстро.

Но тут еще одна особенность: Если ваш ключ DKIM длиной 1024 бита то ваша строка будет выглядеть так:
v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCgtGNweB764HKp0bvJ4otUYUVIHg3CFIPF7xvCAo9SadROvgjdUNu9RGYYZj5En37qxBZqz+CwSA7CytqbcQ5W8VD41ToXLqFMpcSWmoHslc89XQRGOF4bVD2VzWDl19JuTllCa/o4eB92+2V9HPiF9M7y/2dWZsA7mQuPQUaImQIDAQAB3bU1eI4SP6JHKKERexk/A5+bUB2ozAkCAwEAAQ==

строка содержит 267 символов, а Selectel её обрежет до 255 символов и ваша подпись не будет работать, в то самое время Яндекс.PDD и ISPmanager обрабатывают строку полностью.



PS
Проверяем установку CNAME записи с серверов Google
nslookup -type=any 52djzcnmdacecxkbgzwxsfxpmnhfa57k._domainkey.artemka45.ru 8.8.8.8


Проверяем установку записи с сервера DNS т.е. ns1.selectel.org

Если видите, что nslookup выдал запись с текстом "canonical name =" то это означает, что запись CNAME установлена правильно и отдаётся DNS-сервером.

Ставим DKIM выданный после верификации домена от Amazon SES:

"_amazonses.artemka45.ru", "TXT",	"WaNsUTA4ZX7sv0AxeKizyMlsvBqHNeukw/f+f7B3jIA="


запись CNAME установлена правильно и отдаётся DNS-сервером

Проверяем установку записи с сервера DNS т.е. ns1.selectel.org
nslookup -type=any _amazonses.artemka45.ru ns1.selectel.org


запись которую установили - отдаётся правильно

Как видите, запись открытого ключа шифрования DKIM, который установили — отдаётся правильно.



Яндекс.PDD


Тут тоже свои особенности записи DNS и которые в плюс.

При записи:
"srmtzrxn7rr43o2erisj3jpqc3u4ej7b._domainkey.artemka45.ru",
"CNAME",
"srmtzrxn7rr43o2erisj3jpqc3u4ej7b.dkim.amazonses.com"

В записи надо домен перенаправления указывать на конце с точкой «srmtzrxn7rr43o2erisj3jpqc3u4ej7b.dkim.amazonses.com.», а если не укажете точку, то Яндекс вас сам поправит и внесёт нужную запись.

Имя домена CNAME можно указывать и "srmtzrxn7rr43o2erisj3jpqc3u4ej7b._domainkey.artemka45.ru" и сокращённо "srmtzrxn7rr43o2erisj3jpqc3u4ej7b._domainkey"
так и так Yandex.PDD отдаст запись правильно.

Yandex.PDD отдаст запись правильно



Amazon SES verified


Если долгое время проверка ваших CNAME-записей не прошла, то увидите это:

Amazon SES проверка ваших CNAME-записей не прошла

Такое увидите, если Amazon ожидает проверки вашей записи.

Amazon SES ожидает проверки вашей записи

После подтверждения владения доменом. Тут надо включить, чтобы выши письма подписывались DKIM подписью.

Amazon SES надо включить, чтобы выши письма подписывались DKIM подписью

Так будут подписываться все исходящие письма с вашей цифровой подписью.

Amazon SES Так будут подписываться все исходящие письма  с вашей цифровой подписью

Так будет выглядеть если всё прошло удачно и ваша проверка и запись открытого ключа шифрования DKIM внесена в DNS.

Amazon SES DKIM внесена в DNS



PS Так-то, данное исследование пригодилось чтобы переписать и найти ошибки в моём скрипте по быстрому переносу DNS записей от одного хостера к другому. В случае аварии у моего DNS-провайдера, все сайты будут переведены на другой хостинг. Тем самым вовремя заметил, что selectel.ru обрезает цифровую подпись, а так бы не заметил и перенеся все сайты туда — часть бы не работала с длинной строкой. Поэтому приходится постоянно дорабатывать этот скрипт.
  • 0

Нет комментариев