[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: