Перейти до змісту

Що таке DMARC, SPF і DKIM: пояснюємо простими словами

Будь-хто може вписати ваш домен у поле «Від кого» і надіслати лист. SPF, DKIM і DMARC - це три записи DNS, за якими поштові сервери відрізняють ваші справжні листи від підробок і розуміють, що з підробками робити.

Автор: ZNIMOK

Яку проблему розвʼязують ці записи

Електронна пошта створювалася без перевірки відправника. Будь-який сервер може надіслати лист нібито з billing@your-company.example, і сам протокол цьому не завадить. У результаті ваші клієнти отримують переконливий рахунок або посилання на скидання пароля, яких ви не надсилали.

Три записи працюють разом. SPF і DKIM дають змогу перевірити, звідки прийшов лист. DMARC привʼязує цю перевірку до адреси, яку бачить людина, і публікує ваші інструкції щодо листів, що перевірку не пройшли.

SPF: хто може надсилати пошту від вашого домену

SPF (RFC 7208) - це один TXT-запис DNS на домені зі списком серверів і сервісів, яким дозволено надсилати вашу пошту: поштовий провайдер, сервіс розсилок, інтернет-магазин.

Приклад: v=spf1 include:_spf.mail-provider.example ip4:203.0.113.10 ~all

  • Кінцівка запису підказує, як ставитися до решти серверів: ~all (мʼяка відмова) або -all (відмова). +all дозволяє всім і зводить SPF нанівець, а ?all нічого не стверджує.
  • На одному домені має бути лише один запис SPF. Якщо їх два, перевірка SPF завершується помилкою.
  • SPF може зробити щонайбільше 10 DNS-запитів (include, a, mx, ptr, exists, redirect). Кожен новий сервіс додає запити, а понад 10 перевірка дає помилку, тож прибирайте сервіси, якими вже не користуєтеся.

У SPF є сліпа зона: він перевіряє технічну адресу конверта, а не адресу «Від кого», яку бачить людина. Саме тому знадобився DMARC.

DKIM: підпис на кожному листі

DKIM (RFC 6376) додає до кожного вихідного листа криптографічний підпис. Сервер отримувача бере відкритий ключ із DNS і перевіряє, що лист підписано для вашого домену і по дорозі його не змінили.

Ключ публікують за адресою виду selector._domainkey.your-domain.example. Селектор - це мітка, яку обирає той, хто підписує вашу пошту, наприклад google, selector1 або s1. На одному домені може бути кілька селекторів, зазвичай по одному на кожен сервіс.

Чому сканер лише вгадує селектори DKIM

DNS не дає змоги отримати список усіх селекторів домену. Селектор записано всередині кожного підписаного листа (тег s= у підписі), тож надійно дізнатися його можна лише із заголовків справжнього листа від вас.

Зовнішня перевірка може тільки перебрати поширені назви. ZNIMOK перевіряє 19 таких назв, серед них selector1 і selector2 (їх використовує Microsoft 365), google, default, k1 і zoho, а також селектори деяких сервісів розсилок, якщо розпізнає їх на головній сторінці. Якщо жоден не відповів, звіт пише, що ключа на поширених селекторах не знайдено, і що це не доказ відсутності DKIM.

Щоб перевірити DKIM самостійно, надішліть лист на скриньку, до якої маєте доступ, відкрийте оригінальні заголовки й знайдіть dkim=pass поруч із вашим доменом.

DMARC: обʼєднує перевірки і задає політику

DMARC - це TXT-запис за адресою _dmarc.your-domain.example. Лист проходить DMARC, коли пройшов SPF або DKIM і перевірений ними домен збігається з доменом у видимій адресі «Від кого» (це називають вирівнюванням). Запис також каже отримувачам, що робити з листами, які не пройшли перевірку, і куди надсилати звіти.

Приклад: v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@your-domain.example

Політика Що просить зробити з листом Коли вмикати
p=none Нічого особливого: доставити і надіслати звіт Перші тижні, поки збираєте звіти
p=quarantine Вважати підозрілим, зазвичай у спам Коли всі ваші справжні відправники проходять перевірку
p=reject Відхилити лист Мета для більшості доменів

У травні 2026 року стандарт DMARC оновили: RFC 9989 замінив RFC 7489. Три значення політики залишилися ті самі. Нова версія прибирає тег pct і додає тестовий прапорець t=y, щоб безпечно випробувати суворішу політику.

