Меню Закрыть

DKIM+SPF Zimbra

DomainKeys Identified Mail, DKIM — метод E-mail аутентификации, разработанный для обнаружения подделывания сообщений, пересылаемых по email. Метод дает возможность получателю проверить, что письмо действительно было отправлено с заявленного домена[1]. DKIM упрощает борьбу с поддельными адресами отправителей, которые часто используются в фишинговых письмах и в почтовом спаме.

Структура работы DKIM

Второй метод

Sender Policy Framework, SPF (инфраструктура политики отправителя[1]) — расширение для протокола отправки электронной почты через SMTP. SPF определен в RFC 7208.

Благодаря SPF можно проверить, не подделан ли домен отправителя.

SPF позволяет владельцу домена указать в TXT-записи[2], соответствующей имени домена, список серверов, имеющих право отправлять email-сообщения с обратными адресами в этом домене.

Агенты передачи почты, получающие почтовые сообщения, могут запрашивать SPF-информацию с помощью простого DNS-запроса, верифицируя таким образом сервер отправителя.

Пример SPF-данных в TXT-записи DNS:
example.org. IN TXT "v=spf1 +a +mx -all"
Символ "+" является квалификатором по умолчанию и может быть опущен. Следующий пример аналогичен предыдущему:
example.org. IN TXT "v=spf1 a mx -all"

v= определяет используемую версию SPF. Далее следует перечисление механизмов верификации: в данном случае «a» разрешает прием писем от узла, IP-адрес которого совпадает с IP-адресом в A-записи для example.org; «mx» разрешает приём писем, если отправляющий узел указан в одной из MX-записей для example.org. Строка завершается «-all» — указанием того, что сообщения, не прошедшие верификацию с использованием перечисленных механизмов, следует отвергать. Также может использоваться «~all» — в этом случае письмо, не прошедшее верификацию, не должно быть отклонено, но может быть изучено более тщательно (SoftFail).

Следует заметить, что RFC 7208 определяет различные результаты проверки, в том числе «Permerror» в случае некорректной SPF-записи. Одним из случаев некорректной записи является наличие более чем одной записи «v=spf1» (3.2. Multiple DNS Records). Следует быть внимательным при формировании записи и сверяться с документом RFC 7208. В Сети можно найти онлайн-сервисы для проверки SPF-записи.

Как итог:
Мы можем использовать эти две технологии для улучшения «авторитетности, подлинности» нашего почтового сервера

  1. Настроим SPF в DNS
  2. Настроим DKIM в почтовом сервере + DKIM пропишем в DNS

Добавляем TXT запись, указываем что можно доверять нашему почтовому серверу, расположенному по адресу
200.100.10.1, он может отправлять почту и он ответственный за отправку для данного домена.

example.org. IN TXT "v=spf1 a mx ip4:200.100.10.1 -all"

Теперь с помощью ключей защитим почтовый сервер, он будет подписывать заголовки при отправки сообщений.
И в дальнейшем, возможно применять политики DMARC для борьбы с фишингом.

Добавляем DKIM к домену

# su zimbra
$ /opt/zimbra/libexec/zmdkimkeyutil -a -d example.com

Вы увидите что-то похожее:

DKIM Data added to LDAP for domain example.com with selector ECAC22D2-DCA2-11E6-BA30-B554729FE32A
Public signature to enter into DNS:
ECAC22D2-DCA2-11E6-BA30-B554729FE32B._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs5OCY0sX04ziF+sOHt/1kq3A7iAzAjBjb4JteaoFzu1q2uBOiQS0uyaFeY6CgSgRRbvPnq8cWLG/XMU0tM9gSGtgtWDmHOs6/+QgKp6zRmetfsyABA2Y2U+XJlVURUE5ai3KIA/njt7IGZ5yeFsdZIKmhOCAOPGCovq10xkZXHdjRwiqxbCYGXv2m3o74BcWtOLPfEvexD5PYx"
"aTWFbelJpGlDN7WdBCE+ObpLGkJ9co/1sVOcd3c9SHfPq3jcBAFm7oPX2ak7Fb7cslVK77lA2hBgMYqI2Sh+T64o6R33dU++Ej7CuImmv7PAqVUn5MjYr05t3LK9dwWM8Cm6aJ/QIDAQAA" ) ; ----- DKIM key ECAC22D2-DCA2-11E6-BA30-B554729FE32A for example.com

Кроме это вы можете выполнить обновление или удаление данных DKIM

Также можно обновить DKIM данные для домена:
$ /opt/zimbra/libexec/zmdkimkeyutil -u -d example.com
Удалить DKIM данных для домена:
$ /opt/zimbra/libexec/zmdkimkeyutil -r -d example.com

Второй этап: обновление DNS-записей
Публичный ключ нужно добавить как TXT-запись в домен:

$ORIGIN example.com.
ECAC22D2-DCA2-11E6-BA30-B554729FE32B._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs5OCY0sX04ziF+sOHt/1kq3A7iAzAjBjb4JteaoFzu1q2uBOiQS0uyaFeY6CgSgRRbvPnq8cWLG/XMU0tM9gSGtgtWDmHOs6/+QgKp6zRmetfsyABA2Y2U+XJlVURUE5ai3KIA/njt7IGZ5yeFsdZIKmhOCAOPGCovq10xkZXHdjRwiqxbCYGXv2m3o74BcWtOLPfEvexD5PYx"
"aTWFbelJpGlDN7WdBCE+ObpLGkJ9co/1sVOcd3c9SHfPq3jcBAFm7oPX2ak7Fb7cslVK77lA2hBgMYqI2Sh+T64o6R33dU++Ej7CuImmv7PAqVUn5MjYr05t3LK9dwWM8Cm6aJ/QIDAQAA" ) ; ----- DKIM key ECAC22D2-DCA2-11E6-BA30-B554729FE32A for example.com

На этом все, мы сгенерировали DKIM, добавили в DNS!

Для проверки DKIM можно использовать Online сервисы, но Вам необходимо использовать «селектор»
в нашем случае это ECAC22D2-DCA2-11E6-BA30-B554729FE32B, то есть часть до ._domainkey.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *