DKIM підпис у MS Exchange

Доброго часу доби, Хабре!

Пошук показав, що наша конфігурація не включає використання DKIM підпису, необхідність якої починає підніматися на обов'язковий рівень. Але проблема була в тому, що як MTA використовується MS Exchange Edge у зв'язці з Forefront Protection, який не вміє працювати з DKIM, а установка попереду іншого MTA, наприклад postfix, обіцяло відмовою від Forefront DNS-BL, перенастроюванням SSL/TLS, і подальшим ускладненням зміни. І хай пробачать мені, але, як Windows адміну, мені займатися всім цим дуже не хотілося.

Описів принципів DKIM і його налаштування безліч, якщо ви з цим незнайомі, то будь ласка прочитайте наступні статті, в них наочно і доступно все описано: DKIM - це просто, Більше немає листів у папці Spam: налаштування SMTP-сервера.

Exchange DKIM Signer

Він є Transport Agent, внутрішній обробник листів. У Exchange їх безліч, наприклад, у нас цей став 14, кожен займається своєю частиною роботи, перевіркою на спам, фільтр вкладень або зміною заголовків, лист проходить їх послідовно. Тому агента DKIM підпису необхідно розміщувати в самому кінці, коли лист вже не повинен змінюватися.

Якщо використовується Exchange 2007sp3-2010sp3, останню версію можна завантажити тут, для Exchange 2013 використовується версія 2.0 Агента, яка має GUI для встановлення, тому питань виникнути не повинно, посилання на online/offline установники можна знайти тут.

Встановлення на прикладі Exchange 2010 SP3

Операцію необхідно проводити усім серверах мають роль зовнішнього транспорту.

Тут описано 3 правила для прикладу, де Domain = - домен, ключем від якого проводиться підпис, Selector = - селектор, де знаходиться відкритий ключ,PrivateKeyFile= де шлях до закритого ключа (відносний або абсолютний), RecipientRule= і SenderRule= фільтри відправників або одержувачів за регулярними виразами, визначають листи, які необхідно підписувати даним ключем. Достатньо залишити лише 1 рядок і внести до нього свої дані, тоді підписуватимуться всі вихідні листи.

5. Тиснемо Enter і бачимо повідомлення про закінчення установки, послуги транспорту повинні запуститися. Перевіряємо журнал подій на предмет можливих помилок, у розділі «Додатки» Агент залишає записи від імені Exchange DKIM, 6. А також перевіряємо лістинг Транспортних агентів за командою "Get-TransportAgent",Exchange DkimSignerмає бути на останньому місці, якщо ні, то міняємо його пріоритет командою де N - номер останнього агента в список. 7. Командою "Set-ExecutionPolicy Restricted" повертаємо політику виконання зовнішніх скриптів за умовчанням.

Вимкнення та видалення агента

Тимчасово відключити чи видалити агента можна командами: 1. Зупиняємо службу транспорту "Net Stop MSExchangeTransport", 2. Відключаємо агента Disable-TransportAgent-Identity "Exchange DkimSigner", 3. При необхідності видаляємо його прив'язку "Uninstall-TransportAgent -Identity "Exchange DkimSigner"", 4. Запускаємо транспорт назад "Net Start MSExchangeTransport". 5. Видаляємо файли Так само для видалення можна скористатися скриптом ".\uninstall.ps1", що додається до установки, його використання аналогічно установці.

Висновок

А у нас тут можна отримати грант на тестовий період Яндекс.Хмари. Варто лише у полі «секретний пароль» запровадити «Хабр»