Настройка PTR, SPF, DKIM, DMARC
Задачи:
- Настроить обратную DNS-зону.
- Настроить политику SPF.
- Настроить подпись DKIM.
- Настроить политику DMARC.
- Вывод домена из спам-листов.
- Проверить с помощью mail-tester.
PTR запись необходима для правильной работы почтового сервера. Должны быть правильно настроено имя сервера (А-запись) и обратная запись (PTR) для IP сервера. Записи типа PTR устанавливают соответствие IP- адресов именам. Её можно настроить в личном кабинете интернет-провайдера или на своем сервере, если он есть и настроен. Нужно указать имя, которое указывали при настройке параметра myhostname, если это postfix
Записи SPF (Sender Policy Framework) позволяют владельцам доменов указывать, каким хостам разрешается отправлять электронную почту от имени их доменов. Обычно протокол SMTP позволяет любому компьютеру отправлять сообщения электронной почты от имени какого угодно отправителя. Таким образом спамеры могут легко отправлять сообщения электронной почты с поддельным адресом отправителя. SPF позволяет владельцам домена с помощью текстовых записей DNS специального формата указывать, какие компьютеры или хосты имеют право передавать электронную почту в этом домене, затрудняя таким образом подделку адреса отправителя. Для настройки нужно добавить TXT запись
@ IN TXT v=spf1 a mx ip4:1.1.1.1 ~all
где 1.1.1.1 IP почтового сервера
DomainKeys Identified Mail — метод E-mail аутентификации. DKIM использует внешние модули для поиска ключей и пересылки писем. Технология DKIM используется для предотвращения спуфинга, то есть подделки заголовка письма. DKIM (DomainKeys Identified Mail) — это цифровая подпись, которую почтовый сервер добавляет к письмам от отправителей из обслуживаемых им доменов. Для этого сервер использует секретную часть ключа, которая известна только ему. Получатель может проверить подпись письма при помощи публичной части ключа, доступной через DNS-запись домена отправителя. Нужно понимать, что DKIM не защищает от подделки отправителя и не может являться гарантией того, что письмо является полезным и безопасным, т.е. не содержит спама и вирусов. DKIM лишь удостоверяет, что почтовый сервер уполномочен владельцем домена на обслуживание почты, исходящей из этого домена. Спамеры вполне могут приобрести домен, настроить DNS и почтовый сервер для отправки писем с DKIM-подписью. Однако это требует финансовых затрат, а источник спама при этом легко идентифицировать и заблокировать. Спамеры же стараются зарабатывать деньги, оставаясь анонимными. Поэтому письмо, имеющее правильную DKIM-подпись, можно с высокой степенью достоверности считать полезным и безопасным.
Потребуется скачать и установить два пакета.
apt-get install opendkim opendkim-tools
Создаем катало для ключей.
mkdir /etc/opendkim
chown opendkim:opendkim /etc/opendkim
chmod 750 /etc/opendkim
Переименовываем исходный файл настроек и создаем новый занося строки ниже.
mv /etc/opendkim.conf /etc/backup.opendkim.conf
nano /etc/opendkim.conf
AutoRestart Yes
AutoRestartRate 10/1h
Umask 002
Syslog yes
SyslogSuccess Yes
LogWhy Yes
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256
UserID opendkim:opendkim
Socket inet:12301@localhost
Создаем файл доверенных узлов и вносим следующие строки. В данный файл мы заносим все IP-адреса и сети почтовых серверов, которые могут использовать наш сервер как почтовый релей. Таким образом, если в вашей системе используется подобная конфигурация, в файл TrustedHosts мы должны добавить адреса данных почтовых серверов.
nano /etc/opendkim/TrustedHosts
127.0.0.1
localhost
Создаем конфигурационные файлы:
touch /etc/opendkim/SigningTable
touch /etc/opendkim/KeyTable
Комментируем строку SOCKET=inet:12301@localhost
в файле /etc/default/opendkim
Запускаем opendkim
systemctl enable opendkim
systemctl start opendkim
ВАЖНО: в некоторых случаях после запуска службы в логах почты будет писать «connection refuse» и подписывать письма не будет в таком случае проблему может решить перезагрузка сервера целиком.
Добавляем строки в файл nano /etc/postfix/main.cf
milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301
Перезагружаем почту
systemctl restart postfix
Далее будут создаваться ключи, рекомендую для каждого домена создать отдельную папку с ключами чтобы не путаться если доменов на облуживании будет много.
mkdir /etc/opendkim/example.com
Генерируем ключ
opendkim-genkey -D /etc/opendkim/example.com/ --domain example.com --selector mail
В папке появится два файла, тот что с расширением TXT – готовая DNS запись которую нужно внести. ВАЖНО: если используются DNS сервера регистратора тогда нужно вносить текс ключа БЕЗ ковычек
На файл mail.private
выставляем права
chmod 600 /etc/opendkim/example.com/mail.private
Добавляем домен в файле TrustedHosts строку
nano /etc/opendkim/TrustedHosts
*.examble.com
Добавляем в файл KeyTable строку
nano /etc/opendkim/KeyTable
mail._domainkey.example.com example.com:mail:/etc/opendkim/example.com/mail.private
Добавляем в файл SigningTable строку
nano /etc/opendkim/ SigningTable
*@example.com mail._domainkey.example.com
После настройки DKIM нужно настроить политику DMARC которая определяет, что делать с письмами, не прошедшими проверку. Для этого создается запись TXT
_dmarc IN TXT "v=DMARC1; p=reject; rua=mailto:[email protected]"
Письма, не прошедшие проверку, будут отклоняться и соответствующее уведомление придет на почту. Для начала можно настроить p=none
чтобы все письма проходили, но уведомления о непрошедших приходили на почту.
После того когда всё готово остаеться проверить наличие адреса в спам фильтрах, для этого есть ресурс , чтобы вывести домен из черного списка нужно написать на сайт «фильтра» в соответствующую форму. Через некоторое время доме будет удален из спам листа.
Когда всё настроено и прошло некоторое время, чтобы DNS записи вступили в силу. Нужно проверить сервер на наличие недочетов, для этого подходят сервисы:
ВАЖНО: бесплатно можно проверяться только 3 раза в сутки, смена IP позволяет добавить еще 3 попытки.
Если какой-то из этапов настройки выше сделан не верно данные сервисы об этом скажут. Не забывайте о лог файле почты, он тоже скажет куда нужно посмотреть, чтобы решить ту или иную проблему.