[Exim-users] DKIM и KAS

226 views
Skip to first unread message

An An

unread,
Feb 22, 2012, 2:54:25 AM2/22/12
to Exim MTA на русском
Возникла проблема при работе DKIM с Kaspersky Antispam. В конфиге такой вот ACL:

warn
<------>sender_domains = mail.ru:list.ru:bk.ru
<------>dkim_signers = mail.ru:list.ru:bk.ru
<------>dkim_status = none:invalid:fail
<------>logwrite = Message from MailRU with invalid or missing signature(LOG) from $sender_address

Когда приходит письмо:

mail1# cat /var/log/exim/exim-main-20120222.log | grep '1S069l-000ObC-Si'
2012-02-22 10:58:29 [94562] 1S069l-000ObC-Si DKIM: d=mail.ru s=mail c=relaxed/relaxed a=rsa-sha256 [verification succeeded]
2012-02-22 10:58:29 [94562] 1S069l-000ObC-Si DKIM test passed (address=b-...@mail.ru domain=mail.ru), good signature.

Письмо передается для проверки KAS и сразу фаталити.

mail1# cat /var/log/exim/exim-main-20120222.log | grep '1S069m-000ObJ-Eb'
2012-02-22 10:58:30 [94569] 1S069m-000ObJ-Eb DKIM: d=mail.ru s=mail c=relaxed/relaxed a=rsa-sha256 [verification failed - body hash mismatch (body probably modified in transit)]
2012-02-22 10:58:30 [94569] 1S069m-000ObJ-Eb DKIM test failed: bodyhash_mismatch

Причем такое наблюдается не для всех писем. Например, когда я посылаю письмо:

mail1# cat /var/log/exim/exim-main-20120222.log | grep 'darkhost' | grep DKIM
2012-02-22 11:29:20 [5761] 1S06dc-0001Uv-Pt DKIM test passed (address=dark...@mail.ru domain=mail.ru), good signature.
2012-02-22 11:29:21 [5767] 1S06dd-0001V1-3R DKIM test passed (address=dark...@mail.ru domain=mail.ru), good signature.
_______________________________________________
Exim-users mailing list
Exim-...@mailground.net
http://mailground.net/mailman/listinfo/exim-users

dawnshade

unread,
Feb 22, 2012, 4:04:40 AM2/22/12
to An An, Exim MTA на русском
KAS что-то добавляет в subject?
И таки после его отключения все ОК?
И как он (кас) у вас подключен.

Я просто на днях настраивал аналогичное, все хорошо работает.


22 февраля 2012, 11:58 от An An <dark...@mail.ru>:

Oleg Litvinov

unread,
Feb 23, 2012, 8:26:03 AM2/23/12
to exim-...@mailground.net
день добрый

подскажите правильно ли понимаю суть конструкции типа

.ifdef CHECK_RCPT_LOCAL_LOCALPARTS
deny
domains = +local_domains
local_parts = CHECK_RCPT_LOCAL_LOCALPARTS
message = restricted characters in address
.endif

скажите правильно ли понимаю

если установлена (или существует) переменная CHECK_RCPT_LOCAL_LOCALPARTS
то выполняется нижеследующий код

если же переменной CHECK_RCPT_LOCAL_LOCALPARTS ничего не присвоено (или
ее не существует) то код не выполняется

я прав или нет?


--
Oleg

Le...@lena.kiev.ua

unread,
Feb 23, 2012, 10:02:06 AM2/23/12
to Exim MTA на русском
> правильно ли понимаю суть конструкции типа
>
> .ifdef CHECK_RCPT_LOCAL_LOCALPARTS
> deny
> domains = +local_domains
> local_parts = CHECK_RCPT_LOCAL_LOCALPARTS
> message = restricted characters in address
> .endif
>
> скажите правильно ли понимаю
>
> если установлена (или существует) переменная CHECK_RCPT_LOCAL_LOCALPARTS
> то выполняется нижеследующий код
>
> если же переменной CHECK_RCPT_LOCAL_LOCALPARTS ничего не присвоено (или
> ее не существует) то код не выполняется

Не переменная, а если выше в конфиге (обычно до первого begin) есть
строка - макро, в данном случае с перечислением запрещенных имен получателей,
например

CHECK_RCPT_LOCAL_LOCALPARTS = ^[.] : ^.*[@%!/|]

dawnshade

