URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 93978
[ Назад ]

Исходное сообщение
"Подписание почты DKIM"

Отправлено bmp2006 , 31-Окт-12 17:56 
Добрый день всем. Уже 3 недели бьюсь с подписанием исходящей почты подписью DKIM
Конфигурация FreeBSD+Postfix+OpenDKIM
Письма подписываются, но есть ньюансы...
Если письмо отправляется при помощи клиента Outlook Express, подпись проходит проверку dkim=pass
Если письмо отправляется при помощи Mozilla Thunderbird, проверку проходят только сообщения с пустым телом и темой или если тема на англ. языке. да и то не везде, mail.ru всегда говорит dkim=fail reason=bodyhash_mismatch header, yandex.ru признает сообщения с пустым телом и англ. темой.

Проблема в том, что 90% пользователей как раз на Mozilla Thunderbird.

Подпись нужна т.к. не так давно google занес мой адрес в свои черные списки ) по причинам непонятным, в рекомендациях говорится, что DKIM нада.
Тема начиналась на http://www.postfix.ru/viewtopic.php?t=24875

Может кто сталкивался с таким или есть идеи почему так и что делать. Заранее благодарен.


Содержание

Сообщения в этом обсуждении
"Подписание почты DKIM"
Отправлено pavlinux , 01-Ноя-12 01:04 
>[оверквотинг удален]
> с пустым телом и темой или если тема на англ. языке.
> да и то не везде, mail.ru всегда говорит dkim=fail reason=bodyhash_mismatch header,
> yandex.ru признает сообщения с пустым телом и англ. темой.
> Проблема в том, что 90% пользователей как раз на Mozilla Thunderbird.
> Подпись нужна т.к. не так давно google занес мой адрес в свои
> черные списки ) по причинам непонятным, в рекомендациях говорится, что DKIM
> нада.
> Тема начиналась на http://www.postfix.ru/viewtopic.php?t=24875
> Может кто сталкивался с таким или есть идеи почему так и что
> делать. Заранее благодарен.

http://www.sergeysl.ru/freebsd-dkim-postfix-amavisd-new/

Ах да, RSA ключи-то настоящие или левак самоподписной?


"Подписание почты DKIM"
Отправлено bmp2006 , 01-Ноя-12 22:40 
> http://www.sergeysl.ru/freebsd-dkim-postfix-amavisd-new/

спасибо, конечно, может попробую подписывать Amavisd-new. я делал по этим статьям:
http://www.prado.it/2012/04/26/how-to-run-postfix-with-opend.../
http://habrahabr.ru/post/151904/
> Ах да, RSA ключи-то настоящие или левак самоподписной?

ключи генерировались opendkim-genkey как то так:

opendkim-genkey -D /etc/postfix/dkim/ -d example.com -s mail

Только кажется мне, что ничего не поменяется от использования amavisd-new. Сообщения аутлука подписываются без проблем... Что-то с форматом сообщений мозилы, только что?


"Подписание почты DKIM"
Отправлено pavlinux , 02-Ноя-12 01:22 
>> http://www.sergeysl.ru/freebsd-dkim-postfix-amavisd-new/
> спасибо, конечно, может попробую подписывать Amavisd-new. я делал по этим статьям:
> http://www.prado.it/2012/04/26/how-to-run-postfix-with-opend.../
> http://habrahabr.ru/post/151904/
>> Ах да, RSA ключи-то настоящие или левак самоподписной?
> ключи генерировались opendkim-genkey как то так:
> opendkim-genkey -D /etc/postfix/dkim/ -d example.com -s mail
> Только кажется мне, что ничего не поменяется от использования amavisd-new. Сообщения аутлука
> подписываются без проблем... Что-то с форматом сообщений мозилы, только что?

DKIM - защита от фишинга, если ты будешь генерировать ключи по 5 раз в день,
тебя точно забанят в черные списки. Поэтому нужен НАСТОЯЩИЙ RSA ключ, купленный
за пару тыщь баксов. С самоподписным ключём смысл DKIM становиться призрачным.  


