Поддержка DKIM в PowerMTA

Ключи домена добавляются в конфигурацию PowerMTA директивой domain-key, которую
можно настроить либо глобально, для всей почты, либо для конкретного VirtualMTA. Также
ключи можно прописать в разделе <domain-key-list>, который может далее выбираться различными способами. Директива принимает три аргумента, разделяемых запятыми при перечислении:

  • Селектор ключа, который определяет какой ключ среди прочих ключей домена следует
    использовать;
  • Имя домена DNS для ключа;
  • Имя файла, содержащего ключ

Например

<virtual-mta domainkey>
 host-name port25.com
 ...
 domain-key test, port25.com, c:\pmta\k1.example.org.pem
</virtual-mta>

или

domain-key test, port25.com, c:\pmta\k1.example.org.pem

Можно указывать несколько записей domain-key. PowerMTA последовательно перебирает
ключи и выбирает первый ключ, домен которого соответствует личности, от имени которой подписывается электронное письмо. Информацию о этой личности PowerMTA извлекает из адреса
в хэдере Sender или, если таковой хэдер отсутствует, можно указать эту информацию директивой dkim-identity.

В директиве domain-key также можно указать подстановочный знак «*». В этом случае
PowerMTA будет считать его подходящим для любого домена личности. Это полезно, когда
один и тот же открытый ключ вводится в DNS под несколькими доменными именами.

