SPF прошёл, но письмо поддельное
Отметка «проверка SPF пройдена» не означает, что письмо настоящее. Она означает лишь, что отправляющий сервер имел право отправлять за свой домен — а это совсем другое утверждение.
Отметка «проверка SPF пройдена» не означает, что письмо настоящее. Она означает лишь, что отправляющий сервер имел право отправлять за свой домен — а это совсем другое утверждение.
В письме не один адрес отправителя, а два. Первый — адрес конверта, то есть обратный адрес, указанный в SMTP-сессии. Второй — заголовок `From:`, тот самый адрес, который пользователь видит на экране.
SPF проверяет первый. То есть если атакующий поставит в конверт свой домен, а в `From:` — ваш, SPF пройдёт успешно, потому что на `From:` он вообще не смотрит.
Именно поэтому отметка «SPF пройден» не исключает подделки. То, что связывает эти два адреса, называется отдельно: выравнивание.
DMARC берёт результат двух проверок и накладывает сверху одно условие: совпадает ли проверенный домен с доменом в `From:`?
Для SPF сравнивается домен конверта с доменом `From:`. Для DKIM — домен, которым подписано письмо, с доменом `From:`. Достаточно, чтобы совпало хотя бы одно из двух.
Поэтому правильный вопрос не «прошёл ли SPF», а «есть ли выравнивание». Отчёт, который не отвечает на второй вопрос, бесполезен.
SPF привязан к маршруту: он смотрит, с какого сервера пришло письмо. Поэтому при пересылке — например, через список рассылки — SPF ломается, ведь последний сервер уже другой.
DKIM привязан к самому письму: подпись покрывает заголовки и часть тела и путешествует вместе с письмом. При пересылке она сохраняется, если содержимое не меняли.
На практике ставят обе. Но если начинать с одной, DKIM даёт больше пользы и вызывает меньше поломок.
Политика DMARC принимает одно из трёх значений: `none` — ничего не делать, только слать отчёты; `quarantine` — подозрительные в спам; `reject` — отклонять.
Правильный путь начинается с `none`. На этом этапе ничего не меняется, но приходят отчёты, и вы видите, кто отправляет письма от вашего домена. Список почти всегда длиннее ожидаемого.
Затем переходят к `quarantine`, и только потом к `reject`. Между ступенями должно пройти минимум несколько недель, потому что системы, отправляющие раз в месяц, в первую неделю не проявятся.
Отчёт DMARC приходит в XML, и человеком он не читается. Поэтому адрес `rua` часто ставят на ящик, который никто не открывает.
Этот этап пропускать нельзя: именно отчёты показывают, безопасно ли переходить к `reject`. В них по каждому источнику написано, сколько писем прошло и сколько провалило выравнивание.
Практический совет: перед переходом к `reject` посмотрите отчёты минимум за один полный месяц. Месячные отчёты, зарплатные системы и годовые уведомления обнаруживаются именно на этом интервале.
Больше всего проблем приходит не с вашего сервера, а от других: маркетинговая платформа, бухгалтерская система, CRM, сервис мониторинга — все они шлют письма от вашего домена.
Для каждого есть два пути: дать им возможность подписывать ваш домен (через ключ DKIM) или выделить отдельный поддомен. Второе заметно чище: если `mail.example.uz` упадёт, основной домен не пострадает.
У SPF-записи есть и предел: в ней не должно быть больше десяти DNS-запросов. С каждым новым сервисом вы приближаетесь к этому пределу, а при превышении SPF перестаёт работать вовсе.
DMARC защищает только ваш домен. С письмом, где в `From:` стоит совершенно другой домен, он ничего не делает.
Поэтому самая частая атака устроена иначе: в отображаемое имя пишут «Бухгалтерия», а адрес остаётся незнакомым. Многие почтовые клиенты на телефоне показывают только имя.
Второй вариант — похожий домен: одна буква заменена или добавлена. У такого домена свои корректные SPF и DKIM, и он проходит все проверки.
Поэтому работа начинается с перечисления доменов. В список попадает каждый домен, от которого идут письма от имени компании, — и те, от которых письма не идут, тоже.
Неотправляющие домены важны отдельно: им ставят пустой SPF и политику `reject`. Иначе они остаются готовым инструментом для атакующего.
И к списку добавляют наблюдение за похожими доменами. Свежерегистрированное похожее имя часто появляется за несколько недель до атаки — это даёт вам время подготовиться.
Покажите домен — дадим первичный анализ вашего текущего внешнего состояния. На этом этапе ничего не меняется.

