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

Материал из Webko Wiki
Перейти к навигации Перейти к поиску
 
(не показана 1 промежуточная версия этого же участника)
Строка 13: Строка 13:
 
#Занесение в DNS домена необходимых записей о наличии поддержки DKIM.
 
#Занесение в DNS домена необходимых записей о наличии поддержки DKIM.
  
=== 1. EXIM ===
+
=== EXIM ===
  
 
Поддерживает DKIM, настроим его:
 
Поддерживает DKIM, настроим его:
Строка 36: Строка 36:
 
  dkim_private_key = DKIM_PRIVATE_KEY
 
  dkim_private_key = DKIM_PRIVATE_KEY
  
=== 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
+
=== Занесение в 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.

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

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

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.*

Занесение в 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'