Чому p=none - це лише спостереження

На p=none застрягає багато доменів. Ця політика корисна, щоб збирати звіти, але нічого не зупиняє: підроблений лист від вашого імені доходить так само, як і раніше. Якщо ж немає ще й адреси для звітів (rua), ви не отримуєте ні захисту, ні інформації.

Зведені звіти надходять XML-файлами від великих поштових сервісів. З них видно, які сервери надсилають пошту від вашого імені, тож можна знайти забутий сервіс, скажімо стару CRM чи систему бронювання, ще до того, як посилювати політику.

Робочий шлях такий: почніть із p=none та адреси для звітів, кілька тижнів читайте звіти, налаштуйте всіх справжніх відправників, які не проходять перевірку, потім перейдіть на p=quarantine, а згодом на p=reject. Не забудьте про піддомени: з sp=none їх можна підробляти, навіть коли основний домен захищено.

Чого вимагають Gmail і Yahoo

З лютого 2024 року Gmail і Yahoo вимагають автентифікації від усіх, хто надсилає листи їхнім користувачам, а для масових відправників правила суворіші:

Вимога Усі відправники Масові відправники
SPF і DKIM SPF або DKIM І SPF, і DKIM
Запис DMARC Не обовʼязковий Обовʼязковий, достатньо p=none
Вирівнювання домену «Від кого» Не обовʼязкове Збіг із доменом SPF або DKIM
Відписка в один клік Не обовʼязкова Для маркетингових розсилок і листів за підпискою
Частка скарг на спам Менше 0,3% (Google радить до 0,1%) Менше 0,3% (Google радить до 0,1%)

Google вважає масовим відправником того, хто надсилає близько 5000 листів на день чи більше на особисті акаунти Gmail, і цей статус лишається назавжди. Від усіх відправників Gmail також вимагає коректних прямих і зворотних записів DNS та TLS, а з листопада 2025 року посилює контроль: листи, що не відповідають вимогам, можуть відхилятися або потрапляти в спам. Yahoo просить масових відправників виконувати запити на відписку протягом 2 днів.

Що перевіряє ZNIMOK

Перевірка захисту пошти читає лише публічні записи DNS вашого домену. Вона не надсилає листів і не встановлює SMTP-зʼєднання з вашим поштовим сервером. Ось що вона дивиться:

  • SPF: запису немає, записів кілька, кінцівка +all або ?all, понад 10 DNS-запитів.
  • DMARC: запису немає, p=none, немає адреси для звітів, sp=none для піддоменів, записів кілька.
  • DKIM на 19 поширених селекторах і чи не відкликано знайдений ключ.
  • Записи MX, а також MTA-STS і TLS-RPT для шифрованої доставки між поштовими серверами.

Запитання

Чи потрібен DMARC, якщо я надсилаю кілька листів на місяць?

Так, якщо домен узагалі надсилає пошту. DMARC захищає тих, хто отримує листи нібито від вас, а шахраям байдуже, скільки листів надсилаєте ви. Для домену, який ніколи не надсилає пошту, зазвичай публікують v=spf1 -all і v=DMARC1; p=reject.

Чи не зламає p=reject мою пошту?

Може, якщо якийсь справжній сервіс надсилає листи від вашого імені без вирівняного SPF чи DKIM. Тому спершу читайте звіти на p=none і налаштуйте такі сервіси, а вже потім посилюйте політику.

Звіт пише, що DKIM не знайдено, хоча мої листи підписані. Чому?

Імовірно, ваш провайдер використовує селектор, якого немає серед поширених. Подивіться значення s= у заголовку DKIM-Signature справжнього листа: якщо в заголовках є dkim=pass для вашого домену, DKIM працює.

Джерела

  1. RFC 9989: DMARC, травень 2026 (англійською) rfc-editor.org
  2. RFC 7208: Sender Policy Framework (SPF), англійською rfc-editor.org
  3. RFC 6376: DomainKeys Identified Mail (DKIM), англійською rfc-editor.org
  4. Google: правила для відправників електронних листів support.google.com
  5. Google: поширені запитання про правила для відправників support.google.com
  6. Yahoo Sender Hub: best practices (англійською) senders.yahooinc.com

Перевірте поштові записи свого домену

SPF, DKIM на поширених селекторах і політика DMARC в одному безкоштовному звіті. Без реєстрації.

Перевіряйте лише свої сайти або ті, на які маєте дозвіл. Як працює наш сканер