В этом руководстве мы рассмотрим процесс настройки SPF, DKIM и DMARC - трех важнейших компонентов для повышения эффективности отправки электронной почты.
Грамотная настройка SPF, DKIM и DMARC позволит повысить доверие почтовых серверов и минимизировать вероятность попадания ваших рассылок в спам.
- SPF (Sender Policy Framework) мера безопасности, разработанная для того, чтобы не дать другим отправлять письма от Вашего имени. Она определяет, каким IP-адресам разрешена отправка, а каким нет.
- DKIM (DomainKeys Identified Mail) метод проверки подлинности сообщений. Когда каждое письмо отправляется, оно подписывается с помощью закрытого ключа, а затем проверяется на принимающем почтовом сервере (или у провайдера) с помощью открытого ключа в DNS.
- DMARC (Domain-based Message Authentication, Reporting & Conformance) использует SPF и DKIM для проверки подлинности почты, снижая вероятность спама и фишинговых атак.
Настройка SPF (Sender Policy Framework)
1.1. Чтобы настроить SPF, необходимо добавить запись TXT в настройки DNS домена.
1.2. Синтаксис записи SPF следующий:
- v=spf1: Определяет версию SPF, которую вы используете. В настоящее время используется только SPF1.
- ip4:[Your_Mail_Server_IP]: Указывает, что IP-адрес Вашего почтового сервера разрешен для отправки электронной почты от имени домена.
- a: Указывает, что если домен имеет запись A (адрес IPv4) в DNS, сервер, указанный в этой записи, может отправлять электронную почту от имени домена.
- mx: Показывает, что если домен имеет запись MX (почтовый обмен) в DNS, сервер, указанный в этой записи, может отправлять электронную почту от имени домена.
- ~all: Это указывает, что только серверы в записи SPF, могут отправлять электронную почту от имени домена. Если почта приходит с другого сервера, она будет помечена как "мягкое совпадение" (~), что означает, что она может быть принята, но помечена как возможный спам.
Вместе эти элементы формируют SPF, которая выглядит следующим образом:
Имя: [Your_Domain]
v=spf1 ip4:[Your_Mail_Server_IP] a mx ~all
Замените [Your_Mail_Server_IP] на IP-адрес вашего почтового сервера.
Настройка DKIM (DomainKeys Identified Mail)
2.1. Сначала устанавливаем opendkim и opendkim-tools. Процесс установки зависит от операционной системы:
Для CentOS:
yum install opendkim -y
Для Debian/Ubuntu:
apt install opendkim opendkim-tools -y
2.2. Далее запустите службу opendkim и включите ее запуск при загрузке:
systemctl start opendkim
systemctl enable opendkim
2.3. Создайте каталог для хранения ключей:
mkdir -p /etc/opendkim/keys/yourdomain.com
2.4. Сгенерируйте ключи с помощью инструмента opendkim-genkey:
opendkim-genkey --directory /etc/opendkim/keys/yourdomain.com/ --domain yourdomain.com --selector dkim
Не забудьте заменить "yourdomain.com" на реальное доменное имя.
2.5. Установите соответствующие разрешения для ключей:
chown -R opendkim:opendkim /etc/opendkim/keys/yourdomain.com
2.6. Теперь необходимо настроить opendkim. Откройте файл /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:8891@localhost
2.7. Добавьте свой домен в файл /etc/opendkim/TrustedHosts:
127.0.0.1
localhost
*.yourdomain.com
2.8. Измените файл /etc/opendkim/KeyTable, чтобы он выглядел следующим образом:
dkim._domainkey.yourdomain.com yourdomain.com:dkim:/etc/opendkim/keys/yourdomain.com/dkim.private
2.9. Измените файл /etc/opendkim/SigningTable так, чтобы он выглядел следующим образом:
*@yourdomain.com dkim._domainkey.yourdomain.com
2.10. Если используете Debian/Ubuntu, укажите порт для opendkim:
echo 'SOCKET="inet:8891@localhost"' >> /etc/default/opendkim
2.11. Перезапустите службу opendkim, чтобы применить изменения:
systemctl restart opendkim
2.12. Наконец, добавьте открытый ключ в настройки DNS домена. Ключи находятся в файле /etc/opendkim/keys/yourdomain.com/dkim.txt.
Настройка DMARC (Domain-based Message Authentication, Reporting & Conformance)
3.1. Чтобы настроить DMARC, добавьте запись TXT в настройки домена:
Name: _dmarc.[Your_Domain].
Значение: v=DMARC1; p=none; aspf=r; sp=none
Настройка PTR (Pointer Record)
4.1. PTR запись, также известная как обратная DNS запись, используется для преобразования IP-адреса в имя домена. Это важно для почтовых серверов, поскольку некоторые серверы могут отклонить сообщения, которые не имеют PTR записи.
4.2. PTR запись обычно устанавливается в настройках интернет-провайдера или хостинг-провайдера. Если у вас есть доступ к этим настройкам, Вы можете установить PTR запись, указав IP-адрес вашего сервера и соответствующее ему доменное имя.
4.3. Если у Вас нет доступа к настройкам PTR записи, обратитесь к своему интернет-провайдеру или хостинг-провайдеру с запросом на установку PTR записи.
4.4. После установки PTR, Вы можете проверить ее, используя команду dig в Linux:
dig -x your_server_IP
Замените "your_server_IP" на IP-адрес сервера. В ответе должно быть указано Ваше доменное имя.
После выполнения всех шагов по настройке SPF, DKIM и DMARC, у почтового сервера будет гораздо меньше шансов пометить вашу рассылку как спам, что обеспечивает более высокий процент доставки писем.