DKIM для exim4 и Яндекс.Почты одновременно
Posted: Thu Dec 26, 2013 10:24 pm
Здравствуйте.
На сервере с панелью Vesta есть сайт с e-mail рассылкой, при этом корпоративная почта на pdd.yandex.ru. Нужно, чтобы DKIM-подпись была как на письмах, отправляемых сервером, так и на письмах из яндекс почты, но dkim_selector у vesta-exim и яндекса одинаковые, то есть, наколько я понимаю, единственный способ решить задачу - изменить селектор в vesta-exim, внести изменения в скрипты, связанные с DKIM, и пересоздать DNS для текущих пользователей. Несколько вопросов:
1) верно ли написанное выше?
2) как насчет изменения селектора по умолчанию на что-нибудь менее стандартное, например, vmail, для упрощения настройки сторонних почтовых сервисов?
3) верно ли я нашел в интеренете, что запись _domainkey TXT "t=y; o=~;" означает, что dkim в тестовом режиме (t=y) и письма с домена не обязательно имеют подпись (o=~)?
4) в mail._domainkey записи яндекса t=s - будет ли это конфликтовать с t=y?
Собственно, предлагаю решение для последней версии vesta на ubuntu 12.04:
- в /etc/exim4/exim4.conf.template
заменить на
и перезапустить exim
- в bin/v-add-mail-domain, bin/v-add-mail-domain-dkim, bin/v-list-mail-domain-dkim-dns и func/rebuild.sh
заменить на
- создать шаблон для яндекс почты /usr/local/vesta/data/templates/dns/yandex.tpl
- применить его для нужных почтовых доменов через веб-интерфейс
- для каждого домена пересоздать dkim (вдруг у какого-нибудь остался 512-битный)
- пересоздать mail-домены для всех пользователей через веб-интерфейс
- добавить доменам с yandex-шаблонам TXT запись вида:
(то есть без v=DKIM1 и t=s, которые предлагает яндекс; или они тоже нужны?)
Хотелось бы перед внедрением получить комментарий разработчиков. Спасибо!
PS: Попутно найденные баги:
1) в ubuntu в папке /usr/local/vesta половина файлов принадлежит пользователю с идентификатором 501, но admin в ubuntu имеет идентификатор 1000, а пользователя 501 нет.
2) в v-add-mail-domain-dkim
нужно заменить на
(взято из rebuid.sh)
3) в v-add-mail-domain
нужно заменить на
4) в func/rebuild.sh
на
На сервере с панелью Vesta есть сайт с e-mail рассылкой, при этом корпоративная почта на pdd.yandex.ru. Нужно, чтобы DKIM-подпись была как на письмах, отправляемых сервером, так и на письмах из яндекс почты, но dkim_selector у vesta-exim и яндекса одинаковые, то есть, наколько я понимаю, единственный способ решить задачу - изменить селектор в vesta-exim, внести изменения в скрипты, связанные с DKIM, и пересоздать DNS для текущих пользователей. Несколько вопросов:
1) верно ли написанное выше?
2) как насчет изменения селектора по умолчанию на что-нибудь менее стандартное, например, vmail, для упрощения настройки сторонних почтовых сервисов?
3) верно ли я нашел в интеренете, что запись _domainkey TXT "t=y; o=~;" означает, что dkim в тестовом режиме (t=y) и письма с домена не обязательно имеют подпись (o=~)?
4) в mail._domainkey записи яндекса t=s - будет ли это конфликтовать с t=y?
Собственно, предлагаю решение для последней версии vesta на ubuntu 12.04:
- в /etc/exim4/exim4.conf.template
Code: Select all
dkim_selector = mail
Code: Select all
dkim_selector = vmail
Code: Select all
service exim4 restart
Code: Select all
mail._domainkey
Code: Select all
vmail._domainkey
Code: Select all
ID='1' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns1%.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='2' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns2%.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='3' RECORD='@' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='4' RECORD='mail' TYPE='CNAME' PRIORITY='' VALUE='domain.mail.yandex.net.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='5' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='6' RECORD='pop' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='7' RECORD='ftp' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='8' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='mx.yandex.ru.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='9' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'
- для каждого домена пересоздать dkim (вдруг у какого-нибудь остался 512-битный)
Code: Select all
v-delete-mail-domain-dkim %user% %domain%
v-add-mail-domain-dkim %user% %domain%
- добавить доменам с yandex-шаблонам TXT запись вида:
Code: Select all
mail._domainkey TXT "k=rsa; p=[здесь открытый ключ яндекс-почты]"
Хотелось бы перед внедрением получить комментарий разработчиков. Спасибо!
PS: Попутно найденные баги:
1) в ubuntu в папке /usr/local/vesta половина файлов принадлежит пользователю с идентификатором 501, но admin в ubuntu имеет идентификатор 1000, а пользователя 501 нет.
2) в v-add-mail-domain-dkim
Code: Select all
chown exim:mail $HOMEDIR/$user/conf/mail/$domain/dkim.pem
Code: Select all
if [ "$MAIL_SYSTEM" = 'exim' ]; then
mail_user=exim
fi
if [ "$MAIL_SYSTEM" = 'exim4' ]; then
mail_user=Debian-exim
fi
chown -R $mail_user:mail $HOMEDIR/$user/conf/mail/$domain/dkim.pem
3) в v-add-mail-domain
Code: Select all
dkim_size=${6-512}
Code: Select all
dkim_size=${6-1024}
Code: Select all
openssl genrsa -out $pem 512 &>/dev/null
Code: Select all
openssl genrsa -out $pem 1024 &>/dev/null