SPF проверяет, разрешён ли IP отправляющего сервера для домена SMTP-конверта. DKIM проверяет подпись выбранных частей письма доменом d=. DMARC связывает успешный SPF или DKIM с доменом видимого From через alignment и задаёт политику обработки. Эти механизмы не доказывают добросовестность содержания и не защищают от всех похожих доменов.
Как SPF, DKIM и DMARC защищают электронную почту от подделки?
Что именно подтверждает каждый механизм и зачем DMARC проверяет согласованность доменов с видимым From. Ограничения защиты от фишинга.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Механизмы решают связанные, но разные задачи.
SPF публикует, какие серверы вправе отправлять почту для домена SMTP MAIL FROM; в предусмотренных случаях используется HELO. Получатель сопоставляет IP подключения с DNS-политикой. Видимое пользователю поле From не является непосредственной идентичностью SPF. См. RFC 7208.
DKIM добавляет цифровую подпись с доменом d=. Получатель получает открытый ключ из DNS и проверяет подписанные заголовки и тело с учётом правил каноникализации. Это подтверждает подпись доменом, а не личность конкретного автора или безопасность вложения. Изменение неподписанного поля также не обязательно нарушит подпись; RFC 6376.
DMARC проверяет согласованность домена видимого From с успешно проверенным SPF или DKIM. Достаточно одного прошедшего и согласованного механизма; простого SPF pass от постороннего домена недостаточно. Владелец домена публикует политику мониторинга, карантина или отклонения и может запросить отчёты параметрами rua/ruf; их получение зависит от поддержки и политики отправителей отчётов. Основы описаны в RFC 7489.
При пересылке SPF может перестать проходить, а изменение письма рассылкой — повредить DKIM, поэтому внедрение начинают с инвентаризации отправителей и анализа отчётности.
Даже корректный DMARC не запрещает фишинг с другого похожего домена, поддельным отображаемым именем или скомпрометированным легитимным аккаунтом. Нужны также защита пользователей и проверка содержимого.