# DKIM, SPF, and DMARC Protection and ARC Support

Содержание

Plesk supports modern anti-spam mechanisms used to validate the identity of mail senders. Namely, DKIM, SPF, DMARC, and ARC.

> In this topic, you will learn how to configure DKIM, SPF, and DMARC protection in Plesk. You will also learn how ARC support is implemented in Plesk for Linux.

Here is a short summary of the three mechanisms described in this topic and what they do:

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

- SPF (Sender Policy Framework – инфраструктура политики отправителя) – метод, используемый для предотвращения подделки адреса отправителя письма, то есть использования фальшивого адреса отправителя. Он позволяет проверить, что входящая почта от определённого домена приходит с хоста, уполномоченного администратором этого домена. Кроме того, Plesk использует SRS (Sender Rewriting Scheme – схему перезаписи отправителя) для того, чтобы перенаправленные сообщения могли пройти проверку SPF.

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

- ARC (Authenticated Received Chain) is a technology that enables intermediate mail servers (for example, mailing lists and mail forwarding services) to store an email’s authentication results using special headers. This helps the destination mail server validate the email if its SPF and DKIM records are made invalid by the intermediate mail server’s processing.

Эти инструменты имеют следующие требования к почтовому серверу:

Почтовый сервер | DKIM | SPF* | SRS | DMARC | ARC
--- | --- | --- | --- | --- | ---
Postfix (Linux) | ➕ | ➕ | ➕ | ➕ | ➕
Qmail (Linux) | ➕ | ➕ | ➖ | ➕ | ➕
MailEnable Professional (Windows) | ➕ | ➖ | ➖ | ➖ | ➖
MailEnable Standard (Windows) | Версия должна быть 9.16 или выше. | ➖ | ➖ | ➖ | ➖
SmarterMail (Windows) | ➕ | ➖ | ➕ | ➕ | ➖
IceWarp (Windows) | ➕ | ➖ | ➕ | ➖ | ➖

В этой таблице ‘+’ означает, что инструмент поддерживается на всех версиях почтового сервера, поддерживаемых Plesk Obsidian. ‘-‘ означает, что инструмент не поддерживается.

Примечание

*В таблице выше поддержка SPF означает SPF для входящей почты. Почтовые серверы Linux отмечены знаком ‘+’, потому что Plesk для Linux поддерживает SPF для входящей и исходящей почты. Почтовые серверы Windows отмечены знаком ‘-’, потому что Plesk для Windows поддерживает SPF только для исходящей почты.

## DKIM

Включение DKIM для домена присоединяет специальный заголовок к каждому письму, отправленному с этого домена. Этот заголовок содержит зашифрованный секретный ключ. Почтовые серверы получателей используют открытый ключ, чтобы проверить, что письмо было действительно отправлено с этого домена и никто не изменил его содержимое в процессе пересылки. Письма без такого заголовка не будут считаться подлинными.

Для предоставления поддержки DKIM Plesk использует функциональность внешней библиотеки (Linux) или почтового сервера, поставляемого с Plesk (Windows).

### Включение или выключение DKIM на сервере

DKIM включен в Plesk по умолчанию. Чтобы отключить DKIM или оставить его включенным только для исходящей или входящей почты, перейдите на страницу Инструменты и настройки > Настройки почтового сервера (в разделе «Почта»), прокрутите вниз до раздела «Система защиты от спама DKIM» и снимите один из следующих флажков (или оба):

- «Разрешить подписывать исходящую почту». Эта опция позволяет клиентам управлять DKIM-подписью исходящей почты для каждого домена.

- (Plesk для Linux). «Проверять входящую почту». Эта опция включает проверку DKIM для всей входящей почты. Все сообщения проверяются, и те сообщения, которые не проходят проверку, помечаются специальным заголовком.

Примечание

Вы не можете отключить проверку DKIM для входящей почты, если включена защита DMARC.

### Включение DKIM для домена

Если на сервере включена подпись DKIM, новые домены, у которых есть свой DNS и почтовый хостинг в Plesk, по умолчанию подписывают исходящую почту с помощью DKIM.

Для доменов, использующих внешний DNS-сервер, DKIM не может быть включен по умолчанию. Подписание исходящей почты с помощью DKIM означает, что Plesk добавляет следующие две записи в зону DNS домена (`example.com` — имя вашего домена):

- `default._domainkey.example.com` содержит открытую часть созданного ключа.

- `_ domainkey.example.com` содержит политику DKIM. Вы можете изменять эту политику.

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

Включение DKIM-подписи исходящей почты для домена, использующего внешний DNS-сервер:

1. Перейдите на страницу Сайты и домены > имя домена > вкладка «Почта» > Настройки почты.

2. Установите флажок «Использовать систему защиты от спама DKIM для подписи исходящих сообщений».

3. Нажмите на подсказку «Как настроить внешний DNS». Скопируйте две записи DNS, которые вы увидите, и добавьте их к DNS-серверу.

   Примечание

   Если для отправки почты вы используете псевдонимы доменов, добавьте DNS-записи DKIM и для этих псевдонимов. Используйте те же самые записи, что и для основного домена, но с указанием имени псевдонима домена.

