Что такое запись DKIM?
DKIM добавляет к исходящей почте криптографическую подпись; получатели проверяют её по открытому ключу, который вы публикуете в DNS по адресу selector._domainkey.your-domain. Поскольку DNS не позволяет перечислить селекторы, IPeek проверяет селекторы, используемые Google, Microsoft, Amazon SES и другими крупными провайдерами.
Как работают подпись и проверка DKIM
Когда вы отправляете письмо, ваш провайдер подписывает выбранные заголовки и тело сообщения закрытым ключом, добавляя в сообщение заголовок DKIM-Signature. Получатель считывает теги d= (домен) и s= (селектор) из этого заголовка, извлекает соответствующий открытый ключ по адресу selector._domainkey.d и проверяет подпись. Если она валидна, содержимое не было изменено в пути и действительно отправлено владельцем ключа для этого домена. Закрытый ключ остаётся на отправляющем сервере; в DNS хранится только открытый ключ.
Селекторы и открытый ключ в DNS
Селектор позволяет одному домену публиковать несколько ключей DKIM — это удобно для ротации или для разных служб отправки. Открытый ключ — это TXT-запись по адресу selector._domainkey.your-domain, например google._domainkey.example.com, содержащая v=DKIM1; k=rsa; p=<открытый ключ в base64>. Поскольку DNS не предоставляет каталога селекторов, нельзя просто спросить, какие из них использует домен. Именно поэтому IPeek проверяет распространённые селекторы, используемые Google (google), Microsoft, Amazon SES и другими крупными провайдерами, чтобы найти ваши опубликованные ключи.
Как DKIM связан со SPF и DMARC
DKIM — это уровень аутентификации содержимого из трёх. Если SPF авторизует отправляющие хосты по IP, DKIM криптографически доказывает, что заголовки и тело сообщения не были подделаны, и привязывает его к подписывающему домену. DMARC затем проверяет, что подписывающий домен DKIM согласуется с видимым адресом From. У DKIM есть важное преимущество перед SPF: поскольку подпись путешествует вместе с сообщением, она переживает пересылку, на которой SPF часто ломается. Для надёжной доставляемости публикуйте DKIM и согласуйте его в рамках DMARC.