Различия

Показаны различия между двумя версиями страницы.


Предыдущая версия
dkim [2024/11/18 15:55] (текущий) – [Что нужно знать о DKIM] darkfire
Строка 1: Строка 1:
 +====== DKIM: Как правильно настроить и проверить ======
 +~~Title: Настройка DKIM: Защита вашей электронной почты ~~
 +{{htmlmetatags>
 +metatag-description=(Как настроить DKIM. Откройте для себя важность DKIM в аутентификации электронной почты. Читайте наш обзор по настройке DKIM и узнайте, как предотвратить спуфинг.)
 +}}
 +
 +DomainKeys Identified Mail ([[http://www.opendkim.org|OpenDKIM]]) — метод E-mail аутентификации. DKIM использует внешние модули для поиска ключей и пересылки писем. Технология DKIM используется для предотвращения спуфинга, то есть подделки заголовка письма.
 +
 +**DKIM** (DomainKeys Identified Mail) - это цифровая подпись, которую почтовый сервер добавляет к письмам от отправителей из обслуживаемых им доменов. Для этого сервер использует секретную часть ключа, которая известна только ему. Получатель может проверить подпись письма при помощи публичной части ключа, доступной через DNS-запись домена отправителя.
 +
 +Нужно понимать, что DKIM не защищает от подделки отправителя и не может являться гарантией того, что письмо является полезным и безопасным, т.е. не содержит спама и вирусов. DKIM лишь удостоверяет, что почтовый сервер уполномочен владельцем домена на обслуживание почты, исходящей из этого домена. Спамеры вполне могут приобрести домен, настроить DNS и почтовый сервер для отправки писем с DKIM-подписью. Однако это требует финансовых затрат, а источник спама при этом легко идентифицировать и заблокировать. Спамеры же стараются зарабатывать деньги, оставаясь анонимными. Поэтому письмо, имеющее правильную DKIM-подпись, можно с высокой степенью достоверности считать полезным и безопасным.
 +
 +**DKIM- подпись — это цифровая подпись**, которая добавляется к заголовкам письма сервером отправителя, по которой сервер получателя может удостовериться, **что отправитель письма соответствует полю From в заголовках письма**. Если сервер получателя проверяет эту подпись, то по результатам проверки сервер может принять решение о том, как поступать с письмом: принять, отправлять в папку «Спам», отправить на дополнительную проверку или вовсе отказаться от приёма. Подписи DKIM проверяют и используют сами все ведущие почтовые службы, включая Яндекс и Mail.ru. 
 +
 +{{ ::how-dkim-works_01.png?nolink&600 |}}
 +**Postfix DKIM**:
 +  * [[https://www.alexeykopytko.com/2014/postfix-opendkim/|Быстро настроим Postfix и OpenDKIM]]
 +  * [[https://habr.com/ru/articles/151904/|Администрирование → OpenDKIM + Postfix = просто]]
 +
 +
 +===== Что нужно знать о DKIM =====
 +У почтового домена действительно может быть несколько DKIM-записей. Причины для нескольких DKIM-записей, например разные ключи для разных приложений: Организации могут использовать разные ключи для разных приложений или сервисов, чтобы повысить безопасность. Например, один ключ может использоваться для маркетинговых рассылок, а другой — для транзакционных писем.
 +
 +===== Принцип работы DKIM =====
 +{{ ::dkim_princip_raboty.png?nolink |}}
 +===== Настройка dkim (OpenDKIM) postfix Centos 7 =====
 +Для настройки dkim устанавливаем соответствующий пакет:
 +
 +<file bash>
 +yum install opendkim
 +</file>
 +Создаем директорию для хранения ключей:
 +<file>
 +mkdir -p /etc/postfix/dkim && cd /etc/postfix/dkim
 +</file>
 +Генерируем ключи для домена, где task41.topadm.in имя почтового домена mail непосредственно имя сервера:
 +<file>
 +opendkim-genkey -D /etc/postfix/dkim/ -d task41.topadm.in -s mail
 +</file>
 +На выходе получаете пару файлов - закрытый (приватный) и открытый ключ. Закрытый останется на сервере, открытый будет опубликован в dns. Переименуем их сразу, чтобы не путаться, если у вас будет несколько доменов. Ключи нужно будет делать для каждого домена.<file>
 +mv mail.private mail.task41.topadm.in.private
 +mv mail.txt mail.task41.topadm.in.txt
 +</file>
 +Создаем файл с таблицей ключей, в которой будут описаны все домены. В данном случае только один.
 +<file>
 +nano keytable
 +</file>
 +<file>
 +mail._domainkey.task41.topadm.in task41.topadm.in:mail:/etc/postfix/dkim/mail.task41.topadm.in.private
 +</file>
 +Тут же создаем еще один файл, в котором будет описано, каким ключом подписывать письма каждого домена. У нас один домен, поэтому только одна запись.
 +<file>
 +nano signingtable
 +</file>
 +<file>
 +*@task41.topadm.in mail._domainkey.task41.topadm.in
 +</file>
 +Выставляем права доступа на все файлы:
 +<file>
 +chown root:opendkim *
 +chmod u=rw,g=r,o= *
 +</file>
 +
 +Создаем конфигурационный файл службы opendkim.
 +<file>
 +mv /etc/opendkim.conf /etc/opendkim.conf.bak
 +nano /etc/opendkim.conf
 +</file>
 +<file bash opendkim.conf>
 +AutoRestart Yes
 +AutoRestartRate 10/1h
 +PidFile /var/run/opendkim/opendkim.pid
 +Mode sv
 +Syslog yes
 +SyslogSuccess yes
 +LogWhy yes
 +UserID opendkim:opendkim
 +Socket inet:8891@localhost
 +Umask 022
 +Canonicalization relaxed/relaxed
 +Selector default
 +MinimumKeyBits 1024
 +KeyFile /etc/postfix/dkim/mail.zeroxzed.ru.private
 +KeyTable /etc/postfix/dkim/keytable
 +SigningTable refile:/etc/postfix/dkim/signingtable
 +</file>
 +Добавляем в конфигурационный файл postfix в самый конец следующие параметры:
 +<file>
 +nano /etc/postfix/main.cf
 +</file>
 +<file>
 +smtpd_milters = inet:127.0.0.1:8891
 +non_smtpd_milters = $smtpd_milters
 +milter_default_action = accept
 +milter_protocol = 2
 +</file>
 +
 +Перезапускаем postfix и dkim. Dkim добавляем в автозагрузку.
 +<file>
 +systemctl restart postfix
 +systemctl restart opendkim.service
 +systemctl enable opendkim.service
 +</file>
 +Теперь нам надо добавить открытый ключ в dns. Идем в консоль управления dns и добавляем новую txt запись. Ее содержание берем из файла /etc/postfix/dkim/mail.task41.topadm.in.txt
 +<file>
 +cat /etc/postfix/dkim/mail.task41.topadm.in.txt
 +</file>
 +<file>
 +mail._domainkey IN      TXT     ( "v=DKIM1; k=rsa; "
 +          "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjlluUlx5E2SuShzxfpmIi4qOwY9uamLYx3M22yUFxcZH9CGiVzAuwDRP3yWUePHoPz9mQBtSnl1RRfm5u1+VGnQL6vFa4d6yqNnTiBK9kmel+pqle3Os9rSaD9Kiu1vevA8B3RZZ79Oiu/KxPQG3LTUlFzKekVPgg5znozk7uAwIDAQAB" )  ; ----- DKIM key mail for task41.topadm.in
 +</file>Убираем кавычки, лишние проблемы и создаем txt запись в dns.
 +
 +Читайте также: [[DMARC]]
 +
 +===== Как создать DKIM запись для доменов не на Ваших NS =====
 +Порядок действий такой:
 +  - Установить для домена наши NS.
 +  - Включить DKIM в разделе «Почтовые ящики» в нашей панели.
 +  - Скопировать сформированную TXT-запись для поддомена hosting._domainkey любым способом, например: Выполнить команду dig hosting._domainkey.ваш_домен.com txt. Воспользоваться онлайн-сервисом вроде dmarcian.com/dkim-inspector/ и указать там ваш домен и селектор hosting
 +  - Полученную запись добавить в настройки домена в панели Cloudflare: <file bash>
 +Тип записи — TXT
 +Имя — hosting._domainkey
 +Содержимое — данные полученной записи
 +</file>
 +  - Вернуть для домена NS Cloudflare.
 +
 +<panel type="success" title="Расширьте свои знания">
 +  * [[dmarc]]
 +  * [[postfix]]
 +</panel>
  

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!