"Подписание почты DKIM"
Отправлено Andrey Mitrofanov , 02-Ноя-12 11:08 
> за пару тыщь баксов. С самоподписным ключём смысл DKIM становиться призрачным.

Ты так новичка тролишь или это Глобальная Шютка такая?

"" ~ http://www.dkim.org/info/dkim-faq.html
DKIM uses DNS-based self-certified keys. Because the scope of DKIM is limited, it does not need generalized, powerful and long-term certificates, issued by separate authorities.


"Подписание почты DKIM"
Отправлено bmp2006 , 02-Ноя-12 18:53 
>> за пару тыщь баксов. С самоподписным ключём смысл DKIM становиться призрачным.
> Ты так новичка тролишь или это Глобальная Шютка такая?
> "" ~ http://www.dkim.org/info/dkim-faq.html
> DKIM uses DNS-based self-certified keys. Because the scope of DKIM is limited,
> it does not need generalized, powerful and long-term certificates, issued by
> separate authorities.

Все это конечно хорошо, но может есть идеи почему аутлуковские сообщения подписываются нормально, а мозиловские нет и как это исправить не переходя на аутлук?



"Подписание почты DKIM"
Отправлено pavlinux , 05-Ноя-12 23:10 
> Все это конечно хорошо, но может есть идеи почему аутлуковские сообщения подписываются
> нормально, а мозиловские нет и как это исправить не переходя на
> аутлук?

Блин, ну напиши два одинаковых письма в текстовом формате, прими их и сравни.  


"Подписание почты DKIM"
Отправлено PavelR , 06-Ноя-12 06:16 
>>> за пару тыщь баксов. С самоподписным ключём смысл DKIM становиться призрачным.
>> Ты так новичка тролишь или это Глобальная Шютка такая?
>> "" ~ http://www.dkim.org/info/dkim-faq.html
>> DKIM uses DNS-based self-certified keys. Because the scope of DKIM is limited,
>> it does not need generalized, powerful and long-term certificates, issued by
>> separate authorities.
> Все это конечно хорошо, но может есть идеи почему аутлуковские сообщения подписываются
> нормально, а мозиловские нет и как это исправить не переходя на
> аутлук?

использую dkim-filter, там  у меня Mode sv + Canonicalization relaxed/relaxed . Деталей не помню, да и в DKIM не силен, но с "Canonicalization simple"  были какие-то грабли, вроде  "когда подпись заголовков верна, а тела - нет".


"Подписание почты DKIM"
Отправлено bmp2006 , 06-Ноя-12 17:53 
> использую dkim-filter, там  у меня Mode sv + Canonicalization relaxed/relaxed .
> Деталей не помню, да и в DKIM не силен, но с
> "Canonicalization simple"  были какие-то грабли, вроде  "когда подпись заголовков
> верна, а тела - нет".

Спасибо, но не помогло.

Может что-то по исходному тексту писем можно сказать? Письма с одинаковым содержанием, отправлены из разных почтовых клиентов, настроенных на одну учетную запись. Настройки почтовых клиентов "по-умолчанию"

Outlook
============================================================
From - Tue Nov 06 15:19:37 2012
X-Account-Key: account1
X-UIDL: 1352207939377
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:                                                                                
Return-path: <test@my-domen.com>
Authentication-Results: mxs.mail.ru; spf=pass (mx123.mail.ru: domain of my-domen.com designates xxx.xxx.xxx.xxx as permitted sender) smtp.mailfrom=test@my-domen.com smtp.helo=mx.my-domen.com; dkim=pass header.i=@my-domen.com
Received-SPF: pass (mx123.mail.ru: domain of my-domen.com designates xxx.xxx.xxx.xxx as permitted sender) client-ip=xxx.xxx.xxx.xxx; envelope-from=test@my-domen.com; helo=mx.my-domen.com;
Received: from [xxx.xxx.xxx.xxx] (port=51389 helo=mx.my-domen.com)
    by mx123.mail.ru with esmtp (envelope-from <test@my-domen.com>)
    id 1TVj3S-00063T-JM
    for bmp@mail.ru; Tue, 06 Nov 2012 17:18:58 +0400
X-Mru-BL: 0:0:0
X-Mru-PTR: mx.my-domen.com
X-Mru-NR: 1
X-Mru-OF: unknown (GPRS, T1, FreeS/WAN)
X-Mru-RC: UA
Received: from lts043 (unknown [192.168.55.43])
    by mx.my-domen.com (Postfix) with ESMTPA id 96ADD6D425
    for <bmp@mail.ru>; Tue,  6 Nov 2012 15:18:09 +0200 (EET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=my-domen.com;
    s=dkim; t=1352207889;
    bh=15jI+7+rgf9y4OAf+E9UEbKC8CtPYrsHBc6uWXDjQ8g=;
    h=From:To:Subject:Date;
    b=pUvlmTzVOwSqJdZR/5S30wLb6X9iss4BctpN4Hs2pZZLx27IdQgOvdAdc2OrO3Bn/
     ejGr0q0+JarupAbRUMmQqDlB0mrj7HAxYp3GTuyA726jIPrAPmjQPQzspa9+K+gk45
     NA/VNvK4ugEY2OcVrsHCXADoJqA4kNICd0Xv/Q94=
Message-ID: <B46750749C3C4454BA3345D3A0496BEC@lts043>
From: <test@my-domen.com>
To: =?koi8-r?B?7cnIwcnMIOLF0sXHz9fTy8nK?= <bmp@mail.ru>
Subject: =?koi8-r?B?0NLP18XSy8Eg09fR2sk=?=
Date: Tue, 6 Nov 2012 15:17:52 +0200
MIME-Version: 1.0
Content-Type: multipart/alternative;
    boundary="----=_NextPart_000_0003_01CDBC31.E413E1A0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.5931
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
X-Spam: Not detected
X-Mras: Ok
X-Mru-Authenticated-Sender: test@my-domen.com

This is a multi-part message in MIME format.

------=_NextPart_000_0003_01CDBC31.E413E1A0
Content-Type: text/plain;
    charset="koi8-r"
Content-Transfer-Encoding: quoted-printable

=D0=D2=CF=D7=C5=D2=CB=C1 =D3=D7=D1=DA=C9
------=_NextPart_000_0003_01CDBC31.E413E1A0
Content-Type: text/html;
    charset="koi8-r"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dkoi8-r" http-equiv=3DContent-Type>
<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.19328">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT size=3D2 face=3DArial>=D0=D2=CF=D7=C5=D2=CB=C1 =
=D3=D7=D1=DA=C9</FONT></DIV></BODY></HTML>

------=_NextPart_000_0003_01CDBC31.E413E1A0--
============================================================

Mozilla Thunderbird
============================================================
From - Tue Nov 06 15:19:37 2012
X-Account-Key: account1
X-UIDL: 1352208011269
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:                                                                                
Return-path: <test@my-domen.com>
Authentication-Results: mxs.mail.ru; spf=pass (mx87.mail.ru: domain of my-domen.com designates xxx.xxx.xxx.xxx as permitted sender) smtp.mailfrom=test@my-domen.com smtp.helo=mx.my-domen.com; dkim=fail reason=bodyhash_mismatch header.i=@my-domen.com
Received-SPF: pass (mx87.mail.ru: domain of my-domen.com designates xxx.xxx.xxx.xxx as permitted sender) client-ip=xxx.xxx.xxx.xxx; envelope-from=test@my-domen.com; helo=mx.my-domen.com;
Received: from [xxx.xxx.xxx.xxx] (port=20658 helo=mx.my-domen.com)
    by mx87.mail.ru with esmtp (envelope-from <test@my-domen.com>)
    id 1TVj4d-00038Z-G5
    for bmp@mail.ru; Tue, 06 Nov 2012 17:20:11 +0400
X-Mru-BL: 0:0:0
X-Mru-PTR: mx.my-domen.com
X-Mru-NR: 1
X-Mru-OF: unknown (unknown)
X-Mru-RC: UA
Received: from [192.168.55.43] (unknown [192.168.55.43])
    by mx.my-domen.com (Postfix) with ESMTPA id 942CC6D425
    for <bmp@mail.ru>; Tue,  6 Nov 2012 15:19:22 +0200 (EET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=my-domen.com;
    s=dkim; t=1352207962;
    bh=X13Vxx71d4O3mesPsytsVVr9YapoiF0/GcuU1ro9Tvg=;
    h=Date:From:To:Subject;
    b=AlljKU0LJnnKe5WGpZ6HiFksjqsC19tXhSKO3ChUeGQWpQTIcktg+2WSwotBkzC8G
     2URsWTyFvHrJeY+vSqxVNwm5j2u6Xm5kbKEriKx1gkFf+2nOQbPo4PO2Ck8wTDKi3d
     xQvq4buD0a3BdzaahNMtzfGv2PuEDdFeraMnZay0=
Message-ID: <50990E49.70507@my-domen.com>
Date: Tue, 06 Nov 2012 15:19:05 +0200
From: test <test@my-domen.com>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20121026 Thunderbird/16.0.2
MIME-Version: 1.0
To: =?KOI8-R?Q?=ED=C9=C8=C1=C9=CC_=E2=C5=D2=C5=C7=CF=D7=D3=CB=C9=CA?=
<bmp@mail.ru>
Subject: =?KOI8-R?Q?=D0=D2=CF=D7=C5=D2=CB=C1_=D3=D7=D1=DA=C9?=
Content-Type: text/plain; charset=KOI8-R
Content-Transfer-Encoding: quoted-printable
X-DKIM-FAIL: DKIM test failed: bad signature (address=test@my-domen.com domain=my-domen.com).
X-Spam: Not detected
X-Mras: OK
X-Mru-Authenticated-Sender: test@my-domen.com

=D0=D2=CF=D7=C5=D2=CB=C1 =D3=D7=D1=DA=C9

.


============================================================


"Подписание почты DKIM"
Отправлено PavelR , 06-Ноя-12 21:01 

так, чисто на пообщаться:

когда я заморачивался цифровой подписью писем, отправляемых с сайта, было замечено, что один из почтовых клиентов, скорее всего outlook, неадекватно относится к нескольким переносам строки между boundary, которые несколько некорректно генерировались скриптом в отправляемом письме. Аутлук "оптимизировал" письмо, удаляя из него "лишний" перенос строки, но, естественно, цифровая подпись "билась", и аутлук же показывал что письмо при доставке было модифицировано =))