## SPF и SRS

SPF (Sender Policy Framework ― инфраструктура политики отправителя) ― технология, используемая для предотвращения подделки адреса отправителя писем, то есть использования фальшивых адресов отправителя. SPF позволяет администратору домена установить политику авторизации отдельных хостов для отправки почты с домена. Сервер, принимающий почту, проверяет, что входящая почта с определённого домена приходит с хоста, авторизованного администратором этого домена. SPF базируется на правилах, установленных администратором в зоне DNS отправителя.

В Plesk вы можете установить политику SPF для исходящей почты, указав правила в записи DNS. В Plesk для Linux политика SPF по умолчанию применяется для входящей почты.

Когда политика SPF установлена, почтовый сервер проверяет входящую почту с помощью следующего алгоритма:

1. Прочитать локальные правила.

   Локальные правила ― это правила, которые применяет антиспам. Пример локального правила: `a:test.plesk.com`.

2. Найти SPF-запись DNS отправителя (если она есть).

   Пример SPF-записи:`example.com. TXT v=spf1 +a +mx -all`

3. Объединить локальные правила и SPF-запись в итоговую политику.

   В нашем примере итоговая политика будет следующей: `example.com. TXT v=spf1 +a +mx +a:test.plesk.com -all`.

   Примечание

   If the mail server detects no SPF record, local rules will be ignored as well.

4. Проверить почту на соответствие итоговой политике из предыдущего шага.

5. Прочитать предположения.

   Предположения ― это глобальные правила, которые имеют приоритет над SPF-записью. Пример предположения: `v=spf1 +a/24 +mx/24 +ptr ?all`.

6. Проверить почту на соответствие предположениям.

7. Сравнить результаты двух проверок: на соответствие итоговой политике (шаг 4) и на соответствие предположениям (предыдущий шаг). Применить проверку, результат которой менее строг.

Более подробную информацию о статусах SPF смотрите здесь.

Чтобы установить политику SPF для исходящей почты:

Go to Tools & Settings > DNS Settings (under «General Settings») and edit the TXT DNS record related to SPF. This DNS record is always present in the server-wide DNS template. Here is an example of SPF record created by Plesk:

    example.com.    TXT    v=spf1 +a +mx +a:test.plesk.com -all

Элементы этой записи означают следующее:

Элемент | Описание
--- | ---
`v=spf1` | Для домена используется SPF версии 1.
`+a` | Все хосты из DNS-записей типа «A» авторизованы для отправки писем.
`+mx` | Все хосты из DNS-записей типа «MX» авторизованы для отправки писем.
`+a:test.plesk.com` | Домен test.plesk.com авторизован для отправки почты.
`-all` | Все остальные домены не авторизованы для отправки почты.

Читайте больше о синтаксисе DNS-записей SPF. Нотация политики приводится здесь: RFC7208.

(Plesk для Linux) Чтобы настроить SPF для проверки входящей почты:

1. Перейдите на страницу Инструменты и настройки > Настройки почтового сервера (в разделе «Почта») и прокрутите вниз до раздела «Защита от спама на основе политик SPF».

2. Выберите одну из опций в меню Режим проверки SPF, чтобы указать, как следует поступать с письмом во время применения локальных правил и предположений SPF:

   1. Создавать только заголовки Received-SPF, не блокировать - принимать все входящие сообщения, независимо от результатов SPF-проверки.

   2. Использовать временные сообщения об ошибках при проблемах с поиском в DNS ― принимать все входящие сообщения, независимо от результатов SPF-проверки, даже если проверка закончилась неудачей из-за проблем с поиском DNS.

   3. Отклонять почтовые сообщения, когда SPF возвращает результат «fail»- отклонять сообщения от отправителей, которым не разрешено пользоваться доменом.

   4. Отклонять почтовые сообщения, когда SPF возвращает результат «softfail» ― отклонять сообщения от отправителей, которые по результатам проверки SPF-системы не могли быть признаны авторизованными или неавторизованными, в связи с тем, что отсутствуют опубликованные записи SPF для домена.

   5. Отклонять почтовые сообщения, когда SPF возвращает результат «neutral» ― отклонять сообщения от отправителей, которые по результатам проверки SPF-системы не могли быть признаны авторизованными или авторизованными, в связи с тем, что отсутствуют опубликованные записи SPF для домена.

   6. Отклонять почтовые сообщения, когда SPF не возвращает результат «pass» ― отклонять сообщения, которые не прошли проверку SPF по каким-либо причинам (например, если домен отправителя не поддерживает SPF и возвращает результат со статусом «unknown» ― «неизвестен»).

3. Чтобы задать локальные правила, введите их в поле SPF local rules.
   Например: include:spf.trusted-forwarder.org.

   Читайте больше о правилах SPF.

4. Вы можете также указать предположения в поле Предположения SPF.

   Например: v=spf1 +a/24 +mx/24 +ptr ?all

5. Чтобы указать сообщение об ошибке, которое будет возвращаться SMTP-отправителю в случае отклонения сообщения, введите его в поле Поясняющий текст SPF.

   Если не указано другого значения, для уведомления будет использован текст по умолчанию.

