Как добавить DNS записи SPF, DKIM, DMARC и настроить почтовые протоколы POP3 и IMAP4

В предыдущей статье мы рассмотрели, как установить Exchange Server и как его настроить для запуска почтового сервера. В этой же, продолжим рассказывать, о том, что нужно делать чтобы ваши письма дошли до адресата и не попали в спам, а еще поговорим о настройке почтовых протоколов POP3 и IMAP4.

Как добавить DNS записи SPF, DKIM, DMARC и настроить почтовые протоколы POP3 и IMAP4

Для того чтобы ваши письма на пути к получателю, прошли проверку и не попали в спам, нужно добавить записи SPF, DKIM и DMARC в ваш DNS-хостинг.

SPF, DKIM и DMARC — это базовые настройки, которые обязательно нужно сделать перед запуском почтового сервера. Данные записи не дают мошенникам рассылать вредоносные письма от вашего имени, и при их отсутствии, сообщение может вовсе не дойти к адресату.

Перейти к просмотру
Как добавить SPF, DKIM, DMARC и настроить POP3 и IMAP4 на Exchange Server 2019

Как добавить SPF, DKIM, DMARC и настроить POP3 и IMAP4 на Exchange Server 2019

Как создать SPF запись

Запись SPF (Sender Policy Framework) – обеспечивает взаимопонимание между почтовыми серверами отправителя и получателя. Она содержит информацию о том, каким почтовым серверам разрешено отправлять почту от вашего имени.

Запись SPF - Sender Policy Framework

Без наличия SPF-записи многие почтовые сервисы могут отправлять всю почту, отправленную с почтовых ящиков домена, в спам, вне зависимости от её содержимого. SPF-запись публикуется на DNS-серверах, обслуживающих домен.

Перейдите в панель управления вашего DNS-хостинга. И создайте txt запись, заполнив все эти поля. Запись содержит такие ключи: версию spf, IP-адрес домена, v=spf1 — версия SPF.

Создаем SPF запись

Ключ – a — задает правила к конкретному домену, производя сравнение IP-адреса отправителя с IP-адресом, указанным в А-записях домена.

mx — включает в себя все адреса серверов, указанные в MX-записях домена.

Значок тильды ~ — это отклонение. Письмо будет принято, но будет помечено как спам.

all — все адреса, не указанные в записи.

Дополнительные теги можно будет установить позже, а сейчас жмем – Сохранить.

Параметры, определяющие поведение для указанных ключей:

  • + — параметр, указывающий на приём писем (Pass). Устанавливается по умолчанию, если нет других.
  • — отклонить (Fail). Письмо не будет принято.
  • ~ — «мягкое» отклонение (SoftFail). Письмо будет принято, но будет помечено как спам.
  • ? — нейтральное восприятие отправителя.

Ключи для определения узлов:

  • mx — включает в себя все адреса серверов, указанные в MX-записях домена.
  • ip4 — указание конкретных IP.
  • ptr — проверка PTR-записи на наличие указанного домена.
  • exists — проверка работоспособности домена. Важно учитывать, что эта проверка также будет давать положительный ответ, если используются адреса вида 127.0.0.1 и т. д., из-за чего её использование довольно сомнительно.
  • a — применение правил к конкретному домену, производя сравнение IP-адреса отправителя с IP-адресом, указанным в А-записях домена.
  • include — использование разрешённых узлов, указанных в SPF-записях другого домена.
  • redirect — правило указывает на то, что SPF-политика, используемая для этого домена, указана в другом домене. В некоторой степени аналог include с игнорированием записей текущего домена.
  • all — все адреса, не указанные в записи.

Как создать DKIM запись

Вторая ступень защиты при передаче между почтовыми серверами это – DKIM (DomainKeys Identified Mail). С его помощью к исходным сообщениям электронной почты добавляется цифровая подпись. Получатель использует эту подпись для проверки подлинности писем.

DKIM - DomainKeys Identified Mail

Сервер получателя отправляет DNS-запрос и получает публичный ключ, который размещается в DNS-записи. Этот ключ он использует для проверки письма. Если ключи совпадают письмо доходит до адресата, иначе попадает в Спам.

По умолчанию MS Exchange Server не поддерживает DKIM. Для его настройки на Exchange нужно установить сторонний агент транспорта – Exchange DKIM Signer.

https://github.com/Pro/dkim-exchange/releases/tag/v3.4.0

https://www.collaborationpro.com/exchange-2016-2019-implementing-dkim/

Скачать Exchange DKIM Signer

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

Запуск Exchange DKIM Signer

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

Вкладка DKIM Settings

Настройка параметров домена выполняется вкладке – Domain Settings. Жмем Add, указываем имя домена, селектор (имя DNS записи). Здесь можно либо сгенерировать ключ, либо указать его расположение. Для создания публичного ключа нажмите – Generate new key, после чего он появится в этом окне.

Настройки DKIM Domain Settings

Затем перейдите в панель управления хостингом домена, и создайте txt запись, задайте ему имя mail._domainkey, и в поле – Значение, вставьте ваш публичный ключ. После внесенных настроек, в программе нажимаем кнопку «Save domain». Настройки применяются автоматически.

Создаем новую DNS запись с ключом DKIM

Как добавить DMARC запись

Ну и наконец разберем что такое DMARC (Domain-based Message Authentication, Reportingand Conformance). Это следующий этап защиты после SPF и DKIM. Эта запись определяет, что делать с сообщениями, если они не прошли аутентификацию с помощью SPF и DKIM. Это правило, которое устанавливается для писем, отправленных от вашего имени.

DMARC - Domain-based Message Authentication, Reportingand Conformance

Перед установкой DMARC важно убедиться, что SPF и DKIM прописаны корректно, иначе это может привести к фильтрации писем от вас. Для настройки DMARC, в панели управления вашего DNS-хостинга, создайте txt запись _dmarc.

Создание DNS записи DMARC

Где нужно указать как минимум версию механизма и политику. При первой настройке в качестве политики рекомендуется указать – none (не делать ничего, кроме отправки отчётов).

В дальнейшем можно будет изменить запись ужесточив ее дописав нужные теги.

  1. v — версия DMARC.
  2. p — правило для домена. Может принимать одно из значений:
    • none — не делать ничего, кроме отправки отчётов.
    • quarantine — добавлять письма в спам.
    • reject — отклонять письма.
  3. sp — правило для субдоменов. Может принимать такие же значения, как и p.
  4. aspf и adkim — позволяют проверять соответствие записям SPF и DKIM. Могут принимать значения:
    • r (relaxed) — мягкая проверка.
    • s (strict) — строгое соответствие.
  5. pct — количество писем, подлежащих фильтрации, в процентах.
  6. pct — количество писем, подлежащих фильтрации, в процентах.
  7. ruf — определяет почту, на которую нужно отправлять отчёты о письмах, не прошедших проверку DMARC.
  8. fo — определяет условия генерации отчётов. Может принимать значения:
    • 0 — присылать отчет, если не пройдена аутентификация ни SPF, ни DKIM. Значение по умолчанию.
    • 1 — присылать отчет, если не пройдена одна из аутентификаций — SPF или DKIM.
    • d — присылать отчет, если не пройдена аутентификация DKIM.
    • s — присылать отчет, если не пройдена аутентификация SPF.

На этом настройка электронной почты завершена, теперь для проверки отправьте тестовое письмо со своего электронного ящика.

Как настроить почтовые службы IMAP и POP3 в Exchange Server

https://learn.microsoft.com/en-us/exchange/clients/pop3-and-imap4/configure-imap4?view=exchserver-2019

Теперь переходим к настройке почтовых служб POP3 и IMAP4. По умолчанию в Exchange службы POP3 и IMAP4 отключены. Для настройки подключения клиентов по IMAP и POP3 нужно их запустить и настроить автоматический запуск.

Откройте – Services, найдите службу – Microsoft Exchange IMAP4, установите тип запуска – Автоматически и запустите службу, а затем Apply и Ok.

Запуск службы Microsoft Exchange IMAP4

Далее те же манипуляции проводим со службой – Microsoft Exchange IMAP4 Backend, Microsoft Exchange POP3 и Microsoft Exchange POP3 Backend. После запуска служб нужно настроить сертификат. Откройте панель управления Exchange, перейдите в раздел – ServersCertificates.

Панель управления Exchange –  Servers – Certificates

Откройте SSL сертификат, кликнув по нему два раза левой кнопкой мыши, перейдите во вкладку – Services и установите отметки напротив – IMAP и POP, а затем Save.

Настройки SSL сертификата

Далее нужно связать домен со службами pop3 и imap. Откройте – Пуск, Microsoft Exchange ServerExchange Management Shell и выполните команду:

Вводим первую команду для службы POP3, здесь нужно указать внешний домен:порт 995 и SSL, затем еще раз домен с 110 портом, и в конце указываем имя сертификата. Открываем сертификат в панели управления и копируем имя.

Set-PopSettings -ExternalConnectionSettings “mail.hetmansoftware.com:995:SSL”,“mail.hetmansoftware.com:110:TLS” -x509CertificateName hetmansoftware.com

Связываем домен со службой POP3

После выполнения команды нужно перезапустить службу POP3, в окне служб, кликните по службе правой кнопкой мыши – Restart. И вторую службу POP3 backend.

Выполните команду чтобы связать службу – IMAP

Далее выполните команду чтобы связать службу – IMAP.

Set-ImapSettings -ExternalConnectionSettings “mail.hetmansoftware.com:993:SSL”,“mail.hetmansoftware.com:143:TLS” -x509CertificateName hetmansoftware.com

После перезапустите службу. IMAP и IMAP backend.

На следующем шаге нужно проверить и если нужно открыть в вашей сети порты для данных служб: 995, 993, 110 и 143. Откройте настройки сети и откройте порты для Exchange сервера.

Открываем порты для служб

Следующее что нужно сделать – изменить параметры коннектора приема. В панели управления перейдите в раздел - Mail flowreceive connectorsClient Frontend exchange.

Mail flow – receive connectors – Client Frontend exchange

Откройте вкладку – scoping, FQDN – измените домен с внутреннего на внешний – mail.hetmansoftware.com. и нажмите Save.

FQDN – измените домен с внутреннего на внешний

Далее нужно указать сертификат, который будет использоваться для шифрования подключений SMTP. Для начала нужно узнать ID сертификата, который хотим связать со службами.

Откройте Exchange Shell и выполните такую команду:

Get-exchangecertificate

Скопируйте значение сертификата – Thumbprint.

Get-exchangecertificate

https://learn.microsoft.com/en-us/exchange/clients/pop3-and-imap4/configure-authenticated-smtp?view=exchserver-2019

Затем укажите сертификат, используемый для шифрования аутентифицированных клиентских подключений SMTP. Для этого нужно выполнить три команды.

Указание правильного сертификата

Выполните первую команду:

$TLSCert = Get-ExchangeCertificate -Thumbprint <ThumbprintValue>

, в конце добавьте это значение сертификата.

После вторую команду:

$TLSCertName = "<I>$($TLSCert.Issuer)<S>$($TLSCert.Subject)"

И затем третью команду:

Get-ReceiveConnector -Identity "Client Frontend*" | Set-ReceiveConnector -TlsCertificateName $TLSCertName

Чтобы убедиться, что вы указали сертификат, который используется для шифрования аутентифицированных клиентских подключений SMTP, выполните такую команду:

Get-ReceiveConnector -Identity "Client Frontend*" | Format-List Name,Fqdn,TlsCertificateName

Проверка правильности присвоенного сертификата

В результате вы получите имя сертификата, здесь должно быть имя сертификата, который вы указали. На следующем шаге нужно проверить включены ли данные протоколы на уровне почтовых ящиков, если они отключены в почтовых ящиках, пользователи не смогут настраивать свои профили в outlook, для использования POP3 и IMAP4. По умолчанию они должны быть включены.

Для проверки откройте панель управления Exchange, перейдите в раздел – recepientsmailboxes, откройте нужную учетную запись (почтовый ящик) – и перейдите в раздел – mailbox features, здесь проверьте установлено ли значение – Enable, для данных служб.

Проверяем включены ли протоколы на уровне почтовых ящиков

А чтобы проверить работу служб выполните команду:

-Test

Проверка работы служб POP3 и IMAP4

Test-PopConnectivity -ClientAccessServer expc -Lightmode -MailboxCredential (Get-Credential)

Вводим пароль. И вот успешный результат

Далее выполните такую же команду для IMAP

Test-ImapConnectivity -ClientAccessServer expc -Lightmode -MailboxCredential (Get-Credential)

Пароль от учетной записи. Данная конфигурация тоже работает.

Проверка служб POP3 и IMAP

Чтобы убедиться, что вы включили и настроили IMAP4 на сервере Exchange, выполните следующие процедуры:

На сайте Microsoft вы можете воспользоваться специальным сервисом, который проверит протоколы POP3 и IMAP. https://testconnectivity.microsoft.com/tests/Imap/input

Проверка работы IMAP на сайте Microsoft

Заполняем все обязательные поля и жмем – Выполнить проверку. Проверка прошла успешно, но с предупреждением. Дело в том, что Microsoft не может проверить цепочку сертификата. Возможно, на сервере отключена или неправильно настроена данная функция.

Что касается SSL сертификата то я в нем уверен на 100 процентов, поэтому можно не обращать внимание на данное предупреждение. Служба работает нормально.

Далее проверим POP3 протокол. https://testconnectivity.microsoft.com/tests/pop/input

Проверка работы POP3 на сайте Microsoft

Все делаем по тому же принципу, заполняем поля и жмем – Выполнить проверку. Проверка прошла успешно.

Теперь проверим как ходит почта. В outlook настроим соединение через IMAP или POP3 протокол. И отправим тестовое письмо.

Проверка работы почты через Outlook

Теперь почта не попадает в спам и дошла прямо до адресата без каких-либо ошибок.

Ошибки

А сейчас давайте разберем несколько ошибок которые могут возникать при неправильной настройке или отсутствии DNS-записей.

Ошибки в работе DKIM-, SPF- и DMARC

Ошибка 550 SPF Check Failed. Или если на сервере Microsoft Exchange установлено приложение от спама ошибка может иметь такой вид:

SMTP; 550 5.7.1 550 Message rejected because SPF check failed.

Данная ошибка означает, что домен отправителя имеет неправильную запись SPF или что отправитель использует поддельный почтовый адрес.

В том случае если DNS-запись - SPF отсутствует, неправильно настроена или отключена при отправке письма, на внешний почтовый адрес, вы можете получить сообщение с такой ошибкой: mx.google.com отклонил ваши сообщения на следующие адреса электронной почты.

Для ее устранения добавите SPF запись в вашем DNS-хостинге.

Ошибка записи DMARC

При проверке записи DMARC может наблюдаться следующая ошибка:

Message Failed DMARC Compliance

Message Failed Verification Tests & is not DMARC Compliant

Эта ошибка означает, что сообщение не прошло проверку подлинности и не соответствует требованиям DMARC. Ошибка соответствия DMARC означает, что проверочные тесты SPF и DKIM не пройдены. Эти сбои могут негативно повлиять на доставку электронной почты, поскольку почтовые ящики не могут проверить подлинность вашей электронной почты.

Ошибка записи DKIM

Так выглядит ошибка связанная с DKIM записью:

"DKIM-Result: fail (bad signature)"

Обычно эта ошибка появляется во время начальной настройки DKIM, после обновления приложения или после миграции сервера.

Зачастую проблема вызвана ошибками в написании тегов или при настройке открытого ключа. При отсутствии записи DKIM или неправильной ее настройке, в полученном письме вы увидите предупреждение, это же касается и записи DMARC. Если письмо выглядит следующим образом измените настройки соответствующей записи.

Заключение

Итак, мы рассмотрели доступный каждому администратору простой и не требующий заморочек набор штатных средств, помогающих усилить безопасность почтовых серверов Microsoft. Правильно настроенные записи DKIM-, SPF- и DMARC позволят по максимуму снизить поток спама, рассылок, и различных вредоносных писем. Я показал только базовую настройку и принцип работы, для полноценной защиты нужны более точные настройки.

Dmytriy Zhura

Автор: , Технический писатель

Дмитрий Жура – автор и один из IT-инженеров компании Hetman Software. Имеет почти 10 летний опыт работы в IT-сфере: администрирование и настройка серверов, установка операционных систем и различного программного обеспечения, настройка сети, информационная безопасность, внедрения и консультация по использованию специализированного ПО. Является экспертом в области восстановления данных, файловых систем, устройств хранения данных и RAID массивов.

Andrey Mareev

Редактор: , Технический писатель

В далеком 2005 году, я получил диплом по специальности «Прикладная математика» в Восточноукраинском национальном университете. А уже в 2006 году, я создал свой первый проект по восстановлению данных. С 2012 года, начал работать в компании «Hetman Software», отвечая за раскрутку сайта, продвижение программного обеспечения компании, и как специалист по работе с клиентами.

Рекомендуем для вас

Вас приветствует ассистент Hetman Software, созданный на основе искусственного интеллекта.
Начать Чат