Чтобы настроить подпись DKIM для домена:

  1. Укажите домен, в котором будет зарегистрирован ключ. Это должен быть либо сам домен DKIM-личности, либо его родительский домен. В приведенных ниже примерах мы предположим, что это example.org.
  2. Решите, что будет использоваться в качестве селектора. Селектор – это уникальный идентификатор ключа в пределах домена, указанного в шаге 1. Мы будем использовать k1 в приведенных ниже примерах.
  3. Создайте свой закрытый ключ, используя утилиту pmtakeytool или мастер ключей от Port25 по адресу (если вы будете использовать мастер ключей, пропустите шаг 8):
    https://www.port25.com/support/domainkeysdkim-wizard/pmtakeytool newdk k1 example.org 2048
  4. Эта процедура создаст 2048-битный закрытый ключ в файле k1.example.org.pem и соответствующий открытый ключ в формате BIND k1.example.org.dns.
  5. Переместите PEM-файл в каталог c:\pmta\ на Windows или в каталог /etc/pmta на Unix; проверьте разрешения на доступ к файлу (в идеале, доступ должен быть предоставлен только PowerMTA).
  6. Добавьте текстовую запись из файла k1.example.org.dns к вашей конфигурации DNS.
    Возможно, придётся подогнать синтаксис для программного обеспечения, которое вы
    используете. Вы можете обратиться к спецификации DKIM (с сайта http://www.dkim.org/)
    для получения более подробных сведений о синтаксисе записи:
K1._domainkey IN TXT ("k=rsa\; p="
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxeRmblkAUC0ZwBLltS37"
"ubgOk3bifNP8ubH5wc01mkAskRJcSDnXhxrbNseIBJye2lwVyRSDmkhCo5lreGbt"
"pwdo3kqIEj0k2+ZC2MSNREovoyFXuJHbNDB2VUvlh0ROJMNQx3VuBsYr884K1dsE"
"tzb+9+8JjYwKr6khNu4GeuebT4XdTwcqvtYkqw/MW4H0RxPJ8/w7pUHy1o08W1Hk"
"N/wAQkhcxygJTaehtkApDfY3N5kVk8XAYdzbJaSe/7Uw0ImqFgxy60MrWlUaUyWO"
"uTBwIPQScDgX3yIl1GHgV25DlEKo8sfTNgFJhil1ju3iZ25KoiPeFyWN+7AohF1Y"
"SQIDAQAB")

Добавьте директиву domain-key в файл конфигурации:

<virtual-mta example>
 ...
 domain-key k1, example.org, c:\pmta\k1.example.org.pem
</virtual-mta>

Или, если нужно произвести глобальную настройку

domain-key k1, example.org, c:\pmta\k1.example.org.pem

Активируйте подписывание для желаемого домена (доменов), или в записи , чтобы активировать подпись для всех доменов.

<domain yahoo.com>
 ...
 dkim-sign yes
</domain>

Если директива domain-key настроена для VirtualMTA, а не глобально, настройте
PowerMTA так, чтобы письма, которые необходимо подписывать, отправлялись через
нужный VirtualMTA:

<pattern-list L>
 mail-from /[@\.]example\.com$/ virtual-mta=example
</pattern-list>
<source 10.1.0.0/16> # источники предоставления информации
 pattern-list L
</source>

Добавление параметров DKIM-подписи в хэдер

PowerMTA поддерживает добавление параметров DKIM-подписи в хэдер, которые переопределяют параметры писем. Для этого необходимо активировать -директиву processX-DKIM-Options и добавить хэдер X-DKIM-Options перед предоставлением письма PowerMTA. Хэдер будет использовать синтаксис, схожий с тегами, разделёнными двоеточиями в DKIM-signature и может добавлять сразу несколько параметров:

  • s – селектор. Указывает значение тега s= в подписи. В domain-key обязательно должен
    быть указан данный селектор.
  • d – домен. Указывает значение тега d= в подписи. В domain-key обязательно должен
    быть указан точный домен или подстановочный шаблон («*»).
  • i – личность. Указывает значение тега i=. Если не указан d, то в domain-key должен
    быть указан такой же домен, родительский домен или подстановочный шаблон («*»).
  • q – метод запроса. Указывает значение тега q= в подписи.
  • key-list – указывает, что ключ домена выбирается из указанного раздела <domainkey-list>

К примеру, со следующей конфигурацией:

domain-key key1, example.com, c:\pmta\key1.example.com.pem
domain-key key2, example.com, c:\pmta\key2.example.com.pem

Для выбора ключа могут быть использованы такие параметры X-DKIM-Options:

X-DKIM-Options: s=key2

Поддержка второй DKIM-подписи

PowerMTA поддерживает возможность добавления второго хэдера DKIM-Signature с параметрами, которые отличаются от параметров первого. Данная опция, например, фактически требуется gmail при использовании их цикла обратной связи. Все директивы dkim-… для второй
подписи начинаются с префикса «second-»:

second-dkim-add-body-limit
second-dkim-add-timestamp
second-dkim-algorithm
second-dkim-body-canon
second-dkim-disallow-adding-headers
second-dkim-expire-after
second-dkim-headers
second-dkim-headers-canon
second-dkim-identity
second-dkim-identity-fallback
second-dkim-sign
second-dkim-query-method

В примере ниже, мы видим, что PowerMTA добавляет и подпись клиента, и ESP-подпись к письмам, отправляемым через VirtualMTA «12345». Подпись клиента основывается на домене
хэдера From (customer.com), а ESP-подпись – на указанном параметре second-dkim-identity
(dkimesp.com). PowerMTA будет добавлять хэдер Feedback-ID, необходимый для gmail, в обе
подписи только для писем на gmail.

<virtual-mta 12345>
 domain-key 2017k1, esp.com, c:\pmta\keys\esp.esp.com.pem
 domain-key 2017-01, customer.com, c:\pmta\keys17-01.customer.com.pem
 <domain gmail.com>
 dkim-headers Feedback-ID
 second-dkim-headers Feedback-ID
<domain *>
 dkim-sign yes
 second-dkim-sign yes
 second-dkim-identity @esp.com
 </domain>
</virtual-mta>

Примечание: метод заголовка X-DKIM-Options не поддерживается для второй подписи, но все
равно может использоваться для первой подписи.
PowerMTA все равно доставит сообщение, если из-за атрибутов сообщения и параметров конфигурации нет подходящих подписей, независимо, должна ли применяться одна подпись или
обе.

Возможность DKIM-подписи закрытым ключом, данным в письме.

У PowerMTA есть возможность извлечения закрытого ключа из хэдера в письме и дальнейшего
использования этого ключа для DKIM-подписи писем. Это альтернативное решение для прописывания ключей в файле конфигурации. Чтобы сделать эту функцию активной, используйте
директиву process-x-dkim-key для источников.

Если установлено значение true, PMTA будет извлекать закрытый ключ, указанный в хэдере
X-DKIM-Key, и использовать его для DKIM-подписи писем. По соображениям безопасности, перед передачей письма, этот хэдер будет удален из него. Обратите внимание, что при использовании этой функции вы должны указать селектор (значение «s=») для DKIM-подписи с помощью хэдера X-DKIM-Options, иначе письмо не будет подписано. Обработка хэдера X-DKIMOptions также должна быть включена с помощью директивы process-x-dkim-options для
источника.

Также следует помнить, что содержимое X-DKIM-Key будет занимать несколько строк, поэтому
вам будет нужно ввести хэдер в теле сообщения, как показано в примере ниже:

Date: Mon, 8 Mar 2017 13:29:22 -0500
From: Test User <test@port25.com>
To: test@port25.com
Subject: help!
X-Dkim-Options: s=ball; d=some-esp.com;
X-Dkim-Key: -----BEGIN PRIVATE KEY-----
 MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAL2/eGlUEGzYGMoN
 P8fdRRHF8BZ0/7+ani5IkZq5W84WDjSLtx8OryMYJNttOtdcIy3vb5YCsqziZncE
 a8ite5GiYct2SW+Such/KTWWNuJFEpyz7bjWjP46izuoktZ6JWErnmK+IiPCkc8/
 iSVJXZgafio5gBwr0mUi2YDGUX/RAgMBAAECgYBGYCSV1EL/S6ruDbnxNAUxEVv5
 yE0u0HcIrYurekItjoqYPJWfpD+a4ZKR+9JOG/NET0Dwv3Fro9DjJbWgSY/BkSKs
ckypdEh2DECtAaqpZ18Bs7nmaHnsyhaFHaTvT/VKM/WVvBXfh+NlaHoJK05um9MS
 jVwiDkZHVeku6g+Y0QJBAO392X05FziwQYFS5Y6ldfyJfWQzRmGTsz8B1HGeS84N
 wuMtP4zjL/c5nwOkN5SO8inE7xZLy958WQQtZW9BW00CQQDMGxbwuK4HmBLejLZw
 R7g9SH8b/54bWWt+4BmiWjF1Dnbeq/5Co2ZHcXOQ50fopk/OsAsN/F0VZb5578lz
 nsyVAkAyhSieBHiBeCjvowFH/qfFLAqKMrhGDmyGe4T1eXzuCM3OG9TZu4B7Iqg2
 xa1mw9F0PHHkccKdQBhFYr2dmGohAkAJi6bKAUkaT9FqGRibLa9/JjnTnGPPkaIG
 YAKy5hb0C4YhqdeNVEj/RF4MQ9TIG6cV2oPZ1pif3I9I8p7wSlf1AkBznyYhKnML
 OdSR8QUfwVm8o5TtFz+kisDJ7fQc1kCruB5IyLXPnKxugUcetHBVnC4Y7O996N4R
 mkoEKsyfiQhk
 -----END PRIVATE KEY-----
HELP! How do I port25?
Thanks abunch,
.. Test

Для DKIM-подписи письма выше, вам будет нужно добавить следующие директивы в конфигурацию PMTA:

<source 0/0>
 process-x-dkim-key yes
 process-x-dkim-options yes
</source>
<source {pickup}>
 process-x-dkim-key yes
 process-x-dkim-options yes
</source>
0

my-mails.ru

Всегда On-Line

Добавить комментарий

Авторизация
*
*

Капча загружается...


Генерация пароля

Капча загружается...


51276208