В ближайшее время буду настраивать DKIM на одном хосте, проверю там, как клиенты работать будут. )


"Подписание почты DKIM"
Отправлено bmp2006 , 06-Ноя-12 21:27 

> так, чисто на пообщаться:
> когда я заморачивался цифровой подписью писем, отправляемых с сайта, было замечено, что
> один из почтовых клиентов, скорее всего outlook, неадекватно относится к нескольким
> переносам строки между boundary, которые несколько некорректно генерировались скриптом
> в отправляемом письме. Аутлук "оптимизировал" письмо, удаляя из него "лишний" перенос
> строки, но, естественно, цифровая подпись "билась", и аутлук же показывал что
> письмо при доставке было модифицировано =))
> В ближайшее время буду настраивать DKIM на одном хосте, проверю там, как
> клиенты работать будут. )

Да, но это не мой случай... Подпись показывается как битая и при просмотре письма через веб-морду, да и вряд ли проверяет outlook подпись на валидность. Она проверяется на сервере.


"Подписание почты DKIM"
Отправлено PavelR , 06-Ноя-12 21:37 
>[оверквотинг удален]
>> один из почтовых клиентов, скорее всего outlook, неадекватно относится к нескольким
>> переносам строки между boundary, которые несколько некорректно генерировались скриптом
>> в отправляемом письме. Аутлук "оптимизировал" письмо, удаляя из него "лишний" перенос
>> строки, но, естественно, цифровая подпись "билась", и аутлук же показывал что
>> письмо при доставке было модифицировано =))
>> В ближайшее время буду настраивать DKIM на одном хосте, проверю там, как
>> клиенты работать будут. )
> Да, но это не мой случай... Подпись показывается как битая и при
> просмотре письма через веб-морду, да и вряд ли проверяет outlook подпись
> на валидность. Она проверяется на сервере.

