Электронная почта

Проверка SPF, DKIM и DMARC

Сеть: DoHНовый

Сам инструмент доступен на английском языке; на этой странице приведено его описание на вашем языке.

Используйте Проверка SPF, DKIM и DMARC

Для чего это нужно

Введите домен, чтобы увидеть, насколько он защищён от подделки отправителя: дерево include в SPF с числом запросов, политику DMARC, размеры ключей DKIM, MTA-STS, TLS-RPT, BIMI и MX.

DNS-имена, которые вы ищете, отправляются на DNS-ретранслятор PhishDestroy (/api/dns-resolve.php), который запрашивает данные у Cloudflare или Google DNS по протоколу HTTPS.

Как использовать Проверка SPF, DKIM и DMARC

  1. Введите домен. Введите домен, адрес электронной почты или URL. Инструмент оставляет только домен, убирает начальный www. из URL и отбрасывает префиксы вроде _dmarc.
  2. Добавьте селекторы DKIM. Если у вас есть письмо с этого домена, скопируйте значение s= из его заголовка DKIM-Signature в поле селекторов. Проверяется до 10 селекторов.
  3. Запустите проверку. Нажмите Check или Try common DKIM selectors (попробовать распространённые селекторы), чтобы проверить 15 частых имён. Счётчик показывает, сколько DNS-запросов использовано.
  4. Прочитайте таблицу Summary. Каждая запись получает оценку pass, warn, fail, info или error с выводом в одну строку. Разделы ниже показывают исходные записи и дерево include для SPF.
  5. Используйте результат. Домен без SPF и без строгой политики DMARC легко подделать. Учитывайте это, когда оцениваете письмо, якобы пришедшее с него.

Пример

Домен, который не отправляет почту

Ввод
example.com
Результат (зафиксировано 2026-10-20)
Checked example[.]com · 6 DNS queries through the relay (Cloudflare)

Summary
RECORD	STATUS	FINDING
SPF	pass	"v=spf1 -all": no server may send mail as example[.]com, so any message from it is forged
DMARC	warn	p=reject, sp=reject
DKIM	info	Not checked: DKIM keys can only be found by selector (see the DKIM-Signature s= of a message)
MTA-STS	info	No MTA-STS record (optional): senders may deliver over unencrypted or unverified TLS
TLS-RPT	info	No TLS-RPT record (optional): no reports about TLS delivery failures
BIMI	info	No BIMI record (optional). DMARC is at enforcement
MX	info	Null MX "0 .": the domain accepts no mail (RFC 7505)
SPF
DNS-QUERYING TERMS
0 of 10
VOID LOOKUPS
0 of 2
UNLISTED SENDERS GET
fail (-all)
v=spf1 -all

Include and redirect tree (lookups are numbered in evaluation order; include, a, mx, ptr, exists and redirect count, RFC 7208 §4.6.4)

example[.]com · 0 lookups here, 0 in this branch
fail -all
DMARC

Found at _dmarc.example[.]com

v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s

warn no rua: the owner receives no aggregate reports
TAG	VALUE	MEANING
v	DMARC1	version
p	reject	policy for the domain itself — reject: failing mail is refused
sp	reject	policy for subdomains (default: p) — reject: failing mail is refused
adkim	s	DKIM alignment: r = same organization, s = exact domain (default r)
aspf	s	SPF alignment: r = same organization, s = exact domain (default r)
DKIM

DNS cannot list DKIM keys: each one sits under a selector chosen by the sender (selector._domainkey.example[.]com). Enter the s= value from a message's DKIM-Signature header, or press “Try common
…

SPF v=spf1 -all, DMARC p=reject и нулевой MX (0 .): домен заявляет, что он не отправляет и не получает почту, поэтому любое сообщение от него является поддельным. DMARC помечен как «warn» только потому, что в записи отсутствует адрес rua=, поэтому владелец не получает сводных отчетов; сама политика (p=reject, sp=reject) соблюдается в полной мере.

Что проверяется

