Налаштування SPF, DKIM і DMARC у HestiaCP

Поштові сервіси приймають листи лише від відправників, які можуть підтвердити свою справжність. Без записів SPF, DKIM і DMARC листи з вашого домену потрапляють у спам або відхиляються взагалі — Gmail, Outlook та інші великі сервіси вимагають їх для всіх відправників. У HestiaCP усе потрібне налаштовується за кілька хвилин.
Що робить кожен запис
- SPF перелічує сервери, яким дозволено надсилати пошту від імені домену.
- DKIM додає до кожного листа цифровий підпис. Одержувач перевіряє його за відкритим ключем, опублікованим у DNS.
- DMARC повідомляє одержувачу, що робити з листами, які не пройшли перевірки, і куди надсилати звіти.
- PTR — зворотний DNS-запис: IP-адреса сервера має розв’язуватися в його ім’я.
Для надійної доставки потрібні всі чотири.
Крок 1. Увімкніть DKIM для домену
Через панель. Увійдіть під користувачем, якому належить домен, відкрийте розділ Mail, наведіть курсор на домен і натисніть Edit Mail Domain. Позначте DKIM Support і збережіть. Для нового домену ця опція вмикається під час створення.
Через консоль:
v-add-mail-domain-dkim користувач example.com
Панель створить пару ключів: закритий залишиться на сервері, відкритий потрібно опублікувати в DNS.
Крок 2. Отримайте DNS-записи
У списку поштових доменів натисніть на значок DNS Records поруч із доменом. Панель покаже готові записи для SPF, DKIM і DMARC.
З консолі відкритий ключ можна отримати так:
v-list-mail-domain-dkim-dns користувач example.com
Крок 3. Додайте записи в DNS
Подальші дії залежать від того, де обслуговується DNS-зона домену.
DNS обслуговує HestiaCP
Якщо домен використовує DNS-сервери вашої панелі, записи створюються автоматично під час увімкнення DKIM. Перевірте їх у розділі DNS.
DNS у реєстратора або стороннього провайдера
Додайте записи вручну в панелі керування DNS.
| Тип | Ім’я | Значення |
|---|---|---|
| TXT | @ |
v=spf1 a mx ip4:203.0.113.10 -all |
| TXT | mail._domainkey |
v=DKIM1; k=rsa; p=MIIBIjANBg... |
| TXT | _domainkey |
t=y; o=~; |
| TXT | _dmarc |
v=DMARC1; p=none; rua=mailto:postmaster@example.com |
Замініть 203.0.113.10 на IP-адресу свого сервера, а значення DKIM скопіюйте з панелі повністю.
Кілька важливих деталей:
- Домен повинен мати лише один запис SPF. Якщо пошта надсилається ще й через сторонній сервіс розсилок, додайте його в наявний запис через
include:, а не створюйте другий. - Довгий ключ DKIM. Деякі панелі DNS не приймають рядки, довші за 255 символів. У цьому разі розбийте значення на частини в лапках, як підказує інтерфейс вашого провайдера.
-allі~all. Суворий варіант-allвідхиляє листи зі сторонніх серверів. Якщо ви не впевнені, що перелічили всі джерела пошти, почніть із м’якого~all.
Крок 4. Налаштуйте PTR-запис
Зворотний запис встановлюється не в DNS домену, а на боці хостингу, якому належить IP-адреса. Для сервера UnixHost його можна задати в панелі керування послугою або через звернення в підтримку.
PTR має вказувати на ім’я поштового сервера — зазвичай mail.example.com, — а це ім’я має розв’язуватися назад у ту саму IP-адресу. Перевірка:
dig -x 203.0.113.10 +short
dig mail.example.com +short
Крок 5. Перевірте результат
Зміни DNS набувають чинності протягом кількох хвилин або годин. Перевірте записи з консолі:
dig TXT example.com +short
dig TXT mail._domainkey.example.com +short
dig TXT _dmarc.example.com +short
Потім надішліть лист на адресу, яку видає сервіс mail-tester.com: він покаже оцінку й докладний звіт щодо кожної перевірки.
Ще один спосіб — надіслати лист на свою скриньку Gmail і відкрити Показати оригінал. У заголовках мають бути рядки:
SPF: PASS
DKIM: PASS
DMARC: PASS
Крок 6. Посильте політику DMARC
Режим p=none лише збирає звіти й нічого не блокує. Він потрібен, щоб переконатися, що всі легітимні листи проходять перевірки. Через два-три тижні перейдіть до суворішої політики:
v=DMARC1; p=quarantine; rua=mailto:postmaster@example.com
а коли переконаєтеся, що все працює, — до p=reject. Лише сувора політика захищає ваш домен від підробки відправника.
Часті проблеми
- DKIM: FAIL. Запис у DNS не збігається з ключем на сервері — найчастіше через обрізане значення або зайві пробіли. Скопіюйте ключ заново.
- SPF: SOFTFAIL або FAIL. У записі не вказано IP-адресу, з якої насправді йде пошта. Перевірте, яку адресу сервер використовує для вихідних з’єднань.
- Листи все одно в спамі. Перевірте PTR-запис і наявність IP-адреси в чорних списках. Новій адресі потрібен час, щоб заробити репутацію: починайте з невеликих обсягів.
- Записів немає в панелі. Переконайтеся, що для домену ввімкнено підтримку пошти та DKIM.
А як же VestaCP
Панель VestaCP, для якої спочатку писалася ця інструкція, більше не розвивається й не отримує оновлень безпеки. Команди в ній називаються так само, але для нових серверів використовуйте HestiaCP — її пряме продовження. Оновлення самого поштового сервера описано в статті про Exim.


