LINUX.ORG.RU
ФорумAdmin

Непонятки с DKIM


0

1

Почтовый сервер Postfix, к нему через милтер прикручен DKIM. Иногда при приеме писем с яндекса вылазит такая ошибка:

# cat dkim.log
Oct 24 17:23:13 mx dkim-filter[18132]: message has signatures from yandex.ru, yandex.ru
Oct 24 17:23:13 mx dkim-filter[18132]: BF39714E0C4B0 s=mail d=yandex.ru SSL error:04091068:rsa routines:INT_RSA_VERIFY:bad signature
Oct 24 17:23:13 mx dkim-filter[18132]: BF39714E0C4B0: bad signature data

# cat postfix.log
Oct 24 17:23:13 mx postfix/smtpd[25004]: BF39714E0C4B0: client=forward14.mail.yandex.net[95.108.130.92]
Oct 24 17:23:13 mx postfix/cleanup[18680]: BF39714E0C4B0: message-id=<10871319462592@web157.yandex.ru>
Oct 24 17:23:13 mx postfix/cleanup[18680]: BF39714E0C4B0: milter-reject: END-OF-MESSAGE from forward14.mail.yandex.net[95.108.130.92]: 5.7.0 bad DKIM signature data; from=<user@yandex.ru> to=<user@our-domain.ru> proto=SMTP helo=<forward14.mail.yandex.net>

При этом, если я со своего яндекс-аккаунта через веб-морду отправляю письмо, то всё проходит:
Oct 24 17:27:28 mx dkim-filter[18132]: message has signatures from yandex.ru, yandex.ru
Oct 24 17:27:28 mx dkim-filter[18132]: 8D8E21366C0BF DKIM verification successful

При этом да, в письме две сигнатуры почему-то, похоже яндекс подписывает письмо два раза зачем-то (причем подписи идентичны)

X-DKIM: Sendmail DKIM Filter v2.8.3 domain.ru 8D8E21366C0BF
Authentication-Results: mx.domain.ru.ru/8D8E21366C0BF; dkim=pass
	(1024-bit key) header.i=@yandex.ru; x-dkim-adsp=signed
Received: from forward9.mail.yandex.net (forward9.mail.yandex.net [77.88.61.48])
	by mx.domain.ru (Postfix) with SMTP id 8D8E21366C0BF
	for <user@domain.ru>; Mon, 24 Oct 2011 17:27:27 +0400 (MSK)
Received: from web96.yandex.ru (web96.yandex.ru [77.88.60.21])
	by forward9.mail.yandex.net (Yandex) with ESMTP id 1CDC7CE1618
	for <user@domain.ru>; Mon, 24 Oct 2011 17:27:27 +0400 (MSD)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
	t=1319462847; bh=GhIRh2h6ABjlk0i3yQNWW3ucvBESXsJNXUxuI3FR6ZE=;
	h=From:To:Subject:MIME-Version:Message-Id:Date:
	 Content-Transfer-Encoding:Content-Type;
	b=r0ey0Qhwyo5asqJTQa5NlS2/PDt02+JA/f7m2unrB7DZ7AaPlz7qZ0CwRp8dwGvu+
	 f6h3pT91kqprzGbbI75ePt7Xc6AkFy62C6KTZajMXyccIFHL2C66Q73W+8MFbbc4BB
	 6X8Q6NQLlwWNk6crEFs2VHHtPhUyUkZroVheW+Mk=
Received: from localhost (localhost.localdomain [127.0.0.1])
	by web96.yandex.ru (Yandex) with ESMTP id 05A982088004
	for <user@domain.ru>; Mon, 24 Oct 2011 17:27:26 +0400 (MSK)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail;
	t=1319462847; bh=GhIRh2h6ABjlk0i3yQNWW3ucvBESXsJNXUxuI3FR6ZE=;
	h=From:To:Subject:MIME-Version:Message-Id:Date:
	 Content-Transfer-Encoding:Content-Type;
	b=r0ey0Qhwyo5asqJTQa5NlS2/PDt02+JA/f7m2unrB7DZ7AaPlz7qZ0CwRp8dwGvu+
	 f6h3pT91kqprzGbbI75ePt7Xc6AkFy62C6KTZajMXyccIFHL2C66Q73W+8MFbbc4BB
	 6X8Q6NQLlwWNk6crEFs2VHHtPhUyUkZroVheW+Mk=

Куда копать? :)

проблемка с DKIM

Я обнаружил, что dkim проверяет все заголовки с началом Received. А при отправке с вэб морды у яндекса как раз прием идет с этим хостом, то есть с localhost. Вот реальный случай

Received: from localhost (localhost.localdomain [127.0.0.1]) by
 example.ru (Postfix) with SMTP id 3D85C1C602F5 for <admin@example.ru>; Thu, 
 5 Jul 2012 16:44:46 +0400 (MSK)
Authentication-Results: example.ru/3D85C1C602F5; dkim=fail (verification
 failed) header.i=@yandex.ru; x-dkim-adsp=unknown
Откуда и возникает такая проблема. Я отписался в ТП яндекса. А пока пришлось DKIM-у разрешить пропускать bad-signature, что не радостно

В общем Я думаю, что им стоит просто напросто заменить localhost на имя сервера на которой висит вэб-морда

vision1983 ()
Ответ на: проблемка с DKIM от vision1983

У Яндекса вообще в ДНС не прописано еще

 nslookup -query=txt _domainkey.yandex.ru
Server:         213.170.64.33
Address:        213.170.64.33#53

Non-authoritative answer:
*** Can't find _domainkey.yandex.ru: No answer

Тогда как должно быть что-то такое.

 nslookup -query=txt _domainkey.cctl.ru
Server:         213.170.64.33
Address:        213.170.64.33#53

Non-authoritative answer:
_domainkey.cctl.ru      text = "o=-"

Authoritative answers can be found from:
cctl.ru nameserver = ns2.hc.ru.
cctl.ru nameserver = ns1.hc.ru.
ns1.hc.ru       internet address = 89.111.177.252
ns2.hc.ru       internet address = 79.174.74.74 
vision1983 ()
Ответ на: комментарий от AnDoR

Это я знаю, спасибо. Я нашел, почему не ходило. Виной оказался DSPAM в моем случае. Я изменил строку в конфиге DSPAM отвечающую на проверку сигнатур DKIM. По умолчанию стоит

 Preference "SignatureLocation=message"
. Я поменял на
 Preference "SignatureLocation=headers"
, что логичнее-проверять не в сообщении а в заголовках сообщения. После этого с яндексовой вэб-почты мессаджи стали ходить

vision1983 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.