unread,
Feb 24, 2012, 2:22:56 AM2/24/12
to An An, Exim MTA на русском
Я тогда неоч понимаю, как второй раз в том же мейлере у вас письмо попадает на проверку dkim если local_scan?

P.S. и отвечайте, пожалуйста, в рассылку тоже.


24 февраля 2012, 10:57 от An An <dark...@mail.ru>:
> Вроде ничего не добавляет. KAS настроен через local_scan. И симулировать проблему тяжело.
> Отключить KAS попробую(сервер под высокой нагрузкой), отпишусь после этого.

An An

unread,
Feb 24, 2012, 3:27:34 AM2/24/12
to Exim MTA на русском
begin local_scan

kas_connect_to = unix:/usr/local/ap-mailfilter3/run/ap-process-server.socket
kas_connect_timeout = 100
kas_data_timeout = 100
kas_log_level = 50
kas_on_error = reject

dawnshade

unread,
Feb 24, 2012, 3:49:06 AM2/24/12
to An An, Exim MTA на русском
янихнепонял.jpg

проверка dkim впринципе раньше local_scan, либо вы как-то инжектите письмо второй раз обратно в мейлер.

24 февраля 2012, 12:30 от An An <dark...@mail.ru>:

dawnshade

unread,
Mar 28, 2012, 10:46:37 AM3/28/12
to An An, Exim MTA на русском
diff `hd mail1` `hd mail2`

дает какие-либо различия? (либо hexdump, в разных системах оно по-разному зовется). кто-то из контент сканеров, либо сам экзим может фиксить переводы строк.
а антивирус кто и как подключен?
я бы в любом случае пошел путем отключения поочереди всех контент сканеров

Wed, 28 Mar 2012 16:25:23 +0400 от An An <dark...@mail.ru>:
> Да, прошу прощения. Ссылки: http://pac.ru/mail1.html и http://pac.ru/mail2.html
>
> Выяснилось, что ошибка "[verification failed - body hash mismatch (body probably modified in transit)]" возникает безотносительно к ACL. Я полностью закомментировал DKIM ACL, и, насколько я понял, ситуация такова, что Exim видит DKIM сигнатуры в письме и на некоторые письма ругается.
>
> Заголовки двух писем(с ошибкой и без) в почтовом клиенте выглядят абсолютно одинаково, ничего лишнего или недостающего.
>
>
> > ДНС на том домене мертв
> >
> >
> > mail# dig so-please-do-not-ask-me-why-some-people-want-to-be-braindamaged.ru
> >
> > ; <<>> DiG 9.6.-ESV-R3 <<>> so-please-do-not-ask-me-why-some-people-want-to-be-braindamaged.ru
> > ;; global options: +cmd
> > ;; Got answer:
> > ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 39947
> > ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
> >
> >
> >
> > Wed, 28 Mar 2012 13:25:18 +0400 от An An <dark...@mail.ru>:
> > > Так и не удалось мне решить проблему с [verification failed - body hash mismatch (body probably modified in transit)].
> > > Судя по всему, письмо передается на проверку антивирусу, а возвращаясь обратно, второй раз проходит DKIM проверку. Больше нигде в конфиге не может письмо инжектиться. Признаться, я уже и сам запутался. Выкладываю два лога для одного и того же письма.
> > >
> > > Письмо прошло один раз проверку: http://so-please-do-not-ask-me-why-some-people-want-to-be-braindamaged.ru/mail1.html
> > > И еще раз, последний: http://so-please-do-not-ask-me-why-some-people-want-to-be-braindamaged.ru/mail2.html


> > >
> > >
> > >
> > >
> > >
> > >
> > > >
> > > > проверка dkim впринципе раньше local_scan, либо вы как-то инжектите письмо второй раз обратно в мейлер.
> > > >
> > > > 24 февраля 2012, 12:30 от An An <dark...@mail.ru>:
> > > > > begin local_scan
> > > > >
> > > > > kas_connect_to = unix:/usr/local/ap-mailfilter3/run/ap-process-server.socket
> > > > > kas_connect_timeout = 100
> > > > > kas_data_timeout = 100
> > > > > kas_log_level = 50
> > > > > kas_on_error = reject
> > > > >
> > > > > > Я тогда неоч понимаю, как второй раз в том же мейлере у вас письмо попадает на проверку dkim если local_scan?
> > > > > >
> > > > > > P.S. и отвечайте, пожалуйста, в рассылку тоже.
> > > > > >
> > > > > > 24 февраля 2012, 10:57 от An An <dark...@mail.ru>:
> > > > > > > Вроде ничего не добавляет. KAS настроен через local_scan. И симулировать проблему тяжело.
> > > > > > > Отключить KAS попробую(сервер под высокой нагрузкой), отпишусь после этого.
> > > > > > >
> > > > > > > > KAS что-то добавляет в subject?
> > > > > > > > И таки после его отключения все ОК?
> > > > > > > > И как он (кас) у вас подключен.
> > > > > > > >
> > > > > > > > Я просто на днях настраивал аналогичное, все хорошо работает.
> > > > > > > >
> > > > > > > > 22 февраля 2012, 11:58 от An An <dark...@mail.ru>:

