LINUX.ORG.RU
ФорумAdmin

DKIM не подписывает письма

 


0

2

Здравствуйте ! Помогите разобраться запись dkim в DNS зону добавлена, но письмо не подписывается. На тестовом сайте выдает ошибку

---------------------------------------------------------- DKIM check details: ---------------------------------------------------------- Result: none (message not signed) ID(s) verified:

NOTE: DKIM checking has been performed based on the latest DKIM specs (RFC 4871 or draft-ietf-dkim-base-10) and verification may fail for older versions. If you are using Port25's PowerMTA, you need to use version 3.2r11 or later to get a compatible version of DKIM.

============================================================== Explanation of the possible results (based on RFCs 7601, 7208) ==============================================================

Система Centos 5.9 Final opendkim 2.5.2 postfix 2.3.3

конфиг opendkim
PidFile	/var/run/opendkim/opendkim.pid
Mode sv
Syslog yes
SyslogSuccess yes
#LogWhy yes
UserID opendkim:opendkim
Socket inet:8891@localhost
Umask 002
Canonicalization relaxed/relaxed
Selector fbuz
KeyFile /etc/opendkim/keys/13???.ru/???z
KeyTable /etc/opendkim/KeyTable
SigningTable /etc/opendkim/SigningTable
#SignatureAlgorithm rsa
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
Конфиг postfix
main.cf 
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = proxy.???.ru
inet_interfaces = localhost
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
virtual_mailbox_base = /var/spool/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_mailbox_domains = mysql:/etc/postfix/vdomains.cf
virtual_mailbox_maps = mysql:/etc/postfix/vmailbox.cf
virtual_alias_maps = mysql:/etc/postfix/valias.cf
transport_maps = mysql:/etc/postfix/vtransports.cf
virtual_create_maildirsize = yes
virtual_maildir_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/vmailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = «The user you are trying to reach is over quota.»
virtual_overquota_bounce = yes
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_ma
inet_interfaces = all
message_size_limit = 20480000
smtpd_milters=inet:127.0.0.1:8891
non_smtpd_milters=$smtpd_milters
milter_default_action=accept
milter_protocol=2
strict_rfc821_envelopes = yes
disable_vrfy_command = yes
mail.log
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,check_helo_access hash:/etc/postfix/antispamcfg/helo_access,check_helo_access regexp:/etc/postfix/antispamcfg/dul_checks,reject_invalid_hostname,permit
smtpd_sender_restrictions = permit_mynetworks,check_sender_access regexp:/etc/postfix/antispamcfg/sender_access,reject_non_fqdn_sender,reject_unknown_sender_domain,permit
smtpd_recipient_restrictions = reject_unauth_pipelining,permit_mynetworks,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unlisted_recipient,check_recipient_access regexp:/etc/postfix/antispamcfg/recipient_access,reject_unauth_destination,permit
smtpd_client_restrictions = permit_mynetworks,check_client_access hash:/etc/postfix/antispamcfg/client_access,check_client_access regexp:/etc/postfix/antispamcfg/dul_checks,reject_rbl_client bl.spamcop.net,reject_rbl_client cbl.abuseat.org,permit
SigningTable
*@13???.ru ???z._domainkey.13???.ru
TrustedHosts
127.0.0.1
localhost
13???.ru

Что в логе от opendkim? Что в файле KeyTable? Что означают вопросики в домене, просто маскировка, или вы пытаетесь сюда регулярное выражение засунуть?

Можно ещё попробовать включить debug у postfix'а, тогду будет понятно, что происходит при взаимодействии с milter'ом (opendkim).

mky ★★★★★
()
Ответ на: комментарий от mky

Здравствуйте ! Спасибо что откликнулись.

знаки ? маскировка

opendkim.log не нашел , искал командой find / -name opendkim.log

файл KeyTable

???z._domain.13???.ru 13???.ru:???z:/opendkim/keys/13???.ru/???z

где

13???.ru мой домен

???z Селектор

Подскажите как включить debug postfix

akm123
() автор топика
Ответ на: комментарий от akm123

opendkim пишет лог через syslog и обычно будет в /var/log/maillog или ещё где в /var/log. В centos 5 systemd ещё не было, так что про jorunalctl можно не читать.

Отдельно можете почитать про устройство syslog, про facility и priority сообщений и о раскидывани по файлам в зависмости от этих значений.

У opendkim пока лучше раскомментируйте ″LogWhy yes″, чтобы было больше сообщений и понятнее что происходит.

У postfix добавьте в main.cf:

debug_peer_level = 10
debug_peer_list = 127.0.0.1
Либо в файле master.cf в конце строки, начинающейся с «smtp ″ добавить опцию »-v″, чтобы стало ″smtpd -v″. Ну и другим компонентам postfix в master.cf можно подобавлять ″-v″, если для smtpd не хватит.

И перезапустить postfix после правки конфигов.

mky ★★★★★
()
Ответ на: комментарий от mky

в файле maillog постоянно генерируется сообщение.

exited with status 69, restarting

OpenDKIM Fliter: Unable to bind to port inet:8891@localhost: Address already in use

OpenDKIM Fliter: Unable to create listening socket on conn inet:8891@localhost

smfi_opensocket() failed

akm123
() автор топика
Ответ на: комментарий от akm123

Посмотрите, кто слушает порт 8891:

netstat -n -l -t -p | grep 8891

Если там dkim, значит при каком-то перезапуске старый процесс не прибило, а новый запустило. Тогда можете остановить один dkim через service, другой прибить kill по pid'у из вывода netstat, потом проверить, что в выводе ps нет dkim'ом и запустить через service.

А если netstat покажет, что там не dkim, то это будет странно.

mky ★★★★★
()
Ответ на: комментарий от mky

Использовал команду netstat

tcp 0 0 127.0.0.1:8891 0.0.0.0:* LISTEN 8104/opendkim

Я так понимаю процесс 1

Вопрос для того чтобы DKIM работал нужно настраивать ssl сертификаты в linux.

Или нужно настраивать как то Outlook.

akm123
() автор топика
Ответ на: комментарий от akm123

Нет, SSL-сертификаты нужны только для TLS — это когда при передачи между серверами шифруется канал. OpenDKIM работает milter'ом, с ним никакого TLS не используется. Сам DKIM внутри письма, его ключ отдельно от SSL, для проверки используется ключ опубликованый в DNS.

От постоянных сообщений:

Unable to create listening socket on conn inet:8891@localhost

избавились?

debug у postfix включили, письмо отправили, сообщения от postfix в логе изучили?

mky ★★★★★
()
Ответ на: комментарий от mky

Спасибо подпись DKIM видна, ошибка была в записи SigningTable.

Не подскажите на счет DMARC. Также надо устанавливать пакет DMARC на систему, настраивать. Или это текстовая запись в DNS вида

_DMARC.13???.ru IN TXT “v=DMARC1; p=none; rua=mailto:13???@13???.ru“

DNS находится у провайдера

akm123
() автор топика
Ответ на: комментарий от akm123

Я не знаю про установку какого пакета вы пишите. DMARC это запись в DNS (политика).

Отдельный софт нужен для проверки входящих писем на соответствие DMARC их домена (postfix не умеет). Допустим в качестве милтера ставят OpenDMARC.

mky ★★★★★
()
Ответ на: комментарий от akm123

Да, настроить OpenDMARC для входящих писем, то есть для выполнения вашим MTA политики, прописаной не на вашем DNS.

Так ещё есть rspamd, который тоже понимает политики DMARC и не только их, куча всего в одном флаконе. Лично не пробовал.

mky ★★★★★
()