6. Нажмите OK.

(Plesk для Linux) Чтобы отключить проверку SPF для входящей почты:

1. Перейдите на страницу Инструменты и настройки > Настройки почтового сервера (в разделе «Почта»).

2. В разделе «DMARC» снимите флажок «Включить проверку DMARC для входящей почты», если он установлен.

3. В разделе «Защита от спама на основе политик SPF» снимите флажок «Включить защиту от спама на основе политик SPF для проверки входящих сообщений» и нажмите OK.

### Использование SRS

В дополнение к SPF, некоторые почтовые серверы в Plesk поддерживают SRS (Sender Rewriting Scheme ― схема перезаписи отправителя), механизм перезаписи адреса отправителя перенаправляемых сообщений так, чтобы они могли пройти проверку SPF. SRS помогает обеспечить доставку сообщений при использовании SPF.

SRS используется автоматически при перенаправлении сообщений из почтовых ящиков, размещенных на Plesk.

Для предоставления функциональности SRS Plesk использует возможности внешней библиотеки (Linux) или почтового сервера (Windows).

## DMARC

DMARC (Domain-based Message Authentication, Reporting and Conformance ― идентификация сообщений, создание отчётов и определение соответствия по доменному имени) ― это технология, расширяющая возможности методов SPF и DKIM. Политика DMARC определяет, что получатель должен делать с электронными сообщениями в зависимости от результатов проверки DKIM и SPF. В основе этой технологии лежат правила, указанные в зоне DNS отправителя.

В Plesk вы можете настроить политику DMARC для исходящей почты, указав правила в записи DNS.

Примечание

В Plesk для Linux и Plesk для Windows, использующих SmarterMail, DMARC также по умолчанию проверяет входящую почту.

Чтобы настроить собственную политику DMARC для исходящей почты:

1. Откройте страницу Инструменты и настройки > Настройки DNS (в разделе «Общие настройки»).

2. Отредактируйте DNS-записи, относящиеся к политике DMARC. Эти записи DNS всегда присутствуют в серверном шаблоне DNS. В отличие от них, записи DNS, относящиеся к DKIM, добавляются в зоны DNS отдельных доменов, когда вы активируете DKIM на домене.

Например, политика DMARC, используемая в Plesk по умолчанию, определена в следующей записи:

    _dmarc.<domain>.    TXT    v=DMARC1; adkim=s; aspf=s; p=quarantine

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

Более подробную информацию по DMARC, в том числе условные обозначения для политик, можно найти на сайте.

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

Чтобы отключить проверку DMARC для входящей почты:

1. Перейдите на страницу Инструменты и настройки > Настройки почтового сервера (в разделе «Почта»).

2. В разделе DMARC снимите флажок «Включить проверку DMARC для входящей почты» и нажмите OK.

## (Plesk for Linux) ARC

ARC (Authenticated Received Chain) is a technology that enables intermediate mail servers to add an additional layer of authentication to emails that are forwarded or sent from a mailing list by adding extra headers to emails. This is so that the final receiving mail server may be able to (but does not have to) treat an email as legitimate even if it fails its SPF, DKIM, and/or DMARC checks.

Примечание

ARC is supported on all Plesk Obsidian 18.0.58 and later servers running the Postfix or qmail mail servers. At the moment, ARC is only supported in Plesk for Linux, because none of the mail servers supported in Plesk for Windows have ARC support.

Примечание

The ARC support implementation in Plesk satisfies the Google requirement to add ARC headers to forwarded mail for senders who send 5000 or more messages a day to Gmail accounts.

### Ограничения

- ARC headers are not added to mail sent to a mailing list.

- Plesk does not validate the ARC headers for incoming mail.

### Enabling ARC Support

(Plesk for Linux) To enable ARC support on your server:

1. Log in to Plesk.

2. Перейдите на страницу Инструменты и настройки > Настройки почтового сервера (в разделе «Почта»).

3. Under «DKIM spam protection», select the «Allow signing outgoing mail» checkbox.

4. (Recommended) Under «SPF spam protection», select the «Enable SPF spam protection to check incoming mail» checkbox.

5. (Recommended) Under «DMARC», select the «Enable DMARC to check incoming mail» checkbox.

6. Нажмите OK.

ARC headers can now be added to outgoing mail forwarded via the Plesk forwarding feature or sent by the autoresponder.

Once ARC support is enabled on your server, ARC can be enabled for individual mail domains.

Примечание

For the ARC signatures to be valid, the DNS records required for DKIM to work must be configured properly for the domain hosting the forwarding mail account.

(Plesk for Linux) To enable ARC for a domain:

1. Log in to Plesk.

2. Go to Websites & Domains, find the domain hosting the mail account, go to the «Mail» tab, and then click Mail Settings.

3. Выберите «Использовать систему защиты от спама DKIM для подписи исходящих сообщений» и нажмите ОК.

ARC headers will now be added to outgoing mail forwarded via the Plesk forwarding feature or sent by the autoresponder by any of the mail accounts hosted on the domain.