отправляйте через IMAP, сравните тело письма сохраненного в "отправленные" и того, которое прошло через SMTP-сервер/


"Подписание почты DKIM"
Отправлено bmp2006 , 06-Ноя-12 22:29 
>[оверквотинг удален]
>>> в отправляемом письме. Аутлук "оптимизировал" письмо, удаляя из него "лишний" перенос
>>> строки, но, естественно, цифровая подпись "билась", и аутлук же показывал что
>>> письмо при доставке было модифицировано =))
>>> В ближайшее время буду настраивать DKIM на одном хосте, проверю там, как
>>> клиенты работать будут. )
>> Да, но это не мой случай... Подпись показывается как битая и при
>> просмотре письма через веб-морду, да и вряд ли проверяет outlook подпись
>> на валидность. Она проверяется на сервере.
> отправляйте через IMAP, сравните тело письма сохраненного в "отправленные" и того, которое
> прошло через SMTP-сервер/

кажется понятно. СПАСИБО!!!

Mozilla в исходящих сообщениях русский текст в теме кодирует:

================
Subject: test dkim =?KOI8-R?Q?=C4=CB=C9=CD?=
================

а тело письма нет, т.е. оставляет русский текст как есть:

================
проверка подписи DKIM
================

Outlook кодирует и тело и тему:
================
=D0=D2=CF=D7=C5=D2=CB=C1 =D0=CF=C4=D0=C9=D3=C9 =
DKIM
================

А вот почему так и как заставить Мозилу делать то же самое???


"Подписание почты DKIM"
Отправлено PavelR , 07-Ноя-12 09:57 
>[оверквотинг удален]
> а тело письма нет, т.е. оставляет русский текст как есть:
> ================
> проверка подписи DKIM
> ================
> Outlook кодирует и тело и тему:
> ================
> =D0=D2=CF=D7=C5=D2=CB=C1 =D0=CF=C4=D0=C9=D3=C9 =
> DKIM
> ================
> А вот почему так и как заставить Мозилу делать то же самое???

для начала, надо проверить, что по сети в SMTP-отправке отправляется тоже некодированно.

В постфиксе еще есть:

disable_mime_output_conversion (default: no)
       Disable the conversion of 8BITMIME format to 7BIT format.  Mime output conversion is needed when the  destination  does  not  advertise
       8BITMIME support.

       This feature is available in Postfix 2.0 and later.

но скорее всего это не то, что надо.


-----

по результатам проверки, да, мозилла отправляет 8бит, но в моем случае отправки между моими серверами - до конечного клиента приходит неизменное сообщение, 8 бит. При этом сообщение проходит через amavis-ы )

В вашем случае, http://www.opennet.me/openforum/vsluhforumID1/93978.html#8 - получается что действительно, где-то в процессе доставки текст перекодируется в 7бит.

smtpd_discard_ehlo_keywords=8BITMIME в постфиксе - не влияет на отправляемое мозиллой.


В общем, надо до подписания явно перекодировать в 7бит. (ну проверить сначала, что "от нас" уходит 8бит, а бьется уже "не у нас"),


