среда, 16 марта 2016 г.

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

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

Настройка DKIM в MS Exchange Server
По умолчанию 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).
Настройка DKIM в MS Exchange Server
Нажимаем кнопку Configure и убеждаемся, что агент Exchange DKIM Signer имеет самый низший приоритет (стоит самым последним в списке). Это нужно для того, чтобы письма подписывались на самом последнем этапе, после всех возможных модификаций, которые сделают остальные агенты транспорта.
Настройка DKIM в MS Exchange Server
На закладке «DKIM Settings» указывается, какие поля будут подписаны. По умолчанию это: From, Subject, To, Date, Message-ID.
Настройка DKIM в MS Exchange Server
Настройка параметров нашего домена выполняется закладке «Domain Settings». Указываем имя домена, селектор (имя DNS записи) и файл с секретным ключом. Ключ можно сгенерировать прямо здесь же. У меня уже была пара ключей, которую я получил с помощью OpenSSL:
openssl genrsa -out private.pem 1024
openssl rsa -pubout -in private.pem -out public.pem

Настройка DKIM в MS Exchange Server
После того как настройки сделаны, нажимаем кнопку «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:
Настройка DKIM в MS Exchange Server
Строчки есть, всё работает.

 Источник: здесь

Комментариев нет:

Отправить комментарий