DKIM: различия между версиями

Материал из Webko Wiki
Перейти к навигации Перейти к поиску
Строка 37: Строка 37:
  
 
=== 2. Генерация ключей ===
 
=== 2. Генерация ключей ===
openssl genrsa -out /etc/mail/domains/domain.pem $dkim_size &>/dev/null
 
openssl rsa -pubout -in $USER_DATA/mail/$domain.pem \
 
    -out $USER_DATA/mail/$domain.pub &>/dev/null
 
chmod 660 $USER_DATA/mail/$domain.*
 
  
# Adding dkim keys
+
openssl genrsa -out /etc/mail/domains/$domain$/dkim.pem 3-1024 &>/dev/null
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
+
openssl rsa -pubout -in /etc/mail/domains/$domain$/dkim.pem -out/etc/mail/domains/$domain$/dkim.pub &>/dev/null
    cp $USER_DATA/mail/$domain.pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem
+
chown exim:mail /etc/mail/domains/$domain$/dkim.*
    chown $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain/dkim.pem
+
 
    chmod 660 $HOMEDIR/$user/conf/mail/$domain/dkim.pem
+
=== 3. Занесение в DNS домена необходимых записей ===
fi
+
 
 +
Добавляем txt записи в домен
 +
 
 +
mail._domainkey IN TXT "k=rsa; p=MIGfMA0GCSqGS … wIDAQAB"
 +
_domainkey IN TXT "t=y; o=~;"
 +
 
 +
''p = cat /etc/mail/domains/$domain$/dkim.pub |grep -v ' KEY---' |tr -d '\n'''
  
 
[[Категория:Mail]]
 
[[Категория:Mail]]

Версия 01:45, 27 января 2016

Из описания DKIM в Wiki

DomainKeys Identified Mail метод E-mail аутентификации.

Технология DomainKeys Identified Mail (DKIM) объединяет несколько существующих методов антифишинга и антиспама с целью повышения качества классификации и идентификации легитимной электронной почты. Вместо традиционного IP-адреса, для определения отправителя сообщения DKIM добавляет в него цифровую подпись, связанную с именем домена организации. Подпись автоматически проверяется на стороне получателя, после чего, для определения репутации отправителя, применяются «белые списки» и «чёрные списки».

В технологии DomainKeys для аутентификации отправителей используются доменные имена. DomainKeys использует существующую систему доменных имен (DNS) для передачи открытых ключей шифрования.

Для работы с DKIM нам нужно

  1. Поддержка DKIM почтовым сервером для подписывания отправляемой почты;
  2. Получение пары приватного и публичного ключа;
  3. Занесение в DNS домена необходимых записей о наличии поддержки DKIM.

1. EXIM

Поддерживает DKIM, настроим его:

vim /etc/mail/exim.conf
Добавим следующие строчки ниже "begin transports":
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_FILE = /etc/mail/domains/${lc:${domain:$h_from:}}/dkim.pem #- важно!!!! Пишем путь к приватному ключу
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}

Также заменяем:

remote_smtp: 
driver = smtp 

На:

remote_smtp: 
driver = smtp 
dkim_domain = DKIM_DOMAIN 
dkim_selector = mail # - выбранный нами селектор.
dkim_private_key = DKIM_PRIVATE_KEY

2. Генерация ключей

openssl genrsa -out /etc/mail/domains/$domain$/dkim.pem 3-1024 &>/dev/null
openssl rsa -pubout -in /etc/mail/domains/$domain$/dkim.pem -out/etc/mail/domains/$domain$/dkim.pub &>/dev/null
chown exim:mail /etc/mail/domains/$domain$/dkim.*

3. Занесение в DNS домена необходимых записей

Добавляем txt записи в домен

mail._domainkey IN TXT "k=rsa; p=MIGfMA0GCSqGS … wIDAQAB"
_domainkey IN TXT "t=y; o=~;"

p = cat /etc/mail/domains/$domain$/dkim.pub |grep -v ' KEY---' |tr -d '\n'