Exim DKIM и с чем его едят.

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Amadeus
ст. сержант
Сообщения: 332
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Exim DKIM и с чем его едят.

Непрочитанное сообщение Amadeus » 2012-07-13 20:30:33

Добрый вечер, есть вопрос такого плана. Заранее извиняюсь, если уже это где то было, тогда прошу просто ткнуть где). Решил к одному хосту прикрутить технологию поддержки подписи писем DKIM. Благо информации много в инете. Заодно и для себя понять, как она работает.

Имеем следующее

Код: Выделить всё

FreeBSD hostname 8.3-STABLE FreeBSD

Код: Выделить всё

pkg_version -v | grep exim
exim-4.77_1                         =   up-to-date with port
Ситуация с расположением домена - зарегистрирован у регистратора X, там же находится его ДНСка с записями домена, почтовик в другом месте, на него просто повернуты A и MX записи.
Делаю все по манам с оф сайта и отсюда,
1) Сгенерил ключи
2) Добавил ключ в виде ТХТ записи в ДНС, которая обслуживает этот домен у регистратора
3) Объявил переменные в экзиме вида

Код: Выделить всё

begin transports

## DKIM:
DKIM_DOMAIN_NAME = ${lc:${domain:$h_from:}}
DKIM_FILE = /usr/local/etc/exim/dkim/${lc:${domain:$h_from:}}.key
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}
Сразу после начала транспорта,
Соответственно изменил транспорт remote_smtp

Код: Выделить всё

remote_smtp:
    driver = smtp
    dkim_domain = DKIM_DOMAIN_NAME
    dkim_selector = тут селектор
    dkim_private_key = DKIM_PRIVATE_KEY
После этого, по идее должна пройти проверка, но при отправке письма куда либо, все работает, замечательно доходит, но проверки нет, и в логах экзима ни одной строчки о ней вообше, т.е типичные почтовые логи.

Судя по документации в этой версии экзима уже есть нативная поддержка DKIM
и судя вот по этому

Код: Выделить всё

cd /usr/ports/mail/exim
[root@hostname /usr/ports/mail/exim]# make showconfig
===> The following configuration options are available for exim-4.77_1:
     ALT_CONFIG_PREFIX=on: Restrict the set of configuration files
     AUTH_CRAM_MD5=on: Enable CRAM-MD5 authentication mechanisms
     AUTH_DOVECOT=on: Enable Dovecot authentication mechanisms
     AUTH_PLAINTEXT=on: Enable plaintext authentication
     AUTH_RADIUS=off: Enable radius (RFC 2865) authentication
     AUTH_SASL=off: Enable use of Cyrus SASL auth library
     AUTH_SPA=on: Enable Secure Password Authentication
     CDB=on: Enable CDB-style lookups
     CONTENT_SCAN=on: Enable exiscan email content scanner
     DAEMON=on: Install scripts to run as a daemon
     DCC=off: Enable DCC at ACL support via dccifd
     DEBUG=off: Build with debugging symbols
     DISABLE_D_OPT=on: Disable macros overrides using option -D
     DNSDB=on: Enable DNS-style lookups
     DSEARCH=on: Enable directory-list lookups
     EMBEDDED_PERL=on: Enable embedded Perl interpreter
     EXIMON=off: Build eximon monitor (require XFree86!)
     ICONV=on: Enable header charset conversion
     IPV6=off: Enable IPv6 support
     KAS=off: Build with Kaspersky AntiSpam local scan
     LISTMATCH_RHS=off: Enable pre-4.77 behaviour for match_*
     LMTP=on: RFC2033 SMTP over command pipe transport
     LSEARCH=on: Enable wildcarded-file lookups
     MAILDIR=on: Enable Maildir mailbox format
     MAILSTORE=on: Enable Mailstore mailbox format
     MBX=on: Enable MBX mailbox format
     MYSQL=on: Link against libmysqlclient library
     NIS=on: Enable NIS-style lookups
     OLD_DEMIME=on: Enable old, deprecated demime ACL
     OPENLDAP=off: Link against libldap
     PAM=on: Enable PAM authentication mechanisms
     PASSWD=on: Enable /etc/passwd lookups
     PGSQL=off: Link against libpq
     READLINE=on: Enable readline(3) library
     SASLAUTHD=off: Enable use of Cyrus SASL auth daemon
     SA_EXIM=off: SA-Exim support
     SO_1024=off: Build with Spamooborona-1024 local scan
     SPF=off: Enable Sender Policy Framework checking
     SQLITE=off: Enable SQLite lookups
     SRS=off: Enable Sender Rewriting Scheme
     SRS_ALT=off: Enable alternative SRS library
     SUID=on: Install the exim binary suid root
     TCP_WRAPPERS=off: Enable /etc/hosts.allow access control
     TLS=on: Link against OpenSSL
     WISHLIST=off: Include the unsupported patches
     XCLIENT=off: Enable XCLIENT command in exim
===> Use 'make config' to modify these settings
Вот собственно и возник вопрос, что это может быть, ошибка в DNS записи, или не там ее расположил? запись эту,
Надо было на DNS, которые у почтовика в resolv.conf?
Буду благодарен за совет. :)
Нет ничего невозможного

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

Re: Exim DKIM и с чем его едят.

Непрочитанное сообщение xM » 2012-08-15 0:24:42

Попробуй переместить приватный ключ из .../exim/dkim в .../exim
Ну и пути в конфиге недурно бы поправить ;)
Шаманство, конечно, но у меня заработало сразу же.
IT voodoo blog https://kostikov.co

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

Re: Exim DKIM и с чем его едят.

Непрочитанное сообщение xM » 2012-08-15 13:14:00

Я, кстати, не уловил, к чему вот такие сложности

Код: Выделить всё

${lc:${domain:$h_from:}}
когда можно сделать путем использования стандартной переменной $sender_address_domain
IT voodoo blog https://kostikov.co