Eugene Berdnikov -> [email protected] @ Fri, 6 Oct 2017 23:56:08 +0300:
>> С DKIM, насколько я понимаю, ситуация сходна с SPF: если домен >> утверждает, что он подписывает, то письмо с From: из этого домена должно >> быть подписано ключом этого домена. > Насколько я понимаю DKIM, в отличие от SPF он не имеет механизмов > для анонсирования политик со стороны владельца домена. Тут не знаю, пока не читал. Но факт: письмо с From из определенного домена без DKIM складывается в спам. Кто именно из yandex.ru, mail.ru и gmail.com определенный домен, а кто складывает в спам, я не помню, но факт имел место. Может, они и не через DNS договариваются, что надо проверять. > Насчёт толерантности в 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= может содержать домен верхнего уровня. Так что > предположение получателя об их тождественности это лишь догадка, > а использовать домыслы -- плохая практика. Я подозреваю, что вариант "из наддомена" тоже проверяется. По смыслу, соответствие между подписавшим доменом и доменом во From быть должно. Иначе можно абсолютно честно подписать письмо с From из любого другого домена. >> Отсель мораль: верно ли я понимаю, что (вменяемый) DKIM-aware софт >> рассылок может только добавлять всякие List-*, а больше ничего делать он >> не может? Ну, если исходящий MTA настроен разумно, т.е. подписывает, в >> числе прочего, то, что видит получатель, т.е. тело, From и Subject. > Вменяемый софт может: > 1. отодрать подпись от входящего письма -- перед этим её можно проверить, > если хочется, а можно и не проверять; Может. Тогда после пересылки оно попадет в спам у получателя. > 2. если подпись не удаляется, то перед вставкой каждого заголовка > проверять, не упомянут ли он в h=. То есть добавить List-*. К чему и сводится мое предположение. > Что касается рассылок, проверять подпись разумно на входе в рассылку, > после чего подпись можно удалить, а на выходе подписать письмо заново. > При этом возможны любые модификации, в том числе Subject'a и тела письма > (добавление футеров и т.п.). Конечному получателю ведь без разницы, > какой рилей подписал письмо: DKIM служит для защиты от спама, а не для > аутентификации автора (для последнего есть SMIME и PGP). Не автора, да. Но для подтверждения того, что подписавший релей принадлежит домену, упомянутому в адресе. Иначе оно вообще не имеет смысла. Дальше уже идет доверие релею, что он какими-то своими средствами убедился, что письмо таки да, от владельца адреса.

