Перевірка DKIM запису
Знайдемо DKIM-ключ домену за селектором, перевіримо синтаксис і довжину ключа.
Перевірка DKIM-запису та ключа
DKIM підписує кожен лист ключем домену, а отримувач перевіряє підпис за публічним ключем із DNS — на імені селектор._domainkey.домен. Інструмент знаходить цей запис за вашим селектором або перебирає 30 поширених (Google Workspace, Microsoft 365, Mailchimp, SendGrid, Zoho, Fastmail, Proton, HubSpot та інші), іде за CNAME, розбирає теги й рахує довжину RSA-ключа. Селектори через DNS перелічити не можна, тому «не знайдено» означає лише «не знайдено серед перевірених».
Як користуватися
- Введіть домен; селектор можна взяти із заголовка DKIM-Signature (s=)
- Без селектора перевіримо 30 поширених — це займає кілька секунд
- Перевірте статус ключа й замініть ключі коротші за 2048 біт
FAQ
Як працює DKIM і що перевіряє інструмент
DKIM (DomainKeys Identified Mail) додає до кожного листа цифровий підпис. Поштовий сервер відправника підписує заголовки й тіло листа закритим ключем, а отримувач бере відкритий ключ із DNS і перевіряє, що лист не змінювали дорогою і що його справді надіслав власник домену. Відкритий ключ лежить у TXT-записі на імені селектор._domainkey.домен.
Перевірка DKIM знаходить цей запис, за потреби проходить за CNAME, розбирає теги й оцінює ключ:
| Статус | Що означає |
|---|---|
| ключ у порядку | RSA 2048 біт і більше або Ed25519, помилок у записі немає |
| ключ 1024 — оновити | Поки приймається, але це мінімум; переходьте на 2048 |
| слабкий ключ | Коротше 1024 біт — за RFC 8301 отримувачі не повинні приймати такі підписи |
| ключ відкликано | Порожній p=: підписи цим селектором не пройдуть |
| помилка в записі | Ключ не читається, неправильна версія або невідомий тип ключа |
Де знайти DKIM-селектор
Селектор — це ім'я ключа, його обирає відправник, і в домену може бути скільки завгодно селекторів для різних сервісів. У DNS немає способу отримати їх список, тому без селектора інструмент перевіряє 30 найпоширеніших. Якщо нічого не знайшлося, це означає лише «не знайдено серед перевірених», а не «DKIM немає».
Точний селектор є в будь-якому листі, надісланому з домену. У Gmail відкрийте лист → «Показати оригінал» і знайдіть заголовок:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=google;
h=from:to:subject:date:message-id; bh=...; b=...
s=google — селектор, d=example.com — домен підпису. Результат перевірки в отримувача видно в заголовку Authentication-Results: dkim=pass [email protected] header.s=google. Для DMARC важливо, щоб домен d= збігався з доменом у полі From — це перевіряє перевірка DMARC.
Селектори популярних сервісів
| Сервіс | Селектор і тип запису |
|---|---|
| Google Workspace | google за замовчуванням (можна задати свій), TXT із ключем |
| Microsoft 365 | selector1 і selector2, CNAME у зону Microsoft |
| Mailchimp / Mandrill | k1 (а також k2, k3), CNAME |
| SendGrid | s1 і s2, CNAME на sendgrid.net |
| Amazon SES | три випадкові селектори на домен, CNAME на dkim.amazonses.com — вгадати неможливо, беріть із консолі SES або із заголовка |
| Хостинги з cPanel/Plesk | часто default або mail |
Назви й схеми в сервісів змінюються, тож звіряйтеся з їхньою документацією. Якщо запис — CNAME, ключ зберігає й ротує сервіс; це нормально. Погано, якщо CNAME є, а за адресою призначення запису немає: підпис не пройде. У Microsoft 365 це зазвичай означає, що DKIM для домену не ввімкнено в центрі адміністрування.
Синтаксис DKIM-запису
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
v=DKIM1— версія; необов'язкова, але якщо є — стоїть першою.k— тип ключа:rsa(за замовчуванням) абоed25519.p— відкритий ключ у base64. Порожнє значення означає, що ключ відкликано.t=y— режим тестування: отримувачі не повинні відрізняти підписані листи від непідписаних. Приберіть прапорець після запуску.t=s— суворий режим для піддоменів.h— допустимі геш-алгоритми. Якщо там лишеsha1, підписи не пройдуть: sha1 за RFC 8301 більше не приймається.s— тип сервісу; для пошти*абоemail.
Ключ 2048 біт довший за 255 символів, тому в DNS він зберігається як кілька рядків усередині одного TXT-запису. Більшість панелей ділить його самі; якщо панель вимагає вставити вручну, розбийте значення на частини в лапках без пробілів усередині ключа.
Довжина ключа і ротація
Використовуйте RSA 2048 біт. Щоб замінити ключ без простою:
- Створіть новий ключ під новим селектором (наприклад,
s2026) і опублікуйте його в DNS. - Перевірте запис тут, указавши новий селектор.
- Перемкніть підпис на новий селектор у поштовому сервері чи сервісі.
- За кілька днів, коли листи зі старим підписом доставлено, опублікуйте старий селектор із порожнім
p=, а згодом видаліть його.
Для власного сервера ключ можна згенерувати так (OpenDKIM або вручну через OpenSSL):
opendkim-genkey -b 2048 -s s2026 -d example.com # або openssl genrsa -out dkim.key 2048 openssl rsa -in dkim.key -pubout -outform der | base64
DKIM, SPF і DMARC разом
DKIM переживає пересилання листа, а SPF під час пересилання зазвичай ламається, тому для DMARC підпис DKIM вашим доменом — найнадійніший спосіб пройти перевірку. З лютого 2024 року Google і Yahoo вимагають від масових відправників і SPF, і DKIM, а також DMARC-запис; деталі змінюються, тож звіряйтеся з їхніми актуальними правилами для відправників. Перевірте весь набір: SPF, DMARC і MX-записи.