Просто, чтобы завершить ваш список различных значений «От», я бы добавил:
From
, который является заголовком, установленным клиентом и определенным в RFC 5322 (RFC 5322.From
)Reply to
, также является заголовком, установленным клиентом и определенным в RFC 5322Return path
иEnvelope from
оба ссылаются на аргументMAIL FROM
команды во время сеанса SMTP (RFC 5321.MailFrom
)
Цель DMARC - передать политику, применяемую к сообщениям, которые не работают как с SPF, так и с DKIM, вместо того, чтобы полагаться на локальные политики. Эта политика выражается владельцем доменного имени отправителя (с использованием p=
параметра записи DMARC).
Во время оценки DMARC выполняется проверка выравнивания Идентификатора (см. RFC 7489, раздел 3.1), которая обеспечивает либо:
- доменное имя
RFC 5321.MailFrom
переданного SPF совпадает с доменомRFC 5322.From
- доменное имя, используемое в переданном DKIM, совпадает с доменом
RFC 5322.From
Поэтому, чтобы решить вашу проблему, вы должны опубликовать запись DMARC в victim.org
зоне DNS:
_dmarc.victim.org IN TXT "v=DMARC1; p=quarantine; rua=mailto:admin@victim.org"
Это гарантирует, что неудачное выравнивание идентификатора, как в вашем примере, приведет к сбою DMARC, и сообщение будет помечено как спам.
Смысл проверки SPF состоит в том, чтобы убедиться, что IP-адрес клиента во время сеанса SMTP разрешен владельцем hacker.net
. В вашем примере, SPF здесь, чтобы защитить hacker.net
не victim.org
:-)
Если вы хотите посмотреть с высоты птичьего полета, я опубликовал пост с иллюстрацией того, как SPF, DKIM и DMARC работают вместе для предотвращения фишинг-фишинга (прокрутите до середины поста)