"Подписание почты DKIM"
Отправлено bmp2006 , 07-Ноя-12 16:08 
>[оверквотинг удален]
> В постфиксе еще есть:
> disable_mime_output_conversion (default: no)
>        Disable the conversion of 8BITMIME
> format to 7BIT format.  Mime output conversion is needed when
> the  destination  does  not  advertise
>        8BITMIME support.
>        This feature is available in
> Postfix 2.0 and later.
> но скорее всего это не то, что надо.
> -----

СПАСИБО, PavelR! disable_mime_output_conversion=yes то, что надо. ПОБЕДА!


"Подписание почты DKIM"
Отправлено PavelR , 07-Ноя-12 10:12 

Читаем: http://comments.gmane.org/gmane.mail.postfix.user/218962

выход: либо сделать отдельный инстанс постфикса для подписания почты, чтобы первый отправлял второму, а второй не анонсировал 8bit - тогда первый сделает перекодировку перед отправкой второму.

либо отключить анонс 8бит opendkim, если это в принципе возможно.



"Подписание почты DKIM"
Отправлено pavlinux , 07-Ноя-12 20:29 

> второму, а второй не анонсировал 8bit - тогда первый сделает перекодировку
> перед отправкой второму. либо отключить анонс 8бит opendkim, если это в принципе возможно.

Уапрос, какого х...я он конвертирует после подписания?
Ну или на оборот - подписывает до конвертации?
:)


"Подписание почты DKIM"
Отправлено bmp2006 , 08-Ноя-12 14:10 
>> второму, а второй не анонсировал 8bit - тогда первый сделает перекодировку
>> перед отправкой второму. либо отключить анонс 8бит opendkim, если это в принципе возможно.
> Уапрос, какого х...я он конвертирует после подписания?
> Ну или на оборот - подписывает до конвертации?
> :)

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


"Подписание почты DKIM"
Отправлено pavlinux , 08-Ноя-12 20:38 
>>> второму, а второй не анонсировал 8bit - тогда первый сделает перекодировку
>>> перед отправкой второму. либо отключить анонс 8бит opendkim, если это в принципе возможно.
>> Уапрос, какого х...я он конвертирует после подписания?
>> Ну или на оборот - подписывает до конвертации?
>> :)
> а вот хз. причем конвертируется только русский текст. но заморочился я с
> этим надолго и, что странно, нигде похожей проблемы не нашел.

Не, ну на здоровье, только увидел DKIM-Signature: и поле h=Date:From:To:Subject;,
что значит - на основании полей Date, From, To и Subject сформирована эта сигнатура,
и не фига их трогать, другие - на здоровье.

А ведь DKIM может подписывать на основании BODY и SIZE_OF_BODY,
сдаётся мне, что  при их использовании вообще ни один сервис не пропустит,
ибо почти все сервера дописывают какую-нибудь свою хрень.


"Подписание почты DKIM"
Отправлено pavlinux , 07-Ноя-12 02:47 
> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=my-domen.com;

http://www.ietf.org/rfc/rfc4871.txt

Verifiers MAY ignore the DKIM-Signature header field if the domain
   used by the signer in the "d=" tag is not associated with a valid
   signing entity.  For example, signatures with "d=" values such as
   "com" and "co.uk" may be ignored.  The list of unacceptable domains
   SHOULD be configurable.


"Подписание почты DKIM"
Отправлено PavelR , 10-Ноя-12 22:54 
>> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=my-domen.com;
> http://www.ietf.org/rfc/rfc4871.txt
> Verifiers MAY ignore the DKIM-Signature header field if the domain
>    used by the signer in the "d=" tag is
> not associated with a valid
>    signing entity.  For example, signatures with "d=" values
> such as
>    "com" and "co.uk" may be ignored.  The list
> of unacceptable domains
>    SHOULD be configurable.

Я так и не понял, зачем нужны i= tag и режим, прописываемый в DNS значением t=s?
Можешь пояснить?