СигналЧто это означает
Запись SPFОтсутствие записи — это fail. +all позволяет пройти любому серверу, а ?all или отсутствие all не даёт защиты; ожидается -all или ~all.
Счётчики запросов и пустых запросов SPFinclude, a, mx, ptr, exists и redirect требуют по одному DNS-запросу. Более 10 запросов или более 2 запросов, которые ничего не вернули, ломают SPF с ошибкой permerror.
Политика DMARCp=none только наблюдает, quarantine отправляет не прошедшие проверку письма в спам, а reject их отклоняет. Предупреждения касаются также pct меньше 100, sp=none и отсутствия адреса rua.
Унаследованный DMARCЕсли у поддомена нет записи, читается запись организационного домена и помечается как унаследованная.
Ключ DKIMПоказывается для каждого селектора с типом и размером. RSA меньше 1024 бит — fail, меньше 2048 — предупреждение, а пустой p= означает, что ключ отозван.
MTA-STS и TLS-RPTНеобязательные записи, которые просят отправителей использовать проверенный TLS и сообщать о сбоях. Если их нет, вы увидите примечание, а не ошибку.
BIMIНеобязательная запись с логотипом бренда. Она учитывается только при DMARC в режиме quarantine или reject с pct=100.
MXПеречисляет почтовые серверы. Null MX (0 .) означает, что домен не принимает почту; NXDOMAIN — что домена не существует.

Еще примеры

URL вместо домена

Ввод
https://www.example.net/login
Результат

Примечание о том, что www.example.net проверяется как example.net, затем 6 DNS-запросов: SPF pass для "v=spf1 -all", DMARC warn для p=reject, sp=reject без адреса rua, DKIM не проверялся, записей MTA-STS, TLS-RPT и BIMI нет, а также null MX.

Несуществующий домен

Ввод
nothing.example
Результат

SPF fail (нет записи SPF), DMARC fail (нет записи DMARC) и MX fail, потому что nothing.example не существует (NXDOMAIN). В строке BIMI отмечено, что DMARC не в режиме принудительного применения.

Имя DKIM-записи

Ввод
google._domainkey.example.org
Результат

Селектор google попадает в поле селекторов, а проверяется example.org. В строке DKIM написано "google: revoked" (отозван), потому что в записи ключа пустой p=.

Часто задаваемые вопросы

Что проверяет Email Authentication Checker?

Запись SPF и все подключаемые ею include и redirect: механизмы, требующие DNS-запросов, сравниваются с лимитом 10, а пустые запросы (void lookups) — с лимитом 2 (RFC 7208). Инструмент также читает запись DMARC, при необходимости переходя к организационному домену, ключи DKIM для указанных вами селекторов и записи MTA-STS, TLS-RPT, BIMI и MX.

Чего инструмент не видит?

DNS не позволяет получить список ключей DKIM: каждый находится под селектором, выбранным отправителем, поэтому введите значение s= из заголовка DKIM-Signature письма или попробуйте распространённые селекторы; если ключ не найден, это ничего не доказывает. Файл политики MTA-STS и логотип BIMI не загружаются, а макросы SPF, зависящие от отправителя, не раскрываются.

Что отправляется по сети?

Только DNS-имена, построенные из введённого домена, например _dmarc.example.com; они уходят на DNS-прокси PhishDestroy, который запрашивает Cloudflare или Google через DNS over HTTPS. Проверка использует примерно от 5 до 25 запросов; прокси допускает 60 в минуту.

Значит ли хороший результат, что письмо с этого домена подлинное?

Нет. Инструмент читает опубликованную политику домена, а не конкретное письмо. Чтобы узнать, прошло ли конкретное письмо SPF, DKIM и DMARC, откройте его исходный код в EML Analyzer.

Почему DMARC помечен warn даже при p=reject?

Предупреждения касаются и настроек, ослабляющих охват или отчётность: нет адреса rua для агрегированных отчётов, pct меньше 100 или sp=none для поддоменов. Сама политика reject при этом продолжает действовать.

Что такое пустой запрос (void lookup)?

DNS-запрос при проверке SPF, который не возвращает пригодных записей, например механизм a: или mx:, у имени которого нет адресов или почтовых серверов. SPF допускает два таких запроса; третий приводит к ошибке permerror.

Пояснение терминов

Исследование PhishDestroy