База знаний PMTA›Сценарий

Подпись и аутентификация писем

записей в сценарии: 42
dkim-sign<domain>критичноХаб задаёт самДирективаВключает подпись у получателя; ключ при этом выбирается по домену отправки из заголовков письма.domain-keyGlobalкритичноДирективаСвязывает селектор, домен и приватный ключ; выигрывает первая запись, чей домен совпал или является родительским.host-nameGlobalкритичноДирективаПервое имя — главное; какое именно попадёт в приветствие, решает разбор из пяти шагов.process-x-dkim-key<source>критичноДирективаРазрешение источнику: с ним MTA берёт приватный ключ прямо из заголовка X-DKIM-Key, подписывает им и снимает заголовок; без него ключ уезжает получателю.smtp-source-hostGlobalкритичноДирективаПривязывает исходящие соединения к локальному адресу или диапазону CIDR и задаёт имя в приветствии SMTP.check-spf-outbound<domain>ДирективаНе прошло — письмо отбивается у нас, не доехав до приёмника; временная ошибка — повтор.dkim-identity<domain>ДирективаПозволяет подписывать своим ключом письма, у которых в From стоит чужой домен, — отправка за клиента.from-domain<rewrite-list>ДирективаМеняет домен адреса в заголовке From — том, что видит получатель; конверт это правило не трогает.mail-from<rewrite-list>Хаб задаёт самДирективаМеняет адрес из команды SMTP MAIL FROM — тот, на который вернётся отказ и который проверяет SPF; заголовок From это правило не трогает.arc-identity<domain>ДирективаВ отличие от обычной подписи, имя попадает в поле домена — то самое, по которому получатель ищет ключ.arc-sign<domain>ДирективаВключает три заголовка ARC; ключи берутся те же, что у обычной подписи.dkim-add-body-limit<domain>ДирективаСтавит в подпись длину подписанной части: приписка внизу перестаёт её ломать — и перестаёт быть заметной.dkim-disallow-adding-headers<domain>ДирективаОбратная задача: перечисленные имена ставятся в подпись лишний раз, и появление такого заголовка её ломает.dkim-headers<domain>ДирективаСписок обязательных изменить нельзя — эта строка только добавляет к нему свои.dkim-identity-fallback<domain>ДирективаНе подошёл ключ по домену отправителя — подписываем своим, вместо того чтобы отправить без подписи.domain-key<domain-key-list>ДирективаСписок сужает поиск ключа до себя — и выбирается заголовком письма, а не конфигурацией.process-x-dkim-options<source>ДирективаРазрешение источнику: с ним заголовок задаёт селектор, домен, личность и способ запроса для подписи одного письма, без него заголовок игнорируется и остаётся в письме.arc-algorithm<domain>ДирективаЗначение ровно одно; строка существует ради полноты набора, а не ради выбора.arc-body-canon<domain>ДирективаЕдинственная строка канонизации ARC, где выбор действительно есть.arc-expire-after<domain>ДирективаУмолчание — никогда; у пересыльщика окно повторного использования особенно велико.arc-headers<domain>ДирективаОбязательный набор тот же, что у обычной подписи; строка только добавляет к нему.arc-headers-canon<domain>ДирективаПоддерживается ровно один способ; выбора, в отличие от обычной подписи, нет.arc-identity-fallback<domain>ДирективаУ пересыльщика это не запасной вариант, а основной путь: чужих ключей у него и не бывает.arc-oversigned-headers<domain>ДирективаТа же защита от подмены, что у обычной подписи; умолчания нет, без строки она не действует.dkim-add-timestamp<domain>ДирективаОдно поле, по которому потом можно понять, когда письмо было подписано.dkim-algorithm<domain>ДирективаУмолчание верное; второе значение устарело и приёмниками уже не принимается.dkim-body-canon<domain>Директиваrelaxed прощает лишние пробелы в строках, simple — нет; пустые строки в конце тела не в счёт при обоих.dkim-expire-after<domain>ДирективаУмолчание — никогда; срок ставят там, где боятся повторного использования подписанного письма.dkim-headers-canon<domain>Директиваrelaxed прощает пробелы и регистр имён, simple не прощает ничего.dkim-query-method<domain>ДирективаСпособ поиска ровно один, и он подразумевается по умолчанию; строка нужна для совместимости.Как узел подписывает письма и выбирает ключкритичноМеханизмКлюч выбирается по домену отправки из заголовков, перебором объявлений сверху вниз.Не отправлять то, что не пройдёт проверку у получателякритичноМеханизмУзел сам проверяет SPF своей почты перед отправкой: не прошло — отбивает, не дожидаясь чужого отказа.Вторая подпись на том же письмеМеханизмДвенадцать строк с приставкой second-: письмо подписывается дважды, разными ключами и от разных имён.Что нельзя в режиме FIPSМеханизмВ режиме FIPS доступен только проверенный набор алгоритмов: часть привычных настроек шифрования и подписи становится недоступной.Ключ подписи, пришедший вместе с письмомМеханизмПриватный ключ передаётся заголовком письма; узел подписывает им и удаляет заголовок перед отправкой.Заголовок письма, которым подающая сторона правит подписьМеханизмПять параметров в X-DKIM-Options: селектор, домен, имя подписи, способ запроса и список ключей.Подпись, которая сохраняет чужую проверку при пересылкеМеханизмТри заголовка, в которых пересыльщик заверяет: письмо пришло ко мне вот таким и вот с какими результатами проверок.Указатель директив авторизацииМеханизмСводка директив, относящихся ко входу: они разбросаны по нескольким блокам.Как включить подпись DKIM с нулякритичноПроцедураВосемь шагов: домен, селектор, ключ, права, запись в DNS, объявление, включение и маршрут.Сменить ключ подписи, не прерывая отправкуПроцедураДобавить новый ключ под новым селектором, применить, начать подписывать им, дождаться ухода писем со старым — и только потом убрать старый.<domain-key-list>Блок конфигурацииИменованный список строк domain-key на уровне узла: письмо выбирает его заголовком x-dkim-options с key-list=, и ключ ищется только в этом списке.check spfКомандаОтвечает тем же вердиктом, что и получатель, — по адресу, имени в приветствии и обратному адресу.