Коротко
DKIM (DomainKeys Identified Mail) — це криптографічний підпис, який ваш поштовий сервер додає до кожного вихідного листа. Публічний ключ для перевірки цього підпису лежить у DNS вашого домену. Одержувач бере ключ, перевіряє підпис і отримує дві гарантії: лист справді надіслано від імені цього домену, і його вміст дорогою не змінювали.
Як це працює
- Ви генеруєте пару ключів — приватний і публічний.
- Приватний залишається у поштового сервіса, публічний ви публікуєте у DNS.
- Під час відправлення сервіс підписує приватним ключем заголовки листа й тіло.
- Одержувач знаходить у DNS публічний ключ, перевіряє підпис і бачить результат:
passабоfail.
Підпис додається до листа заголовком DKIM-Signature, у якому серед іншого є два важливі поля:
s=— селектор, тобто який ключ використовувати;d=— домен, від імені якого підписано лист.
Поле d= варте окремої уваги: саме воно порівнюється з доменом у From:, коли DMARC перевіряє узгодження.
Селектори
Селектор — це мітка, яка дозволяє мати кілька ключів одночасно. Запис у DNS будується так:
<селектор>._domainkey.<ваш-домен>
Наприклад, для селектора google домену example.com запис живе за адресою google._domainkey.example.com.
Кілька селекторів потрібні у двох випадках: коли пошту надсилають різні сервіси, кожен зі своїм ключем, і коли ви змінюєте ключ — новий публікується поруч зі старим, а старий видаляється лише після того, як усі листи, підписані ним, доставлено.
Довжина ключа й ротація
Беріть 2048 біт, якщо провайдер підтримує. Ключі на 1024 біти ще працюють, але вважаються застарілими. Якщо панель DNS відмовляється приймати довге значення, розбийте його на кілька рядків у лапках — більшість провайдерів такий формат розуміє.
Ключі варто періодично змінювати. Порядок безпечної ротації простий: опублікувати новий селектор, перемкнути сервіс на нього, зачекати кілька днів і лише потім видалити старий запис.
Чому DKIM важливіший за SPF
Обидва механізми потрібні, але поводяться вони по-різному в одній поширеній ситуації — при пересиланні.
Коли одержувач пересилає лист далі, його надсилає вже сервер посередника. Для SPF це чужа адреса, тож перевірка провалюється. А підпис DKIM прив'язаний до самого листа, а не до сервера, — і залишається дійсним.
Саме тому, коли політика DMARC доходить до quarantine або reject, спираються насамперед на узгодження за DKIM: воно виживає там, де SPF ламається.
Типові помилки
- Запис опубліковано, але підписування не увімкнено. Найпоширеніший випадок: у Google Workspace потрібно ще натиснути «Почати автентифікацію», у Microsoft 365 — перемкнути тумблер у Defender. До цього моменту бездоганний запис DKIM просто не використовується.
- Підпис ставить сторонній домен. Якщо сервіс розсилок підписує листи власним доменом, DKIM пройде, а узгодження — ні. Потрібен власний ключ на вашому домені.
- Значення ключа обрізане. Довгий запис при копіюванні часто втрачає кінець. Перевірте, що опубліковане значення збігається з виданим повністю.
Подивитися, які селектори й ключі DKIM зараз опубліковані у вашому домені, можна безкоштовною перевіркою DKIM.