Поддержка DKIM в cPanel

С недавнего Времени увеличилось количество запросов типа:
- поддерживает ли cPanel DKIM?
- заинстальте DKIM для моего домена.
Самое важное — DKIM это не то же самое что Domainkeys,
Стандарт Domainkeys был разработан компанией Yahoo, для борьбы со спамом, потому если возникают проблемы с попаданием почты в Junk (SPAM) на Yahoo, то установка DomainKeys обязательна. Yahoo не поддерживает DKIM
DKIM – DomainKeys Identified Mail — это новый стандарт который существует параллельно c DomainKeys, к примеру GMAIL поддерживает проверку DKIM
Если упустить нюансы, то можно считать что DKIM это новое поколение DomainKeys
Дефолтовая сборка Exim ‘a проводится cPanel ‘ом с поддержкой DMIK
это можно легко проверить:
/usr/sbin/exim -dd 2>&1 | grep DKIM Support for: crypteq iconv() IPv6 PAM Perl OpenSSL Content_Scanning Old_Demime Experimental_SPF Experimental_SRS Experimental_DomainKeys Experimental_DKIM
Как видим поддержка DKIM и DomainKeys осуществляется отдельно
Experimental_DomainKeys Experimental_DKIM
К сожаления стандартной утилиты или скрипта для сетапа DKIM текущая версия cPanel не имеет.
Включаем работу с DKIM для EXIM ‘a
переходим в папку EMIM ‘a
cd /usr/local/cpanel/etc/exim
Генерируем SSL keys
openssl genrsa -out dkim.key 1024 openssl rsa -in dkim.key \ -out dkim.public -pubout -outform PEM
Получится два Ключа
ls -la | grep dkim -rw-r--r-- 1 root root 891 Sep 6 23:23 dkim.key -rw-r--r-- 1 root root 272 Sep 6 23:23 dkim.public
Дальше открываем конфиг EXIM ‘a и ищем » remote_smtp: »
vim /etc/exim.conf
Там должно быть что-то вроде:
remote_smtp:
driver = smtp interface = ${if exists {/etc/mailips}
{${lookup{$sender_address_domain}lsearch*{/etc/mailips}{$value}{}}}{}}
helo_data = ${if exists {/etc/mailhelo}{${lookup{$sender_address_domain}lsearch*
{/etc/mailhelo}{$value}{$primary_hostname}}}{$primary_hostname}}
Добавляем следующие строки (не забываем заменить host.hostname.com на соответствующий хостнайм)
dkim_domain=host.hostname.com dkim_selector=mail dkim_private_key=/usr/local/cpanel/etc/exim/dkim.key
Где "/usr/local/cpanel/etc/exim/dkim.key" путь к dkim.key, если он лежит в другом месте то ставим соответствующий путь
В итоге получится что-то вроде
remote_smtp:
driver = smtp
dkim_domain=host.hostname.com
dkim_selector=mail
dkim_private_key=/usr/local/cpanel/etc/exim/dkim.key
interface = ${if exists {/etc/mailips}{${lookup{$sender_address_domain}lsearch*{/etc/mailips}
{$value}{}}}{}} helo_data = ${if exists {/etc/mailhelo}{${lookup{$sender_address_domain}lsearch*
{/etc/mailhelo}{$value}{$primary_hostname}}}{$primary_hostname}}
Рестартуем EXIM
Теперь нужно заинсталить это дело для какого-то домена. Открываем файлик dkim.public (он у нас создался вот здесь /usr/local/cpanel/etc/exim/dkim.public ) и копируем то что находится между -----BEGIN PUBLIC KEY----- и -----END PUBLIC KEY-----
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSxBjop/h33+yq8OXBsZ1FoLtI +GH6iOkIpqZ7dAdJmLCfvIhFjJ7ELwqIYj3BVi7RVweOf9wF/kK0syJt/HrUN/M/ wUboUAsNnbUjhXo+Z7HC+EfwqJn/xufQTYFK7Z2eevzfiHyplbM++uiSQuM8nOqn VwQzRTfomOGD7odtgQIDAQAB
-----END PUBLIC KEY-----
Заходим в DNS editor и добавляем новую TXT запись
mail._domainkey (или mail._domainkey.DOMAIN_NAME.COM.) IN TXT "v=DKIM1; g=*; k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDv4PSEM9PcxlI2tRojAUQ9hpRQ0Zj/X M4SK08/Drhm/CaspJAKZF9rZDAw18TrfuXeRgsMWAdS2vJ4Oa/kXqX0NM2eBJcmasu4GeNXANmXvC 1umz+8mC6rEPlE/Ucau4tmAHOZL0HJ9IDd/PIxoTkeTm3mjGeqvKBLbdvVIDXbcQIDAQAB"
Где
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDv4PSEM9PcxlI2tRoj AUQ9hpRQ0Zj/XM4SK08/Drhm/CaspJAKZF9rZDAw18TrfuXeRg sMWAdS 2vJ4Oa/kXqX0NM2eBJcmasu4GeNXANmXvC1umz+8mC6rEPlE/Ucau4tmA HOZL0HJ9IDd/PIxoTkeTm3mjGeqvKBLbdvVIDXbcQIDAQAB"
- это публичный ключ взятый с dkim.public
Вроде все, ждем обновления ДНС зоны.
Если есть желание проверить или DKIM работает, то можно воспользоваться вот этим сервисом, он кстати валидирует в добавку к DKIM еще и DomainKeys, SPF и тестит не будет ли письмо заблочено Spamassassin ‘ом
Спасибо Пригодилось
Вы еще 18 век вспомните
Побольше б таких постов на блоге.
Спасибо! а еще посты на эту тему будут?
hi,
is this the complete tutorial to set-up DKIM?
the only thing i can find on my Cpanel is the DNS editor the rest i don’t know where to find them.
my hosting is hostGator.com
hope you can help me i want to enable DKIM on mey domain.
Hi, you need to contact hostGator.com to activate DKIM support for, as end users don’t have access to edit exim.conf