Кратко: DKIM подтверждает подлинность отправителя, DMARC предписывает приёмщику, что делать. В 2025 году один p=none больше не защищает ни бренд, ни доставляемость. Используйте минимум p=quarantine, а лучше p=reject вместе с корректными adkim и aspf.


SPF, DKIM и DMARC в cPanel

  1. Откройте Email Deliverability -> исправьте DKIM/SPF (Repair / Install the suggested record(s)).
  2. Убедитесь, что в DNS есть default._domainkey.<domain> (DKIM) и корректный SPF.
  3. Добавьте DMARC в Zone Editor с именем _dmarc (TXT). Начните с карантина:
    v=DMARC1; p=quarantine; aspf=r; adkim=r

    Перейдите к отклонению, когда всё выровнено:

    v=DMARC1; p=reject; aspf=s; adkim=s
  4. (Рекомендация) Позже добавьте сводные отчёты: rua=mailto:dmarc-rua@example.ru.

Те же настройки в виде полной DNS‑строки (BIND)

_dmarc.example.ru. 3600 IN TXT "v=DMARC1; p=quarantine; aspf=r; adkim=r"
_dmarc.example.ru. 3600 IN TXT "v=DMARC1; p=reject; aspf=s; adkim=s"

Что такое SPF, DKIM и DMARC

  • SPF: перечисляет разрешённые исходящие узлы (DNS TXT v=spf1 ...); защищает конверт/Return‑Path, а не видимый From.
  • DKIM: криптографическая подпись; приёмщик получает открытый ключ из DNS (selector._domainkey.example.ru → v=DKIM1; k=rsa; p=...).
  • DMARC: связывает видимый From‑домен с результатами SPF/DKIM и задаёт политику (none/quarantine/reject) и отчётность.

Alignment (согласование): видимый From‑домен должен совпадать с DKIM d= или SPF MailFrom/Return‑Path. adkim=r / aspf=r разрешает поддомены; adkim=s / aspf=s требует точного совпадения.


Почему p=none больше недостаточно

  1. Нет принуждения: сбои не карантируются и не отклоняются → спуфинг продолжается.
  2. Сигнал доставляемости: крупные приёмщики учитывают политику DMARC; без неё страдают и легитимные письма.
  3. Видимость ≠ защита: отчёты не останавливают злоупотребления — quarantine/reject меняют поведение экосистемы.

Вывод: начните с p=quarantine (relaxed) и переходите к p=reject (strict), когда все отправители выровнены.


Relaxed (r) vs Strict (s)

  • Relaxed (aspf=r; adkim=r): много платформ/поддоменов → проще внедрение.
  • Strict (aspf=s; adkim=s): полный контроль над отправкой → максимальная защита от спуфинга.

DKIM — практические советы

  1. Ключи 2048‑бит (или сильнее); ротируйте каждые 6–12 месяцев.
  2. Стратегия селекторов: например, s2025q4; держите два селектора во время ротации.
  3. Подписывайте как минимум: From, Date, Subject, Message‑ID (часто и To).
  4. Каноникализация: c=relaxed/relaxed устойчивее к изменениям в пути.
  5. cPanel/DNS: селектор по умолчанию — default → ключ в default._domainkey.<domain>.
  6. Тест: проверьте Authentication‑Results: dkim=pass, spf=pass, dmarc=pass.

Пример DKIM (cPanel default):

default._domainkey.example.ru. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A..."

DMARC — политики

Мониторинг (лишь временно)

_dmarc.example.ru. 3600 IN TXT "v=DMARC1; p=none; aspf=r; adkim=r; rua=mailto:dmarc-rua@example.ru; ruf=mailto:dmarc-ruf@example.ru; fo=1; ri=86400"

Переходная (рекомендуемый минимум)

_dmarc.example.ru. 3600 IN TXT "v=DMARC1; p=quarantine; aspf=r; adkim=r; pct=100; sp=quarantine; rua=mailto:dmarc-rua@example.ru; fo=1; ri=86400"

Полное принуждение

_dmarc.example.ru. 3600 IN TXT "v=DMARC1; p=reject; aspf=s; adkim=s; sp=quarantine; rua=mailto:dmarc-rua@example.ru; fo=1; ri=86400"

Минимум (без отчётов)

Value (вставьте в TXT в cPanel):

v=DMARC1; p=quarantine; aspf=r; adkim=r
v=DMARC1; p=reject; aspf=s; adkim=s

Полная DNS‑строка (BIND):

_dmarc.example.ru. 3600 IN TXT "v=DMARC1; p=quarantine; aspf=r; adkim=r"
_dmarc.example.ru. 3600 IN TXT "v=DMARC1; p=reject; aspf=s; adkim=s"

Отчётность

_dmarc.example.ru. 3600 IN TXT "v=DMARC1; p=quarantine; aspf=r; adkim=r; rua=mailto:dmarc-rua@example.ru!10m,mailto:dmarc-ops@example.ru; ruf=mailto:dmarc-ruf@example.ru; fo=1; ri=86400"

План внедрения

  1. Инвентаризируйте источники отправки.
  2. Исправьте SPF; избегайте +all и длинных цепочек include.
  3. Включите DKIM повсюду (2048‑бит, отдельные селекторы).
  4. DMARC p=none + RUA 1–4 недели; исправьте несоответствия.
  5. p=quarantine (relaxed); мониторьте.
  6. p=reject (strict), когда всё выровнено.

Полезные ссылки (dmarcian)

Radicenter 2025