Електронна пошта залишається одним із найвразливіших каналів зв’язку. За замовчуванням протокол SMTP не має вбудованих механізмів перевірки відправника, що дозволяє зловмисникам легко підробляти адреси (поштовий спуфінг) і розсилати фішинг або спам від імені вашого домену.
Це не лише шкодить репутації бренду, а й призводить до того, що легітимні листи вашої компанії починають потрапляти в папку «Спам» або блокуються сервісами Google (Gmail), Microsoft (Outlook) та іншими поштовими провайдерами. Для вирішення цієї проблеми використовується тріада DNS-записів: SPF, DKIM та DMARC.
1. Що таке SPF, DKIM та DMARC і як вони працюють разом
Кожен із цих стандартів виконує свою специфічну роль у системі автентифікації пошти. Але повинні працювати у зв’язці:
- SPF (Sender Policy Framework): Вказує список всіх IP-адрес та серверів, яким офіційно дозволено відправляти пошту від імені вашого домену.
- DKIM (DomainKeys Identified Mail): Додає до кожного вихідного листа цифровий криптографічний підпис, який підтверджує, що лист дійсно відправлений з вашого домену і його вміст не був змінений під час транспортування.
- DMARC (Domain-based Message Authentication, Reporting, and Conformance): Вказує поштовому серверу отримувача, що робити з листом, якщо він не пройшов перевірку SPF та/або DKIM (пропустити, відправити в спам чи відхилити), а також надсилає вам звіти про спроби спуфінгу.
2. Порівняльний аналіз протоколів захисту пошти
| Протокол | Тип DNS-запису | Що саме перевіряє | Приклад структури запису |
|---|---|---|---|
| SPF | TXT (на кореневий домен) | IP-адресу сервера відправника щодо дозволеного списку. | v=spf1 a mx ip4:X.X.X.X ~all |
| DKIM | TXT (на субдомен селектора) | Наявність та валідність криптографічного підпису в заголовку листа. | default._domainkey.domain.com IN TXT "v=DKIM1; k=rsa; p=MIGfMA0..." |
| DMARC | TXT (на _dmarc.domain.com) |
Політику дій при збої SPF/DKIM + налаштування звітності. | v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@domain.com |
3. Покроковий алгоритм налаштування та впровадження
- Крок 1: Налаштування SPF-запису. Створіть TXT-запис у панелі управління DNS вашого домену (наприклад, Cloudflare, DirectAdmin, cPanel) з ім’ям
@або порожнім полем. Правило: На домені може бути тільки один SPF-запис. Якщо ви використовуєте кілька сервісів (наприклад, свій VPS та Google Workspace), об’єднайте їх у єдиний рядок:v=spf1 ip4:192.X.X.X include:_spf.google.com ~all - Крок 2: Генерація та додавання DKIM-підпису. Згенеруйте пару ключів (приватний та публічний) у вашому поштовому сервері (Exim, Postfix), безпосередньо на сервері, або в кабінеті поштового сервісу (Google Workspace, MXRoute, SendGrid). Публічний ключ додайте в DNS як TXT-запис із селектором, який надав сервіс (наприклад,
google._domainkey). - Крок 3: Налаштування DMARC-політики. Створіть TXT-запис для ім’я
_dmarc. Починайте впровадження з м’якого режиму спостереженняp=none, щоб збирати звіти та виявити легітимні сервіси розсилок:v=DMARC1; p=none; rua=mailto:dmarc-reports@vash-domain.com; ruf=mailto:dmarc-reports@vash-domain.com; fo=1. Після тестування змініть політику наp=quarantine(листи без підпису йдуть у спам), а потім наp=reject(повне блокування підробок). - Крок 4: Тестування та перевірка доставлення. Надішліть тестовий лист на сервіси перевірки (наприклад, Mail-Tester, MXToolbox або Google Admin Toolbox Header Analyzer) та перевірте заголовки листа (Email Headers) на наявність статусів
spf=pass,dkim=passтаdmarc=pass.
Технічна порада системного адміністратора: Головна пастка під час налаштування SPF — це обмеження протоколу у 10 DNS-запитів (DNS Lookup Limit). Якщо у вашому записі занадто багато директив
include:, поштові сервери отримувачів видадуть помилку SPF PermError, і перевірка провалиться. Якщо потрібно підключити багато зовнішніх сервісів, використовуйте маскування IP черезip4:або спеціалізовані сервіси сплющування SPF (SPF Flattening).