+7 (495) 660-35-00

info@iteron.ru

129226, РФ, Москва

Сельскохозяйственная, д. 11, к.3, оф. 148

09:00 - 21:00

без выходных

Настройка DKIM в MS Exchange Server 2010/2013/2016

Внимание, для настройки Exchange 2016 CU10 и CU11 требуются некоторые изменения!

В конце статьи дополнение.

Всё началось с того, что мне понадобилось минимизировать количество обычных писем (не рассылок), которые регулярно попадали в папку «Спам» на стороне получателя, где благополучно терялись, оставаясь без ответа. К этому моменту SPF в домене уже был настроен, однако, судя по всему, некоторым почтовым серверам этого было мало. Так появилась вполне конкретная задача: «прикрутить» DKIM к MS Exchange Server 2010.

По умолчанию MS Exchange Server не поддерживает DKIM. В процессе поиска решения был обнаружен бесплатный агент транспорта Exchange DKIM Signer. Ссылка для скачивания последней версии - Здесь

Если у вас установлен .NET Framework 4.5, установку агента можно выполнить в автоматическом режиме. В противном случае придётся установить и настроить Exchange DKIM Signer вручную. Подробная инструкция по установке в ручном режиме есть на сайте агента.

Я решил проверить автоматический режим:

  1. На всякий случай делаем резервную копию сервера Exchange
  2. Скачиваем Configuration.DkimSigner.zip с https://github.com/Pro/dkim-exchange/releases/latest
  3. Распаковываем в произвольную папку и запускаем Configuration.DkimSigner.exe
  4. Нажимаем кнопку Install
  5. В открывшемся окне выбираем, какую версию будем устанавливать
  6. Нажимаем кнопку Install и ждём завершения процесса установки
  7. Закрываем окно

Новый агент транспорта Exchange установлен. Теперь необходимо настроить его параметры. Как и в случае установки, конфигурировать агент можно либо вручную (редактируя файл C:\Program Files\Exchange DkimSigner\settigs.xml), либо через GUI (запустив файл C:\Program Files\Exchange DkimSigner\Configuration.DkimSigner.exe).

Нажимаем кнопку Configure и убеждаемся, что агент Exchange DKIM Signer имеет самый низший приоритет (стоит самым последним в списке). Это нужно для того, чтобы письма подписывались на самом последнем этапе, после всех возможных модификаций, которые сделают остальные агенты транспорта.

На закладке «DKIM Settings» указывается, какие поля будут подписаны. По умолчанию это: From, Subject, To, Date, Message-ID.

Настройка параметров нашего домена выполняется закладке «Domain Settings». Указываем имя домена, селектор (имя DNS записи) и файл с секретным ключом. Ключ можно сгенерировать прямо здесь же.


После того как настройки сделаны, нажимаем кнопку «Save domain». По идее, настройки должны примениться сразу автоматически, но я на всякий случай перезапустил службу «Транспорт Microsoft Exchange».

Осталось настроить две записи в DNS:
_domainkey.<имя_вашего_домена>. TXT "t=s; o=~;"
mail._domainkey.<имя_вашего_домена>. TXT "v=DKIM1; k=rsa; t=s; p=<содержимое_открытого_ключа>"

Параметр o= может принимать значение:

  • «~» — некоторые письма из этого домена подписаны
  • «-» — все письма из этого домена подписаны.

«mail» перед «._domainkey» — это и есть имя селектора.

Так же рекомендуется прописать в DNS запись ADSP:
_adsp._domainkey.<имя_вашего_домена>. TXT "dkim=all"

Параметр dkim может принимать значение:

  • «unknown» — аналогично отсутствию записи
  • «all» — все письма должны быть подписаны
  • «discardable» — неподписанные письма не должны приниматься.

Отправляем тестовое письмо, например, на gmail и ищем в заголовках dkim=pass:

 

Строчки есть, всё работает.

Для настройки Exchange 2016 CU10 и CU11 требуются некоторые изменения

Вот что пишет один из авторов форка:

You can test my fork for Ex 2016 CU11 support. Its working on my machine.

You‘ll need to manually add the files for CU11 to your setup of DKIM-Signer, uninstall the old transport-agent and install the new one (using uninstall.ps1 and install.ps1).

https://github.com/dniakamal/dkim-exchange/tree/15.1.1591.10?files=1

See folder "Src/Exchange.DkimSigner/bin/Exchange 2016 CU11" and "Src/Configuration.DkimSigner/bin/Release"

Скачиваем его дистрибутив и следуем инструкции.

  1. Download the .zip and extract it e.g. on the Desktop
  2. Open "Exchange Management Shell" from the Startmenu
  3. Check your current execution policy and remember it for the last step Get-ExecutionPolicy –List
  4. Execute the following command to allow execution of local scripts (will be reset at last step): Set-ExecutionPolicy Unrestricted
  5. Cd into the folder where the zip has been extracted.
  6. Execute the install script .\install.ps1
  7. Follow the instructions. For the configuration see next section.
  8. Reset the execution policy to the value from step 3. E.g., Set-ExecutionPolicy RemoteSigned or Set-ExecutionPolicy Restricted
  9. Check EventLog for errors or warnings. Hint: you can create a user defined view in EventLog and then select "Per Source" and as the value "Exchange DkimSigner"
(Всего просмотров: 28 979, просмотров сегодня: 3)