Приложение 5. Пример настройки DKIM, SPF, DMARC технологий¶
- Содержание
- Приложение 5. Пример настройки DKIM, SPF, DMARC технологий
- Преамбула
- DKIM (DomainKeys Identified Mail)
- SPF (Sender Policy Framework)
- DMARC (Domain-based Message Authentication, Reporting and Conformance)
- Вывод
Преамбула¶
Протокол SMTP - один из самых старых протоколов, используемых в интернете - был разработан более 50-ти лет назад. В название протокола входит слово "простейший" (Simple). И таковым он живет до сих пор, хотя и оброс большим количеством расширений. Мы настоятельно рекомендуем использовать расширения, которые относятся к механизмам безопасности. Рассмотрим их в этой статье.
DKIM (DomainKeys Identified Mail)¶
DKIM RFC6376 - механизм, позволяющий проверить является ли отправитель достоверным или нет. Проверка осуществляется с помощью цифровой подписи, публичная часть которой находится в DNS соответствующей зоны. DKIM защищает от отправки сообщения с подменой адреса отправителя.
Чтобы настроить DKIM необходимо:
- Создать пару (публичный/приватный) RSA-ключей;
- Публичный ключ опубликовать в DNS-зоне;
- Приватный ключ отдать своему серверу (он знает как с ним поступить);
Генерация приватного ключа¶
openssl genrsa -out private.pem 1024
Генерация публичного ключа¶
rsa -pubout -in private.pem -out public.pem
Пример записи в зоне DNS¶
mail._domainkey.mbk-lab.ru. IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIDhhzLlxzUP+49LDgA3xq9Xtre6yYCXoBFxk+vAPi MkvWvZ4MAToJqWlJkYedMKWmyuelDX7KWHi1IVThxB1oNelG1q4H1dVg2BzpFSWx9+G1h/AOm08LxZxPb1 K57O2d44q6lrfNYijSA/99X+Jo0NDv2bO+MbdEg8Drp/w2bQIDAQAB"где:
- mail — селектор;
- v — версия DKIM, всегда принимает значение v=DKIM1. (обязательный аргумент);
- k — тип ключа, всегда k=rsa. (по крайней мере, на текущий момент);
- p — публичный ключ, кодированный в base64. (обязательный аргумент).
- ; — разделитель.
Но в случае с почтовым сервером Tegu все обстоит намного проще.
Генерировать вручную RSA-ключ нет необходимости. Достаточно зайти в опцию меню DKIM, выбрать один из обслуживаемых сервером интернет-доменов и кнопкой Создать сгенерировать PSA-ключ. Приватную часть ключа сервер оставит себе, а публичную вернет вам для использования в описании DNS-зоны.
В дальнейшем, ключ можно пересоздать или удалить.
SPF (Sender Policy Framework)¶
SPF RFC7208 - механизм для проверки подлинности сообщения, путем проверки фактического адреса сервера отправителя со списком разрешенных адресов серверов, указанных в соответствующей зоне DNS. SPF не позволяет случиться ситуации, когда от имени вашего домена будут рассылаться мошеннические письма.
Пример записи в зоне DNS¶
mbk-lab.ru. IN TXT "v=spf1 a mx -all"где:
- v=spf1 - является версией, всегда spf1;
- a - разрешает отправляет письма с адреса, который указан в A и\или AAAA записи домена отправителя;
- mx - разрешает отправлять письма c адреса, который указан в mx записи домена;
- all - означает то, что будет происходить с письмами, которые не соответствуют политике:
- "-" — отклонять;
- "+" — пропускать;
- "~" — дополнительные проверки;
- "?" — нейтрально.
DMARC (Domain-based Message Authentication, Reporting and Conformance)¶
DMARC RFC7489 — механизм снижения количества спамовых и фишинговых писем. DMARC описывает действие, которое должен совершить сервер для писем, которые не прошли проверку DKIM и SPF. А также описывает адрес, на который раз в сутки будет отправляться отчет об этих действиях.
Пример записи в зоне DNS¶
_dmarc.mbk-lab.ru. IN TXT "v=DMARC1; p=quarantine; rua=mailto:abuse@mbk-lab.ru"где:
- v - версия, принимает значение v=DMARC1 (обязательный параметр);
- p - правило для домена. Может принимать значения none, quarantine и reject, где:
- p=none не делает ничего, кроме подготовки отчетов;
- p=quarantine добавляет письмо в СПАМ;
- p=reject отклоняет письмо;
- rua - позволяет отправлять ежедневные отчеты на email.
Вывод¶
Если ваш сервер не удовлетворяет политикам безопасности, то как минимум ваше сообщение будет отвергнуто, как максимум - на ваш сервер в автоматическом режиме будет отправлена "жалоба". Достать домен из списков неблагожелательных бывает долго и трудно.