В дальнейшем используя интернет страницу cloudhosting.lv, вы соглашаетесь с правилами пользования Куки. Узнай больше. Согласен
Настройка записей SPF, DKIM и DMARC
Содержание
Записи SPF, DKIM и DMARC предназначены для борьбы со спамом и подделкой электронной почты. Эти механизмы не анализируют содержание сообщения в поисках вредоносного кода, содержания, похожего на спам, или содержания, которое могло бы быть использовано в попытке кибермошенничества. Для обнаружения вирусов и вредоносных скриптов или отметки сообщений как похожих на спам или мошеннические на основе содержания сообщения электронной почты следует использовать другие специализированные инструменты.
Обзор SPF
SPF (Sender Policy Framework) помогает бороться с подделкой электронной почты, когда злоумышленник подделывает поле MAIL FROM в сообщении. Для реализации этого решения владельцам домена следует создать специальную запись TXT в зоне DNS домена, сообщающую всем получателям о разрешенных отправителях для их домена.
Запись SPF состоит из следующих частей, разделенных пробелами, и каждая часть обрабатывается по порядку:
v=spf1 – версия протокола
mechanisms – способы интерпретации разрешенных отправителей. Обычно используются: a, mx, ip4, include, all. В записи должен присутствовать хотя бы один механизм:
- a: Проверяются все DNS-записи A для домена.
- mx: Проверяются все DNS-записи A для всех записей MX домена в порядке приоритета MX.
- ip4: CIDR-спецификация представляет собой диапазон IP-сети. Если длина префикса не указана, предполагается /32.
- include: Указанный домен для включения проверяется на соответствие. Если поиск не возвращает соответствия или ошибку, обработка переходит к следующему указанию. Предупреждение: Если у этого другого домена нет действительной записи SPF, результатом будет "Постоянная ошибка" (Permanent Error).
- all: Этот механизм всегда соответствует. all должен стоять в конце вашей записи SPF.
У каждого механизма есть квалификатор – он представляет собой действие, которое должно быть предпринято. Список квалификаторов:
- + для успешного результата. Он используется по умолчанию, если другой квалификатор не установлен, и часто опускается в записях SPF.
- ? для нейтрального результата. Никаких действий не должно быть предпринято (игнорировать этот механизм).
- ~ (тильда) для SOFTFAIL. В основном интерпретируется как "принять это сообщение, но пометить/отметить его".
- - (минус) для FAIL, почта должна быть отклонена.
Пример записи SPF для домена domain.com:
$ dig txt domain.com +short "v=spf1 a ip4:10.10.10.10 include:spf.example.com -all"
В нем 4 механизма: a, ip4, include и all. Первые 3 механизма имеют квалификатор + или PASS (если для механизма не установлен квалификатор, квалификатор по умолчанию - "PASS"). Последний механизм all имеет - (FAIL) квалификатор. Эта запись означает, что сообщение должно быть принято, если оно приходит с IP-адреса, к которому приводит запись A домена domain.com, или с примерного IP 10.10.10.10. Также сообщение принимается, если оно проходит политику другого домена – spf.example.com. Наконец, сообщение должно быть отклонено, если оно не проходит предыдущие механизмы.
Управление SPF в cPanel
Запись SPF для одной DNS-зоны можно установить или изменить в редакторе зоны DNS WHM (Домашняя страница »Функции DNS »Редактировать зону DNS). Нижеописанные параметры требуют root-доступа! Чтобы добавить SPF-записи для уже существующих доменов, перейдите на (Домашняя страница »Функции DNS »Глобально включить DKIM/SPF) и нажмите "Продолжить". Также, для этой же цели можно использовать скрипт /usr/local/cpanel/scripts/enable_spf_dkim_globally, см. документацию в cPanel.
Также существует скрипт /usr/local/cpanel/bin/spf_installer для управления записями SPF. Например, вы можете добавить пользовательский механизм include:spf.example.com для всех DNS-зон:
for acct in $(awk '{print $2}' /etc/trueuserdomains); do /usr/local/cpanel/bin/spf_installer $acct include:spf.example.com; done
Проверка записей SPF
Некоторые сервисы, где вы можете проверить запись SPF для домена:
- mxtoolbox.com/spf.aspx
- emailaudit.com/
- dmarcian.com/spf-survey/
Дополнительные ресурсы по SPF
Обзор DKIM
DomainKeys Identified Mail (DKIM) используется для проверки того, что сообщение было действительно отправлено с домена, указанного в поле FROM. Отправитель создает пару ключей для почтового домена: закрытый и открытый. Закрытый ключ хранится на почтовом сервере и подписывает каждое исходящее электронное сообщение. Закрытый ключ также может быть передан стороннему сервису, который отправляет сообщения от имени домена отправителя. Открытый ключ может быть доступен каждому в Интернете и используется для расшифровки подписанного сообщения. С другой стороны, получатель расшифровывает сообщение и может использовать результат проверки DKIM в дальнейшей обработке, например, отклонять сообщения, которые не проходят проверку DKIM, или отмечать эти сообщения как спам.
Таким образом, с помощью DKIM решаются две проблемы обмена электронной почтой:
- Проверка отправителя
- Уверенность в том, что содержание сообщения не было изменено во время передачи с почтового сервера отправителя на почтовый сервер получателя
Селектор DKIM используется для определения нескольких ключей в пределах одного почтового домена. Например, если несколько отделов используют один почтовый домен для отправки сообщений, администраторы почты могут настроить отдельные селекторы для каждого отдела для лучшего контроля исходящей почты. Однако, в целом, обычно достаточно иметь селектор по умолчанию, если нет конкретной необходимости в нескольких селекторах.
Использование DNS для публикации ключей DKIM
DNS используется для ознакомления всех почтовых серверов, которые могут требовать проверки DKIM от отправителя, с общедоступным ключом. Для этой цели используется запись TXT. Например, вот открытый ключ для селектора DKIM по умолчанию домена knownhost.com:
$ dig txt default._domainkey.knownhost.com +short "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxG+doMvKHVEE9r4YkdhEqBBHUYYZqs+g9L/9M30cSP/s0ZW6XMVHF3KwhJUcukq3kZNe3TMRFRiFxLb6ncLBnn7+491qS66yKMMStE6TdUFCFu5yq/bdpM/l04kPNcHutNkUJy1zLC6pGUuyxFIOIPlshry+oUkfhULw3E925kk1AOhn404702EBt1DObMXd+" "AQ+hWW/xworVfZwCTRVSQ4TvJ7YH3X+wG6HLRqoEkVsOx2rc4XqHy52FFuoSFDhtNq45jCcOOVK2AdONPq4I5VEbTPAqBzItK3shDOnzvUAzwBl74Zl4sJoA8gyi0XxcNlmrOE6fkjeQqcwPxAUZQIDAQAB;"
Вы можете заметить пробел между двумя секциями в кавычках. Это просто указывает на предел длины записи TXT, и открытый ключ
Запись DKIM также может быть CNAME вместо TXT и указывать на другую запись, содержащую открытый ключ для почтового домена.
Проверка DKIM на приемнике
Когда почтовый сервер, на котором настроена проверка DKIM, получает сообщение, он ищет в заголовке следующую строку (пример):
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=default; ...
Поле тега-значения s=default указывает на использование селектора по умолчанию. Затем почтовый сервер запрашивает TXT DNS-запись для default._domainkey.example.com, извлекает открытый ключ из нее и расшифровывает сообщение.
Управление DKIM в cPanel
Чтобы включить DKIM для вновь созданных доменов, перейдите на (Home »Server Configuration »Tweak Settings) и найдите опцию "Enable DKIM on domains for newly created accounts" на вкладке Domains. Чтобы добавить DKIM для уже существующих доменов, перейдите на (Home »DNS Functions »Enable DKIM/SPF Globally) и нажмите "Proceed". Вы можете разрешить/запретить проверку DKIM для входящих сообщений в конфигурации Exim (Home »Service Configuration »Exim Configuration Manager) на вкладке "ACL options". Ключи для каждого домена хранятся в следующих каталогах:
/var/cpanel/domain_keys/public/ /var/cpanel/domain_keys/private/
Проверка записей DKIM
Существует множество сервисов, где вы можете проверить запись DKIM для домена, например:
- mxtoolbox.com/dkim.aspx
- emailaudit.com/
- www.mail-tester.com/spf-dkim-check
- dkimcore.org/tools/dkimrecordcheck.html
Дополнительные ресурсы по DKIM
Обзор DMARC
В то время как техники SPF и DKIM позволяют почтовым серверам проверять отправителей входящих электронных сообщений, обе они не предоставляют механизмов для отправителей для публикации политик относительно действий, которые должны быть предприняты в случае сбоев аутентификации. DMARC (Domain-based Message Authentication, Reporting and Conformance) заполняет этот пробел. Он позволяет владельцам доменов указывать, какие правила должны применяться к сообщениям, которые не прошли аутентификацию SPF и/или DKIM. Кроме того, DMARC позволяет отправлять владельцам доменов отчеты о результатах проверки по адресу IP отправителя.
Использование DNS для публикации записей DMARC
Для публикации записи DMARC для домена используется специально форматированная запись TXT. Она состоит из поддомена _dmarc и полей в формате ключ-значение, разделенных точкой с запятой. Пример записи для домена domain.com:
_dmarc.domain.com
Ниже приведен пример значения, который указывает обрабатывать 100% сообщений, поступающих от домена domain.com, отклонять те, которые не соответствуют политикам DKIM/SPF, не выполнять никаких действий (продолжать обработку), если сообщение пришло от поддомена domain.com, и ежедневно отправлять агрегированную статистику на адрес info@domain.com:
"v=DMARC1; p=reject; sp=none; pct=100; ri=86400; rua=mailto:info@domain.com"
В этом примере:
- v – версия протокола
- p – политика, возможные значения: reject, quarantine или none
- sp – политика для поддоменов (такие же возможные значения)
- pct – процент сообщений, подвергаемых фильтрации
- ri – интервал агрегированной отчетности
- rua – URI(ы) отчетности для агрегированных данных
Не все параметры ключ-значение обязательны. Единственные обязательные параметры - это версия (v) и политика (p). Вы можете найти больше тегов по адресу tools.ietf.org/html/rfc7489#section-11.4
Вот еще один пример записи DMARC для gmail.com. Он гласит, что все сообщения от gmail.com должны быть переданы для дальнейшей обработки (ни отвергнуты, ни помещены в карантин), в то время как сообщения от поддомена gmail.com (например, subdomain.gmail.com) должны быть помещены в карантин.
$ dig txt _dmarc.gmail.com +short "v=DMARC1; p=none; sp=quarantine; rua=mailto:mailauth-reports@google.com"
Управление записями DMARC в cPanel
Записи DMARC можно настраивать или изменять в редакторе зон DNS WHM (Домашняя страница » Функции DNS » Редактировать зону DNS). Это также можно сделать после включения функции Редактора зон (AAAA, CAA, SRV, TXT) для пакета (эта функция заменяет Расширенный редактор зон в cPanel).
Проверка записей DMARC
Ресурсы для проверки записей DMARC для доменов:
- mxtoolbox.com/dmarc.aspx
- dmarcian.com/dmarc-inspector/
- emailaudit.com/
Анализ отчетов DMARC
Ресурсы для анализа отчетов DMARC для домена:
- mxtoolbox.com/DmarcReportAnalyzer.aspx
Дополнительная информация о DMARC
- tools.ietf.org/html/rfc7489
- en.wikipedia.org/wiki/DMARC
- dmarc.org/