An An

unread,
Mar 29, 2012, 5:16:39 AM3/29/12
to Exim MTA на русском
Антивирус подключен как post-queue:

#kav4lms-filter-begin-2
kav4lms_filter:
<------>driver = manualroute
<------>condition = "${if or { {eq {$interface_port}{10026}} {eq {$received_protocol}{spam-scanned}} }{0}{1}}"
<------>transport = kav4lms_filter
<------>route_list = "* localhost"
<------>self = send
#kav4lms-filter-end-2

Отключил антивирус, перестало сообщение дважды проходить через Exim, и "body hash mismatch" изчезло. Правда я сэмулировать эту ошибку никак не могу, даже если посылаю с личного ящика письмо с вложением.


Wed, 28 Mar 2012 18:46:37 +0400 от dawnshade <h...@mail.ru>:


> diff `hd mail1` `hd mail2`
>
> дает какие-либо различия? (либо hexdump, в разных системах оно по-разному зовется). кто-то из контент сканеров, либо сам экзим может фиксить переводы строк.
> а антивирус кто и как подключен?
> я бы в любом случае пошел путем отключения поочереди всех контент сканеров
>
>
>
> Wed, 28 Mar 2012 16:25:23 +0400 от An An <dark...@mail.ru>:

> > Да, прошу прощения. Ссыhttp://e.mail.ru/cgi-bin/msglist#лки: http://pac.ru/mail1.html и http://pac.ru/mail2.html

dawnshade

unread,
Mar 29, 2012, 2:25:55 PM3/29/12
to An An, Exim MTA на русском
выкиньте вы эту дрянь, post-q фильтр г-но по определению.
есть замечательный dlfunc, как штатный так и не менее известного здесь автора.

ну и напоследок - dkim еще более мертворожденная вещь, чем SPF, практического применения мало, тем более что интегрирован он в exim настолько через жо с применением копепасты сорцов малоизвестного науке "полярного пушного SSL", код которого не обновлялся в ветке экзима несмотря на присланный патч в багзиллу б-г знает сколько лет.


Thu, 29 Mar 2012 13:16:39 +0400 от An An <dark...@mail.ru>:

An An

unread,
Mar 30, 2012, 4:12:31 AM3/30/12
to Exim MTA на русском
Ну, с pre-queue тоже не все так просто:

dlopen "/usr/local/lib/kaspersky/kav4lms/libkavexim.so" failed: /usr/local/lib/kaspersky/kav4lms/libkavexim.so: unsupported file layout

То есть опять в руки напильник брать с паяльником. В любом случае, спасибо за совет, буду ковырять.

dawnshade

unread,
Mar 30, 2012, 7:30:37 AM3/30/12
to An An, Exim MTA на русском

экзим и система 64 бит?


Fri, 30 Mar 2012 12:12:31 +0400 от An An <dark...@mail.ru>:

Victor Ustugov

unread,
Mar 30, 2012, 9:45:17 AM3/30/12
to An An
An An wrote:
>
> Exim 4.76 и FreeBSD 8.1 amd64

а если собрать libkavexim.so в /usr/local/src/kav4lms/exim-dlfunc?

единственное, что я бы подложил в
/usr/local/src/kav4lms/exim-dlfunc/exim-lib/exim-headers актуальные
версии этих же файлов из
/usr/ports/mail/exim/work/exim-4.7*/build-FreeBSD-amd64


--
Best wishes Victor Ustugov mailto:vic...@corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC

An An

unread,
Apr 2, 2012, 2:48:28 AM4/2/12
to Exim MTA на русском
Спасибо большое за совет, получилось собрать вручную и все отлично заработало.
Reply all
Reply to author
Forward
0 new messages