DKIM+Sendmail

From wiki.habital.lv
Jump to: navigation, search

В основе DKIM лежат две технологии - технология DomainKey от Yahoo и система Internet Identified Mail от Cisco. Эта технология (DKIM) предназначена для идентификации отправителя почтового сообщения с помощью цифровой подписи, связанной с именем соответствующего домена. DKIM была создана для более качественной классификации и идентификации легитимной электронной почты и широко используется крупнейшими компаниями, такими как, например, AOL, Cisco, EarthLink, Google, IBM, VeriSign, Yahoo.

Создание ключей

Для работы DKIM требуется пара ключей - публичный и приватный. Генерация приватного ключа:

openssl genrsa -out rsa.private 1024

Генерация публичного ключа:

openssl rsa -in rsa.private -out rsa.public -pubout -outform PEM

Переместить приватный ключ в директорию "/var/db/dkim/":

mv rsa.private /var/db/dkim/mail.private.pem

где mail - это имя селектора и назначить права на файл 0600 root:root.

Добавление опции в sendmail.mc

В файл "sendmail.mc" необходимо добавить:

INPUT_MAIL_FILTER(`dkim-filter', `S=inet:8891@localhost')

где 8891 - порт.

Модификация DNS

Создать TXT-запись для домена. Например:

mail._domainkey.example.com. IN TXT
"k=rsa;t=y;p=MEwwPQRJKoZIhvcNADAQCQADOwAwOAIxANPpYHdE2
tevfEpvL1Tk2dDYv0pF28/f5MxU83x/0bsn4R4p7waPaz1IbOGs/6bm5QIDAQAB"

Строка после p= - base64-кодировка публичного ключа, взятая между строчек "----- BEGIN PUBLIC KEY----- и -----END PUBLIC KEY-----", mail - вышеупомянутое селекторное имя, t=y - указывает на то, что ключ используется в тестовом режиме.

Кроме того, можно у домена прописать ADSP запись (RFC5617), что позволит принимающему серверу понять, должно ли ваше письмо быть подписано или нет. Запись выгладит так:

_adsp._domainkey.example.com. TXT "dkim=all"

Значений dkim= может быть три:

all — Все письма должны быть подписаны
discardable — Не подписанные письма не должны приниматься
unknown — Аналогично отсутствию записи


Проверка

mailto: autorespond+dkim@dk.elandsys.com

Более подробно о настройке dkim можно найти на сайте www.sendmail.org.