Re: DKIM и списки рассылки
On Fri, Oct 06, 2017 at 10:03:39PM +0300, Artem Chuprina wrote:
> С DKIM, насколько я понимаю, ситуация сходна с SPF: если домен
> утверждает, что он подписывает, то письмо с From: из этого домена должно
> быть подписано ключом этого домена.
Насколько я понимаю DKIM, в отличие от SPF он не имеет механизмов
для анонсирования политик со стороны владельца домена.
Насчёт толерантности в RFC 6376 есть пункт 6.3:
In general, modules that consume DKIM verification output SHOULD NOT
determine message acceptability based solely on a lack of any
signature or on an unverifiable signature; such rejection would cause
severe interoperability problems.
> Если рассылка меняет какой-то из подписанных заголовков (в моем случае
> добавляет Reply-To, отсутствие которого было подписано), то подпись
> становится невалидной. И не надо говорить, что это не дело
> рассылки. Если бы все почтовые клиенты, начиная с гмейла, были в курсе,
> как реагировать на рассылочные заголовки, то да, а так нет.
Угу. Причём подписывать Reply-To настоятельно рекомендуется (п.5.4).
> Прибить DKIM я могу. Но From: (не envelope from) хотелось оставить
> прежним. А он, зараза, из домена, которому положен DKIM, и его считают
> спамом.
Думаю, это нарушает упомянутый п.6.3, то есть приёмник ведёт себя
"антисоциально", выражаясь словами RFC 6376. Я нигде не встречал
требования подписывать письмо, если в dns присутствуют dkim-овские
записи. К тому же вопрос: какой домен проверять, который во From?
Ведь содержимое d= в DKIM-Signature может отличаться от домена во From,
в частности, d= может содержать домен верхнего уровня. Так что
предположение получателя об их тождественности это лишь догадка,
а использовать домыслы -- плохая практика.
> Отсель мораль: верно ли я понимаю, что (вменяемый) DKIM-aware софт
> рассылок может только добавлять всякие List-*, а больше ничего делать он
> не может? Ну, если исходящий MTA настроен разумно, т.е. подписывает, в
> числе прочего, то, что видит получатель, т.е. тело, From и Subject.
Вменяемый софт может:
1. отодрать подпись от входящего письма -- перед этим её можно проверить,
если хочется, а можно и не проверять;
2. если подпись не удаляется, то перед вставкой каждого заголовка
проверять, не упомянут ли он в h=.
Что касается рассылок, проверять подпись разумно на входе в рассылку,
после чего подпись можно удалить, а на выходе подписать письмо заново.
При этом возможны любые модификации, в том числе Subject'a и тела письма
(добавление футеров и т.п.). Конечному получателю ведь без разницы,
какой рилей подписал письмо: DKIM служит для защиты от спама, а не для
аутентификации автора (для последнего есть SMIME и PGP).
--
Eugene Berdnikov
Reply to: