Створюємо цифровий підпис Dkim у Exchange 2013 - IT in realworld

Уважний адміністратор, стурбований проблемою спаму, давно зареєстрував запис SPF, і уважно поглядав, як він влаштований в інших, для власного інтересу.

Нещодавно ще великі гравці використовували м'яку політику записів, т.зв. soft fail.

“By contrast, Microsoft використовує soft fail. Багато тридцятирічних постачальників, які мають електронну пошту на веб-сайті Microsoft для пересування, друкарні, і тому, що є поза SPF Record, що Microsoft використовується. Тому Microsoft не має права на те, що IP-адреса, але все ще й ті організації, які можуть бути доступні для електронної пошти messages на сайті Microsoft, Microsoft використовує soft fail.”

Ще одна зміна-з'явилася цифровий підпис у листів, про що говорить наявність відкритого ключа в тій же TXT запису.

Отже, уважний адміністратор, який у всьому дорівнює Microsoft, напевно теж захоче зробити собі чудовий цифровий підпис для повідомлень після знайомства зі змістом статті.

Цифровий підпис

DKIM (Domain Keys Identified Mail) — це технологія автентифікації відправника за допомогою цифрового підпису, пов'язаного з ім'ям домену. Наявність цього підпису підтверджує, що лист не був перехоплений та змінений після надсилання з поштового сервера відправника.

Цифровий підпис призначений для визначення достовірності електронного листа і служить для боротьби зі спамом та фішингом. Листи отримують цифровий підпис на поштовому сервері відправника. Сам відправник встановити підпис не може, якщо він не є адміністратором того сервера, з якого надсилається лист.

Якщо на сторінці читання листа в поліВід кого ви бачите сірий значокЦифровий підпис не є достовірним,рекомендується з обережністю поставитися до змісту листа.

Нещодавно цифровий підпис у Exchange можна було встановити рішеннями сторонніх постачальників, що не всі могли гідно оцінити. Спільнотою проте пропонувався проект OpenDKIM, який після постукування молотком теж був цілком добрим, і підходив для цифрового підпису електронних листів.

Сьогодні я хотів би поговорити про проект dkim-exchange, який не вимагає Linux рішень та фінансових витрат.

Рішення побудоване на базі транспортного агента, що встановлюється на додаток до інших агентів транспорту, і виявляється простіше простого в установці та застосуванні. Отже, завантажуємо дистрибутив.

Уважно дивимося довідку та вміст.

Програма складається з конфігураційного файлу configuration-dkimsigner-exe-config, у форматі xml, в який записуються налаштування, та файлу програми, запустимо його, відкривши EMS з підвищеними привілеями, та запустившиConfiguration.DkimSigner.exe

Переконаємося також, що політика дозволяє виконання скриптів

Set-ExecutionPolicy Unrestricted

створюємо

Особливих труднощів інтерфейс не становить, і для тих, хто хоче, можна робити все скриптом, не користуючись майстром.

Отже, просто натиснемоInstall, у фоновому режимі встановиться агент, який підписуватиме наші повідомлення, і служба транспорту буде перезапущена.

створюємо

Агент повинен бути останнім у списку пріоритету, додаткових налаштувань не вимагає, сумісний з Exchange починаючи з 2007 та підтримкою до останніх версій.

Отже, після встановлення агента залишилося зробити зовсім небагато:

перейдемо на вкладкуDkim settings і змінимо рівень журналування більш повний-Debug.

При конфігуруванніце нам знадобиться, надалі знизимо налаштування для того, щоб бачити лише помилки, коли програма буде нормально працювати.

цифровий

На даний момент можна нічого не змінювати, проте зазначу, що ми можемо змінити алгоритм підпису, а також вибрати заголовки, які хочемо підписувати за бажанням. Налаштування відразу використовуються за натисканням кнопки Save Settings.

Їдемо далі-на вкладкуDomain Settings

створюємо

Додамо тут домен кнопкоюAdd, який хочемо підписувати. Далі згенеруємо ключ потрібної довжини. наприклад, візьмемо кілобитний для початку, і вкажемо селектор- той хост, який відповідає за відправку пошти в організації. Нам відразу ж запропонують створений на основі приватного та публічного ключів запис у рядкуSuggested DNS Recor d, можемо використовувати його. Кнопкою Existing DNS Record можна перевірити існуючий запис зовнішньої DNS зоні, яку ми зараз підемо створювати.

Якщо вам хочеться більше свободи, запис можна створити в багатьох онлайн сервісах, які допоможуть її сконструювати так само, як і майстер. Наприклад, ось цей сайт

створюємо

Отримавши від нас необхідні налаштування, створить записShow DNS Record :

Отже, нам потрібно створити в нашій зоні запис видуmx1._domainkey.razbornov.ru IN TXT, тобто.

ім'я селектора _domainkey та ім'я нашого домену. Немає нічого простіше-в панелі хостингу створюємо запис, ось як це виглядає, дивимося запис унизу:

цифровий

до верхнього запису на скріншоті повернемося трохи згодом.

Отже, ми налаштували програму, створили запис у DNS. Через кілька годин, коли зміни застосовуватись, можна перевіряти налаштування. Найпростіший спосіб-надсилати листи на сервіс, який гордо показує, що лист підписано цифровим підписом, осьтак:

підпис

У заголовках повідомлення також має бути результат: dkim=pass header.

Під час надсилання листів поглядаємо в журнал:

підпис

Видно (йдемо від виділеного рядка вгору). що є повідомлення, яке агент мав намір підписати цифровим підписом. Агент створює хеш і підписує повідомлення, після чого воно передається на відправлення.

підпис

або можна користуватися сервісом, про який я вже писав.

Пошук та усунення несправностей:

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

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

http://www.mail-tester.com/web-EE47Ci P.S. Після того, як ми сьогодні постаріли. як підписувати повідомлення хотілося б сказати ще кілька слів.

По-перше, закликаю простимулювати розробників ПЗ невеликою сумою, яка, безумовно, зайвою їм не буде.

По-друге, коли ви освоїтеся з DKIM підписом, раджу створити ще й політику DMARC.

Це зв'язка запису SPF та DKIM. Можна просто створити політику, яка каже про те, що будь-які наші листи будуть підписані, як на скріншоті, до якого я обіцяв повернутися. Це буде запис виду

v=DMARC1; p=reject.Такий записговорить про те, що не підписані цифровим підписом листи не повинні прийматись як відповідні заяві політики.

Цікаво помітити, що навіть якщо Ви не подужали статтю не використовуєте DKIM, то непогано б створити все одно політику DMARC, яка говорить про те, що політика у Вас є, а ніяких дій з листами робити не потрібно. Це буде запис виду v=DMARC1; p=none.

Як не дивно, але створення такого запису в DNS без налаштування DKIM дасть вам додаткові позитивні бали при аналізі Ваших листів сторонніми поштовими системами. І це дуже правильно - робите хоч щось уже молодці - залишилося всього кілька кроків для повноцінного підпису повідомлень та політик їх застосування, чи не так?