Re: [Exim-users] кривое helo

2021-06-19 Пенетрантность Vsevolod Stakhov
On 19/06/2021 14:16, Victor Ustugov wrote:
> Viktor Cheburkin wrote on 19.06.2021 15:27:
> 
>>> rspamd
>>>
>>> интеграцию можно целиком реализовать средствами ${readsocket{}} и
>>> ${extract json{}} без всяких local_scan() и dlfunc.
>>>
>>> протокол там не сложный (по сути просто POST запрос со специфическими
>>> заголовками).
>>> да и если что, Сева подскажет.
>>
>> А зачем так сложно?
>> spamd_address = 127.0.0.1 11333 variant=rspamd
> 
> как минимум в таком случае к rspamd (как и к spamd) не попадают
> заголовки, добавленные и удалённые уже самим exim.

Очень жаль, что Exim не поддерживает milter. Хотя я и не люблю этот
протокол сам по себе, но внутри он устроен так, что повторяет SMTP
сессию, и это позволяет расширять MTA практически без ограничений.

> 
> а мне бывает нужно, чтобы контент сканер учитывал и те заголовки,
> которые добавляет exim в результате каких-то специфических проверок.
> иначе в случае необходимости использования результатов таких проверок в
> каких-то более сложных правилах контент сканера эти проверки придётся
> дублировать на уровне этого самого контент сканера.
> 
> плюс в случае работы с rspamd по HTTP в заголовках HTTP запроса можно
> передать больше данных в явном виде, чем это делается при использовании
> команды CHECK протокола RSPAMC, имитирующего в случае variant=rspamd
> работу команды REPORT протокола SPAMC.

Этот тот кошмар, который я до сих пор поддерживаю в Rspamd только для
Exim. Я все хочу эту поддержку удалить, но есть много людей, у которых
от этого все сломается.

Общение с разработчиками Exim у меня никогда не складывалось, если
честно: вот тот же многострадальный патч XCLIENT недавно прошел
очередную итерацию боли -
https://lists.exim.org/lurker/message/20210222.225345.7c45ac4e.it.html

Тут вообще какие-то черти взяли мой патч (надо бы не забывать в будущем
копирайт и на патчи ставить, видимо) и начали его проталкивать в Exim.
Но не тут-то было:
https://lists.exim.org/lurker/message/20210222.232146.32ddaf6a.it.html
То есть, я не только должен написать патч, протестировать его где-то, но
еще и написать к нему все тесты в их фреймворке и документацию. Если бы
я так принимал патчи в Rspamd, то до сих пор не принял бы ни одного,
кроме тех, что некоторое (короткое) время писал мне один хороший
программист, который был у меня в команде.

Ну а с интеграцией Rspamd я уже неоднократно предлагал написать и
включить в поставку такой протокол и адаптор для Exim, который было бы
удобно в Exim парсить либо внутри кода на C, либо внутри "кода" на
конфигурационном языке. Мое предложение до сих пор действительно, но
лезть больше в код Exim я точно не хочу по многим причинам :)

> 
> у меня так и не дошли руки портировать всё нажитое непосильным трудом за
> долгие годы с spamassassin на rspamd, хотя начинал я такое портирование
> ещё 10 лет назад. отдельно большое спасибо Севе за доработки со стороны
> rspamd, без которых тогда это было бы невозможно.

Это печально - наше тогдашнее общение весьма помогло развитию Rspamd.
Мне, как и тогда, не хватает "полевых" правил (то есть, правил с поля
боя, так сказать), без которых борьба со спамом правилами безнадежно
отстает, собственно, от самого спама, и остается надежда только на DNS
BL/HTTP lists разного рода, хеши от спамтрапов, ну и Bayes для тех, кто
его учит.


___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] кривое helo

2021-06-18 Пенетрантность Vsevolod Stakhov
On 18/06/2021 21:50, Victor Ustugov wrote:
> Alexander Sheiko wrote on 18.06.2021 23:39:
>> 2021-06-18 23:26 GMT+03:00, Victor Ustugov :
>>
>>> кстати, заголовок http запросов Host описан в RFC7230 "HTTP/1.1 Message
>>> Syntax and Routing". т. е. он не является частью протокола HTTP/1.0
>>
>> Тоже об этом было подумал - работает.же, хоть и непривычно набирать
>> так в телнете.
>>
>> Виктор, а что ещё можно полезного дёргать по http(s) и парсить, в
>> плане защиты от спама?
> 
> rspamd
> 
> интеграцию можно целиком реализовать средствами ${readsocket{}} и
> ${extract json{}} без всяких local_scan() и dlfunc.
> 
> протокол там не сложный (по сути просто POST запрос со специфическими
> заголовками).
> да и если что, Сева подскажет.
> 

Недавно спрашивали, как находить домены спамеров с пустой заглавной
страницей. Правило написалось такое:

rspamd_config.EMPTY_LANDING = {
  callback = function(task)
local rspamd_http = require "rspamd_http"
local mime_from = task:get_from('mime')
if mime_from then
  local from_dom = mime_from[1].domain

  local function http_callback(err, code, _, headers)
if not err and headers then
  local cl = headers['content-length']
  if cl and tonumber(cl) and tonumber(cl) == 0 then
task:insert_result('EMPTY_LANDING', 1.0, from_dom)
  end
end
  end
  rspamd_http.request{
headers = {
  ['User-Agent'] = 'Mozilla/5.0 (Android 4.4; Mobile; rv:41.0)
Gecko/41.0 Firefox/41.0',
},
url = string.format('http://%s/', from_dom),
task = task,
method = 'head',
max_size = 128,
timeout = 5,
opaque_body = true,
no_ssl_verify = true,
callback = http_callback
  }
end
  end,
  score = 7.0,
  description = "Empty landing page for the from domain",
}

HTTPS Rspamd тоже поддерживает нативно. Но я не советую делать запросы
ко всем подряд страницам: там может быть слишком много данных, например,
или можно запросто уронить какого-нибудь дохлого отправителя. Поэтому в
этом правиле используется HEAD запрос.

Давно есть мысль сделать что-то вроде "тяжелого дивизиона" правил,
которые применяются, если письмо находится в "серой" зоне, и никак не
понятно, что с ним делать, а риски определенные есть: например,
определенные вложения, javascript, pdf с javascript, подозрительные
ссылки итд.

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] Fwd: [exim-announce] Exim security release ahead

2021-05-04 Пенетрантность Vsevolod Stakhov
On 21/04/2021 22:01, Viktor Cheburkin wrote:
> FYI

https://www.qualys.com/2021/05/04/21nails/21nails.txt

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] Спам от сервисов почтовых рассылок

2021-04-07 Пенетрантность Vsevolod Stakhov
On 07/04/2021 08:01, Vladimir Sharun wrote:
> Привет,
> 
> А с ними надо бороться ? Единичные какие-то рассылки - легче отписаться
> и забыться, потому что на поверку оказывается, что при регистрации на
> сервисе Х мы дали согласие на передачу своих данных их партнёрам. Так
> например меня неск недель назад начал почему-то бомбить письмами
> Nutanix, который контакты получил (неважно как) у организаторов
> конференций по облакам. Это законно.

Это прекрасно попадает под определение "спам" - те письма, на получение
которых пользователи *явно* не подписывались. И таких спамеров можно и
нужно наказывать, плохо, что не все постмастеры так считают.


___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] offtop

2021-01-23 Пенетрантность Vsevolod Stakhov
On 22/01/2021 11:48, l...@lena.kiev.ua wrote:
>> шлю письмо в gmail. Оно ложится в спам
>> Системе Gmail не удалось подтвердить, что это письмо отправлено отсюда:
> 
>> SPF:PASS с IP-адресом 149.72.168.13. Подробнее...
>> DKIM:   'PASS', домен sendgrid.me Подробнее...
>> DMARC:  'FAIL' Подробнее...
>>
>> я в затруднении, а какой может быть fail для dmarc, если spf и dkim пасс?
> 
> Для DMARC домены envelope-from и "From:" должны, упрощенно говоря, 
> совпадать.> В их стандарте называется "align".

Это не совсем так: такое требование нужно только для выполнения DMARC
policy по SPF.

В таком случае домен envelope-from (по которому проверяется SPF) должен
быть "aligned" с доменом mime From. При этом не всегда требуется
совпадение домена - достаточно совпадения effective second level domain
(subdomain.example.com vs example.com). Это зависит от элемента
aspf/adkim в DMARC записи, которые могут быть либо relaxed (поддомены
разрешены - значение по умолчанию), либо strict.

Но DMARC policy может выполняться не только по SPF, но и по DKIM, где
используются те же правила "выравнивания", что и для spf, но только
относительно `d=` в DKIM подписи.

По стандарту DMARC выполняется когда ЛЮБАЯ из проверок DKIM *или* SPF
соответствует двум критериям:

1) Проверка выполнена успешно (например, результат allow в SPF или же
валидная DKIM подпись)
2) Домен этой политики "выровнен" с доменом Mime From в соответствии с
правилами DMARC для этого домена из Mime From.

> 
> И еще: sendgrid не гнушается брать деньги у спамеров
> и заказчиков, у которых логин-пароль украли трояном.
> Фактическая позиция sendgrid сейчас такая: пусть спамят, лишь бы платили.
> В результате репутация у sendgrid сейчас плохая.

Sendgrid относится к тем самым too big to block спамерам. Второй такой
отвратительный спамер - сам gmail и прочие сервисы гугла (например, формы).

>> сам dmarc минималистичен
>>
>> "v=DMARC1; p=quarantine;"
> 
> Вот gmail в карантин и отправиляет.
> 

Отправляет, потому что ни SPF, ни DKIM не "совпадают" с доменом из Mime
From, а DMARC запись у домена есть.


___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] Exim 4.93

2020-02-26 Пенетрантность Vsevolod Stakhov
On 25/02/2020 21:00, Victor Ustugov wrote:
> Max Kostikov wrote on 25.02.2020 22:46:
>> Майнтейнер в курсе. Вчера чатились.
> 
> судя по всему, 4.93.0.4 сегодня в портах появился именно после этого?
> 
> и последние изменения в Makefile порта делал некий fluffy. а до этого
> некий pkubaj.
> уже не Сева Стахов меинтейнер порта?
> 18 февраля ещё он правил Makefile порта, а 22 февраля он всё ещё
> числился меинтейнером порта.
> 

Если честно, мой энтузиазм по поводу Exim'а, мягко говоря, угас уже
довольно давно.

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


___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] Exim 4.92: mime_filename

2019-08-02 Пенетрантность Vsevolod Stakhov
On 30/07/2019 13:42, Mikhail Golub wrote:
> А здесь обработка mime сработала в пользу Exim.
> Почтовый клиент (что Mozilla Thunderbird, что MS Outlook) видит вложение
> без расширения файла.
> 
> Но Exim вложение видит с пользой для меня (т.е. с расширением файла).
> 
> cj4NCjxicj4NCiDQlNC40YDQtdC60YLQvtGAPGJyPg0K0J7Qu9C10LMg0JzQuNGI0LjQvQ==
> --cvQ90ArONFC0PMg7jMZoacpa25ArqYzb
> Content-Type: application/octet-stream; name="о заказе ООО "МР-СТИЛЬ".zip"
> Content-Disposition:attachment; filename="о заказе ООО "МР-СТИЛЬ".zip"
> Content-Transfer-Encoding: base64
> 

Rspamd его видит так же, как и MUA, что я лично считаю правильным. А
реальный content-type определяется по libmagic:
`application/octet-stream ({[name] = о заказе ООО }); application/zip
detected; 5059 len; false is mp; filename о заказе ООО`, что все равно
позволяет применить фильтрацию по zip.



___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] Exim 4.92: mime_filename

2019-07-26 Пенетрантность Vsevolod Stakhov
On 23/07/2019 22:26, Victor Ustugov wrote:
> Mikhail Golub wrote on 23.07.2019 17:08:
>> Лог:
>> 2019-07-23 16:56:49 1hpvHW-0005KQ-6P MIME_filename:
>> 2019-07-23 16:56:49 1hpvHW-0005KQ-6P MIME_filename:
>> 2019-07-23 16:56:49 1hpvHW-0005KQ-6P MIME_filename: о заказ
>> 2019-07-23 16:56:49 1hpvHW-0005KQ-6P MIME_filename:
>>
>> А должно быть "о заказе.zip".
> 
> https://mta.org.ua/exim-4.92-conf/patches/exim-4.92-rfc2231/patch-src__exim-4.92-rfc2231.patch
> 
> 
> пришлось подправить патч под данный пример, т. к. он не работал с
> charset нулевой длины в filename*0*

О как, спасибо! У меня, оказывается, тоже не работал, просто возвращая
`''%d0%be%20%d0%b7%d0%b0%d0%ba%d0%b0%d0%b7%d0%b5.zip`.

Михаил, вы не против, если я этот кусочек с таким rfc2231 encoding у
себя в тесты Rspamd включу?


___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] Exim 4.91 - DMARC

2018-12-26 Пенетрантность Vsevolod Stakhov
On 26/12/2018 10:05, Mikhail Golub wrote:
> 
> 25.12.2018 23:34, Max Kostikov пишет:
>> Всё же искажение содержимого сообщений подписанных DKIM это проблема
>> не стандарта, а списков рассылки (их администраторов).
>> В том же Mailman это решаемо несколькими способами.
>> И теперь в Exim есть поддержка ARC которая и призвана решить эти вопросы.
> 
> А толк от ARC есть?
> Интересует ли корп. сектор?

GSuite/Gmail и Office 365 поддерживают ARC. Мы экспериментировали с
модификацией писем и ARC подписью в транзите с этими сервисами.

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] DKIM

2018-12-05 Пенетрантность Vsevolod Stakhov
On 04/12/2018 13:10, Mikhail Golub wrote:
> 04.12.2018 14:28, Vsevolod Stakhov пишет:
>> On 04/12/2018 08:57, Mikhail Golub wrote:
>>> Т.е. во время приема письма проверка DKIM не пройдена -
>>> bodyhash_mismatch.
>>
>> Если это не simple/simple каноникализация, то это достаточно странно. С
>> relaxed обычно такой чепухи не бывает, а simple использовать вообще
>> нельзя.
>>
> 
> DKIM-Signature: v=1; a=rsa-sha256; d=twoomail.com; s=twoo;
> c=relaxed/simple;
> q=dns/txt; i=@twoomail.com; t=1543879875;
> 
> "Canonicalization: определяет методы канонизации, используемые при
> подписании сообщения. Метод simple не позволяет почти никакого изменения
> сообщения, в то время как relaxed допускает незначительные изменения,
> такие как замена пробелов; При значении relaxed/simple заголовок
> сообщения будут обрабатываться с "непринужденным" алгоритмом а тело
> "простым"."
> 
> Но интересно почему при проверке DKIM в Exim проверка не пройдена, а
> Mozilla Thunderbird пройдена?

Полагаю, из-за line endings в body. Некоторые имплементации алгоритмов
проверки работают с нормализованными line endings, а некоторые - с
"сырыми". Rspamd, например, нормализует все одиночные \r и \n в \r\n.
Как делает реализация Exim, я не в курсе.


___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] DKIM

2018-12-04 Пенетрантность Vsevolod Stakhov
On 04/12/2018 08:57, Mikhail Golub wrote:
> Да, с DKIM все печально.
> 
> Вот пример конкретного письма.
> 
> 2018-12-04 01:52:41 1gTy13-000C3F-7I DKIM-Debug:
> address=nore...@twoomail.com dkim_domain=twoomail.com - bodyhash_mismatch
> 2018-12-04 01:52:41 1gTy13-000C3F-7I DKIM-Debug:
> address=nore...@twoomail.com dkim_domain=@twoomail.com - bodyhash_mismatch
> 2018-12-04 01:52:42 1gTy13-000C3F-7I <= nore...@twoomail.com
> H=mx26.netlogmail.com [77.73.183.10] P=esmtp S=40698
> id=39.61.03247.3CCB50C5@mail04 T="🎉 Намечается вечеринка в Киев и ты
> приглашена!" from  for ...
> 
> Т.е. во время приема письма проверка DKIM не пройдена - bodyhash_mismatch.

Если это не simple/simple каноникализация, то это достаточно странно. С
relaxed обычно такой чепухи не бывает, а simple использовать вообще нельзя.

> Но когда это письмо открываю в Mozilla Thunderbird с плагином
> https://github.com/lieser/dkim_verifier то пишет "Valid (Signed by
> twoomail.com)"

На самом деле ко мне часто приходят люди, желающие добавлять подписи к
mime содержимому писем. Но мне кажется, что единственным разумным
решением данной проблемы было бы использование arc: вначале мы проверяем
подпись до модификаций, потом портим всячески письмо и продолжаем arc
цепочку. Но как это прикрутить к mailman, я не знаю, не разбирался.

Например, письмо, на которое я отвечаю, arc цепочку начало:

ARC-Seal: i=1; a=rsa-sha256; t=1543913869; cv=none; d=zoho.eu; s=zohoarc; b=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.eu;
 s=zohoarc; t=1543913869;
 
h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To:ARC-Authentication-Results;
 bh=KO2wg49FV4NCRKP3W58hfpeyD/HY/uNBs/4ioqIM4d4=; b=
ARC-Authentication-Results: i=1; mx.zoho.eu; dkim=pass  header.i=gmn.org.ua;
 spf=pass  smtp.mailfrom=g...@gmn.org.ua;
 dmarc=pass header.from= header.from=


А mailman листа взял все и запорол, поменяв письмо, но не продолжив arc.
В итоге:

R_DKIM_REJECT(1.00)[gmn.org.ua:s=dkim];
ARC_REJECT(2.00)[signature check failed: fail, {[1] = sig:zoho.eu:reject}];

А если бы mailman научить ходить к тому же Rspamd за подписью, то все
было бы хорошо. Тот же gmail показал бы, что письмо подписано верно.
Впрочем, arc - это вопрос еще и доверия к релею...

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] rspamd

2017-12-21 Пенетрантность Vsevolod Stakhov
On 21.12.2017 12:57, Alexander Titaev wrote:
> Здравствуйте, Exim.
> 
> попробовал rspamd на тесте, все хорошо. Перенес на прод, а в лог валит, со 
> стороны exim
> 
> 2017-12-21 15:34:41 1eS03d-0008IU-H0 spam acl condition: cannot parse spamd 
> output
> 
> со стороны rspamd
> 
> 2017-12-21 15:34:41 #26466(normal) <138e9e>; task; accept_socket: accepted 
> connection from 127.0.0.1 port 39189, task ptr: 7FF6B1788780
> 2017-12-21 15:34:41 #26466(normal) <138e9e>; task; 
> rspamd_worker_error_handler: abnormally closing connection from: 127.0.0.1, 
> error: HTTP parser error: invalid URL
> 
> root@mxs:~# dpkg -l | grep -E 'exim|rspamd'
> hi  exim4-base   4.82-1firehub1   
> amd64support files for all Exim MTA (v4) packages
> hi  exim4-config 4.82-1firehub1   
> all  configuration for the Exim MTA (v4)
> hi  exim4-daemon-heavy   4.82-1firehub1   
> amd64Exim MTA (v4) daemon with extended features, including 
> exiscan-acl
> ii  rspamd   1.6.5-2~trusty   
> amd64Rapid spam filtering system
> root@mxs:~#
> 
> настройки rspamd дефолтовые, то есть те что отдались из
> deb http://rspamd.com/apt-stable/ trusty main
> 
> конфиг exim без затей
> spamd_address = 127.0.0.1 11333 variant=rspamd
> 
> ...
> warn
> hosts = !+relay_from_hosts
> spam= nobody:true/defer_ok
> add_header  = X-Spam_score: $spam_score\n\
> X-Spam_score_int: $spam_score_int\n\
> X-Spam_bar: $spam_bar\n\
> X-Spam_report: $spam_report
> logwrite= X-Content: found SPAM in message from 
> $sender_address, score: $spam_score, spam_action - $spam_action. Accepted.
> 

https://rspamd.com/doc/integration.html#integration-with-exim-mta - до
4.84 включительно, нужен патч.

Еще можно интегрировать через dlfunc:
https://github.com/vstakhov/rspamd/tree/master/contrib/exim/dlfunc-json

Она делает правильные вещи, в отличие от косячной дефолтной интеграции,
по которой я уже устал спорить с разработчиками exim'а, которые лучше
впилят какой-нибудь идиотизм, вроде SMTP Chunked, чем осилят ходить к
Rspamd через http/json интерфейс, как делают все остальные...

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] залипают smtp сесии exim

2017-09-20 Пенетрантность Vsevolod Stakhov
On 20/09/17 11:44, l...@lena.kiev.ua wrote:
>> From: Mstyslav Dubchak
> 
>> в конфиг экзима прописана проверка антивирусом
> 
> Попробуйте его временно отключить.
> Можно использовать вот этот, так сказать, антивирус
> (поправьте путь в первой строке):

Забавно, что Rspamd это все умеет делать сам, из коробки, без вызова
всяких левых системных утилит (правда, 7z пока только в планах на 1.7,
но .zip и .rar прекрасно работают), не распаковывая архивы, а также
умеет по желанию сходить ко всяким антивирусам. Разумеется, с таймаутами
и ретрансмитами.

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] Черный список email адресов в Reply-To и телах писем

2017-08-07 Пенетрантность Vsevolod Stakhov
On 29/06/17 00:39, Vsevolod Stakhov wrote:
> On 28/06/17 23:51, l...@lena.kiev.ua wrote:
>>> From: Vsevolod Stakhov
>>
>>> В Rspamd вообще есть поддержка DNSCurve (https://dnscurve.org/). Но для
>>> этого надо вначале перенести все эти рамблеровские листы к себе и
>>> поставить перед ними прокси для шифрования трафика.
>>
>> Поиском в google я не нашла ни слова от Рамблера об этом черном списке,
>> что уж говорть о переносе.
> 
> Так как Rspamd я начинал писать, работая в Рамблере, то он исторически
> использует некоторые из листов, которые мы там делали. И, надо сказать,
> эти листы довольно полезны для фильтрации спама. А говорить об
> зеркалировании их буду, конечно, я сам - надеюсь, этот вопрос удастся
> разрешить и перейти на хешированные запросы + шифрование транспорта,
> потому что Rspamd уже давно вырос из проекта для одной компании, и
> некоторые вопросы, особенно вопросы безопасности и приватности, пора бы
> уже и решать.

Just in case: зеркалирую теперь данные на свои сервера, а Rspamd ходит к
ним, хешируя как emailbl, так и uribl. Правда, наверное, использовать
это напрямую из Exim не получится, т.к. у себя я беру blake2b, отрезаю
от него 20 байт (160 бит хеша) и кодирую в base32 строку длиной в 32
символа.

В принципе, могу сделать хеши и для exim'а, если это кому-то будет
полезно, - они не будут пересекаться со схемой, которую я использую.

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] Черный список email адресов в Reply-To и телах писем

2017-06-28 Пенетрантность Vsevolod Stakhov
On 28/06/17 23:51, l...@lena.kiev.ua wrote:
>> From: Vsevolod Stakhov
> 
>>> Файл, указанный макросом MLDOMAINS - домены честных mailing lists,
>>> его можно скачать с http://lena.kiev.ua/mailing_list_domains.txt
>>> и дополнить другими известными вам доменами.
>>
>> Это тоже имеет смысл включить в Rspamd, если вы не против.
> 
> Да, пожалуйста.
> 
>>> В смысле что использующие Rspamd с конфигом по умолчанию
>>> или вышеприведенный код
>>> тем самым сообщают Рамблеру нехэшированные email адреса из входящих писем,
>>> что можно рассматривать как нарушение приватности и безопасности.
>>> Я верно понимаю?
>>
>> Ну, хешированными email'ами вы сообщаете ровно столько же информации
>> EBL.
> 
> Если email адреса нет в EBL, то EBL получает hash, а не email адрес
> в открытом виде. В отличие от Рамблера.

Это да, но какую информацию о вас раскрывает этот самый email? Кроме
того, как я уже писал ранее, Rspamd сейчас проверяет только email из
тела письма. Для reply-to лучше без хеширования (а лучше с шифрованием)
этого не делать.

> 
>> Я больше волнуюсь тут за пассивного наблюдателя за DNS трафиком. В
>> случае с хешами есть хотя бы минимальная защита от наблюдения, с
>> открытым текстом нет и этого.
> 
> В случае использования Рамблера (в частности Rspamd по умолчанию)
> в какой бы стране ни находился MTA, ФСБ может получить email адреса
> из всех входящих писем.

Рамблер - это не ФСБ. А если сервис находится не на Луне, то обязательно
найдутся какие-то местные спецслужбы, которые могут иметь некие
основания для получения этой информации.

>> Хотя те же RBL и URIBL страдают той же
>> проблемой.
> 
> Им передаются только домены, а не email адреса целиком.

Домены могут также говорить многое о содержимом письма.

> 
>> В Rspamd вообще есть поддержка DNSCurve (https://dnscurve.org/). Но для
>> этого надо вначале перенести все эти рамблеровские листы к себе и
>> поставить перед ними прокси для шифрования трафика.
> 
> Поиском в google я не нашла ни слова от Рамблера об этом черном списке,
> что уж говорть о переносе.

Так как Rspamd я начинал писать, работая в Рамблере, то он исторически
использует некоторые из листов, которые мы там делали. И, надо сказать,
эти листы довольно полезны для фильтрации спама. А говорить об
зеркалировании их буду, конечно, я сам - надеюсь, этот вопрос удастся
разрешить и перейти на хешированные запросы + шифрование транспорта,
потому что Rspamd уже давно вырос из проекта для одной компании, и
некоторые вопросы, особенно вопросы безопасности и приватности, пора бы
уже и решать.

> 
>> (sha1 хеш -
>> это смешная защита, право слово).
> 
> Вы можете получить неопубликованный email адрес, имея его sha1 hash?

Нет, но можно сделать много другого, учитывая, что число "интересных"
корреспондентов совсем невелико.

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] Черный список email адресов в Reply-To и телах писем

2017-06-28 Пенетрантность Vsevolod Stakhov
On 28/06/17 21:39, l...@lena.kiev.ua wrote:
> Извиняюсь, в коде была ошибка. Исправленный вариант:
> 
>> From: Vsevolod Stakhov
> 
>> RAMBLER_EMAILBL - это аналогичный сервис от Рамблера, также включенный в
>> Rspamd по умолчанию.
> 
> Как использовать и этот черный список от Рамблера, и EBL
> в Exim версии 4.87 или больше:
> 



> 
> Файл, указанный макросом MLDOMAINS - домены честных mailing lists,
> его можно скачать с http://lena.kiev.ua/mailing_list_domains.txt
> и дополнить другими известными вам доменами.

Это тоже имеет смысл включить в Rspamd, если вы не против.

>> такое можно включать только для листов, где адреса хотя бы
>> хешируются (как в EBL).
> 
> В смысле что использующие Rspamd с конфигом по умолчанию
> или вышеприведенный код
> тем самым сообщают Рамблеру нехэшированные email адреса из входящих писем,
> что можно рассматривать как нарушение приватности и безопасности.
> Я верно понимаю?
> 

Ну, хешированными email'ами вы сообщаете ровно столько же информации
EBL. Я больше волнуюсь тут за пассивного наблюдателя за DNS трафиком. В
случае с хешами есть хотя бы минимальная защита от наблюдения, с
открытым текстом нет и этого. Хотя те же RBL и URIBL страдают той же
проблемой.

В Rspamd вообще есть поддержка DNSCurve (https://dnscurve.org/). Но для
этого надо вначале перенести все эти рамблеровские листы к себе и
поставить перед ними прокси для шифрования трафика. С этой мерой защиты
использовать эти списки через DNS будет безопасно с точки зрения
пассивного (и активного) наблюдателей. Но проблема, которую вы озвучили
выше, никуда, разумеется, не девается и не денется - если вы хотите
проверить свои URL/email на некоем внешнем сервисе, то вы либо берете от
него фид данных (но тогда риски несет этот внешний сервис), либо
доверяете этому сервису, защищая лишь транзитный трафик до него. Но
сейчас этого нет вообще ни для одного из подобных сервисов (sha1 хеш -
это смешная защита, право слово).


___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] Черный список email адресов в Reply-To и телах писем

2017-06-28 Пенетрантность Vsevolod Stakhov
On 28/06/17 16:26, l...@lena.kiev.ua wrote:
> Описание черного списка EBL: http://msbl.org/ebl-purpose.htm
> Я его тестировала с октября 2016, сегодня его объявили в публичное 
> тестирование:
> https://spammers.dontlike.us/mailman/private/list/2017-June/010493.html
> 
>> The Email Blocklist has entered Beta 2, and is now open for testing by
>> the public. If you have not tried the list out, please do so. We would
>> love to receive your feedback, and think you will like seeing less 419
>> Advance Fee Fraud and some other types of spam in your inboxes.
>>
>> You can find information, instructions, and tools on the website:
>> http://msbl.org/ebl-implementation.html
> 
> Так использовать EBL в конфиге Exim (версии 4.87 или больше):
> https://github.com/Exim/exim/wiki/EBL

Тестировали его в Rambler с Rspamd на тестовой машинке некоторое время
назад. Вот результаты:

EBL   avg. weight 0.000, hits 130(0.107%):
  Ham3.846%,  5/98377  (  0.005%)
  Spam  77.692%,101/7090   (  1.425%)
  Junk  18.462%, 24/15745  (  0.152%)
Correlations report:
Probability of EBL when RAMBLER_EMAILBL fires: 0.854

RAMBLER_EMAILBL   avg. weight 7.898, hits 178(0.147%):
  Ham7.303%, 13/98377  (  0.013%)
  Spam  60.112%,107/7090   (  1.509%)
  Junk  32.584%, 58/15745  (  0.368%)

Correlations report:
Probability of RAMBLER_EMAILBL when EBL fires: 0.624


=== Summary

Messages scanned: 121212 [ Apr 12 10:40:10 / Apr 12 16:41:41 ]

RAMBLER_EMAILBL - это аналогичный сервис от Рамблера, также включенный в
Rspamd по умолчанию. Да, Reply-To Rspamd не проверяет - только адреса в
теле письма. Но я, наверное, это добавлю - звучит разумно. Другое дело,
что такое можно включать только для листов, где адреса хотя бы
хешируются (как в EBL).

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] rspamd and exim 4.89 on freebsd

2017-05-11 Пенетрантность Vsevolod Stakhov
On 11/05/17 11:18, Alexandr Krivulya wrote:
> 11.05.2017 12:55, Yuriy B. Borysov пишет:
>> Здравствуйте!
>>
>> Подскажите, текущий (4.89) exim во фрёвых портах всё ещё требует патча
>> для использование совместно с rspamd?
>>
>> Спасибо!
>>
> Добрый день!
> 
> Нет, поддержка из коробки

Ну, поддержка там весьма условная - используется старый протокол, а,
значит, ни DKIM подписей, ни толкового грейлистинга, ни MTA message и ни
управления через rmilter_headers. Как ни странно, это есть во всех MTA,
даже в CGP, а вот в Exim нет, и никому особо нет до этого дела. Я с
авторами Exim'а общаться устал - они не очень конструктивны.


___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] DKIM + transport_filter

2016-06-07 Пенетрантность Vsevolod Stakhov
On 06/06/2016 13:58, Vladimir Sharun wrote:
> Всем привет :)
> 
>> ‎Не, ну хэш то подогнать наверняка можно, тут нет сомнений. Типа
>> получаем и сохраняем - расшифровываем - меняем тело - подгоняем хэш
>> - отправляем дальше. Переподписывать не надо.
> 
> При использовании sha2 это уже существенная энергетическая и
> временная проблема. Редукция входящих данных не позволит сделать это
> (подбор) быстрым.

К sha2 нет известных атак - это раз. К sha1 есть extending attack, но в
этом случае можно использовать `l=` у dkim (за который я бы поддал смолы
в тот котел, где будут сидеть авторы DKIM).

Relaxed encoding позволяет некоторые манипуляции с пробелами (еще пара
ведер смолы!).

Все остальное, включая попытки изменить сам dkim заголовок, заранее
обречено на провал - к RSA до квантового канпутера практических атак
пока не существует.

Другое дело, что из-за хранения ключей в DNS и упорного нежелания
переходить на тот же ed25519 приходится делать максимум RSA 1024 и
ротировать селекторы с достаточной частотой, что очень сложно для
рядового постмастера.

-- 
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] dmarc

2016-06-02 Пенетрантность Vsevolod Stakhov
Я реализовывал и spf, и dkim, и dmarc. И тут я придерживаюсь мнения Дана
Бернштейна: "если ваш стандарт чрезмерно сложен и запутан для
имплементации, то ваш стандарт говно". SPF, DKIM и DMARC - говно с моей
точки зрения, которое, к тому же, не решает практически никаких реальных
задач. И недавняя тактика спамеров использовать полностью
соответствующие стандартам сервера это как раз показывает.

On 31/05/2016 12:24, Max Kostikov wrote:
> А я вот не понял ваш гнев по поводу поддоменов.
> Не прописано sp= - используется политика для домена, прописано -
> используется
> своя.
> Т.е. ничто вам не мешает прописать для exapmle.com
> 
> _dmarc.example.com TXT v=DMARC1;p=reject; sp=none; rua=...
> 
> а для sub.example.com уже, допустим
> 
> _dmarc.sub.example.com TXT v=DMARC1; p=quaratine; rua=...
> 
> что обеспечит применение различных политик.
> 
> Vsevolod Stakhov писал 2016-05-30 14:19:
>> Дополнительный момент: dmarc проверки делаются для TLD доменов.
>> Например, у нас есть такое:
>>
>> From: 
>>
>> А проверяться должно все также _dmarc.other.com. А вот для
>>
>> From: 
>>
>> проверяется _dmarc.other.co.uk.
>>
>> Все это сделано, потому что у dmarc есть отдельное место в аду^W^W^W
>> определение политики поддоменов.
> 


-- 
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] dmarc

2016-05-30 Пенетрантность Vsevolod Stakhov
On 28/05/2016 16:21, Alexander Titaev wrote:
> Здравствуйте, Exim.
> 
> Гайзы,  а  в  случае  различного  email на уровне mail from: и From: в
> хидерах spf/dkim/dmarc кого должен касаться? Я все время думал что это
> только про mail from. Но тут столкунлся с mailru. В какое rfc мне их 
> натыкать?  
> 

SPF использует для определения домена mail from, если mail from
отсутствует (например, в баунсе), то используется домен из helo/ehlo.

DKIM вообще не имеет право использовать что-либо из smtp диалога - все
кодируется в dkim хедере.

DMARC для определения dmarc домена использует *заголовок* From письма.

Примеры:
mail from: 

From: 


Проверка SPF будет делаться для example.com, а dmarc - для _dmarc.other.com

Дополнительный момент: dmarc проверки делаются для TLD доменов.
Например, у нас есть такое:

From: 

А проверяться должно все также _dmarc.other.com. А вот для

From: 

проверяется _dmarc.other.co.uk.

Все это сделано, потому что у dmarc есть отдельное место в аду^W^W^W
определение политики поддоменов.

-- 
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] spf

2016-05-12 Пенетрантность Vsevolod Stakhov
On 12/05/2016 15:49, George L. Yermulnik wrote:
> Hello!
> 
> On Thu, 12 May 2016 at 17:37:53 (+0300), Vasiliy P. Melnik wrote:
> 
>> Всем привет, я знаю, что не про экзим, но куда ж еще написать
> 
>> Так можно писать? а то не нашел вразумительного ответа, что нельзя.
> 
>> v=spf1 ip4:109.237.90.4 redirect=_spf.google.com
> 
> Если я всё правильно понимаю, то redirect полностью заменяет spf-запись
> домена 1 на spf-запись домена 2. А include - дополняет. Так что я бы в
> описанном случае использовал include, а не redirect.
> 
>> P.S. у меня почта на gmail-е
> 

Вообще, это не так. В rspamd я тоже так считал, но оказалось, что
openspf.org лжет по поводу этой конкретной записи. Там как раз написано,
что redirect заменяет собой запись, но это не так:

https://tools.ietf.org/html/rfc7208#section-6.1

Если это перевести с языка rfc на русский, то звучит это так: при
redirect мы просто берем остаток spf записи из той записи, что
определена в редиректе. И важное замечание: именно остаток. То есть,

v=spf1 ip4:XXX mx a include:_spf.example.com redirect=_spf.other.com

должна включить ip4, mx, include, и только потом "добить" запись из
_spf.other.com.

Основные отличия include от redirect:

1) include может быть несколько;
2) all политики include не влияют на конечный результат

Redirect же применяет all политики из заданной записи, а также должен
быть последним элементом в текущей spf записи (это, впрочем, часто
игнорируется альтернативно мыслящими постмастерами).

-- 
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] 4.86_2: Suggested action: use keep_environment and add_environment

2016-03-03 Пенетрантность Vsevolod Stakhov
On 03/03/2016 08:12, Golub Mikhail wrote:
> Доброе утро.
> 
> Обновил на тестовом хосте Exim до 4.86_2.
> В логе появились записи:
> 2016-03-03 09:57:16 WARNING: purging the environment.
>  Suggested action: use keep_environment and add_environment.
> 
> Google не находит ничего внятного.
> Кто-то обновлялся?
> 
> 

% cat pkg-message
IMPORTANT NOTE:
===

All installations having Exim set-uid root and using 'perl_startup' are
vulnerable to a local privilege escalation. Any user who can start an
instance of Exim (and this is normally *any* user) can gain root
privileges. If you do not use 'perl_startup' you *should* be safe.

New options
---

We had to introduce two new configuration options:

keep_environment =
add_environment =

Both options are empty per default. That is, Exim cleans the complete
environment on startup. This affects Exim itself and any subprocesses,
as transports, that may call other programs via some alias mechanisms,
as routers (queryprogram), lookups, and so on. This may affect used
libraries (e.g. LDAP).

** THIS MAY BREAK your existing installation **

New behaviour
-

Now Exim changes it's working directory to / right after startup,
even before reading it's configuration. (Later Exim changes it's working
directory to $spool_directory, as usual.)

Exim only accepts an absolute configuration file path now, when using
the -C option.

И более полное сообщение от авторов exim'а:

https://lists.exim.org/lurker/message/20160302.191005.a72d8433.en.html

-- 
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] OT: антиспам - коммерческие решения

2015-12-13 Пенетрантность Vsevolod Stakhov
On 13/12/2015 22:13, Vyacheslav wrote:
> 
> 2015-12-13 23:47, Vsevolod Stakhov написав:
>> On 13/12/2015 21:36, Vyacheslav wrote:
>>>
>>> пробовал еще rspamd (нравится тем, что легче обучается чем
>>> spamassassin), но было много ложных срабатываний - пришлось
>>> отказаться
>>
>> Крайне интересно узнать две вещи: относительно какой версии rspamd был
>> получен такой негативный опыт и какие правила в основном давали такой
>> эффект?
>>
>> Я интересуюсь именно этими вещами, потому что за последний год я могу
>> сказать, что rspamd стал системой совершенно другого уровня, чем он
>> был до этого. В том числе, я достаточно приоритетно боролся с false
>> positives.
> 
> Ну во первых, хочу сказать вам, все же, огромное спасибо за rspamd,
> все же довольно не плохая альтернатива spamd :)
> для себя его и использую.
> 
> Я его использую гдето с версии 0.5, и, как админ, хотелось бы попросить
> как то определится с форматом конфигов, а то каждый апдейт превращается
> в совсем не тривиальную задачу.

Ну, это все были болезни роста, сейчас я стараюсь сохранять обратную
совместимость как можно дольше (или хотя бы описывать внятный порядок
апдейта в https://rspamd.com/doc/migration.html). Более того, для
упрощения апгрейдов можно помещать свои правила и настройки в локальные
файлы:

- rspamd.conf.local - для *добавления* новых настроек
- rspamd.conf.override - для *переопределения* существующих настроек
- rspamd.local.lua - для локальных правил на lua

> так же, еще хотелось бы, чтобы rspamc через пайп мог принимать пачку
> писем на обучение а не одно.

Гм, а чем не устраивает вариант с formail -s? В принципе, в версии 1.2 я
буду уходить от gmime парсера, и тогда это можно будет сделать.

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

Проблема в том, что 0.9.8 - это довольно старая версия, в которой есть
много проблем. Текущую версию - 1.1 - я планирую выпустить в релиз
где-то после январских праздников, но даже сейчас она более стабильна и
функциональна, чем 0.9.8 (тестируется на реальных и весьма серьезных
нагрузках). Для centos/fedora/ubuntu/suse/debian линуксов есть готовые
пакеты как стабильной, так и экспериментальных веток. Ну и основные
правила, генерирующие FP (например, hfilter, phishing, parts_differ и
прочие), я чинил не так давно.

> Я поищу письма и уже в личку отпишусь.

Возможно, раздумывающим о переходе будет также полезна моя недавняя
презентация с конференции highload-2015:
https://rspamd.com/rspamd-highload.pdf

Еще есть небольшой обзор, который мне прислал один из пользователей
rspamd (о миграции с dspam): https://highsecure.ru/antispam.pdf. Правда,
эта презентация больше специфична для postfix.

Ну и в версии 1.1 я планирую довольно много оптимизаций (например,
ускорение правил на регулярных выражениях компиляцией их в intel
hyperscan) так и новых фич (например, более полной поддержкой правил
spamassassin).

Мой интерес, конечно, в получении фидбека от пользователей для улучшения
качества rspamd, чтобы он был "беспроблемным", но при этом оставался бы
бесплатным.

-- 
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] OT: антиспам - коммерческие решения

2015-12-13 Пенетрантность Vsevolod Stakhov
On 13/12/2015 21:36, Vyacheslav wrote:
> 
> пробовал еще rspamd (нравится тем, что легче обучается чем 
> spamassassin), но было много ложных срабатываний - пришлось 
> отказаться

Крайне интересно узнать две вещи: относительно какой версии rspamd был
получен такой негативный опыт и какие правила в основном давали такой
эффект?

Я интересуюсь именно этими вещами, потому что за последний год я могу
сказать, что rspamd стал системой совершенно другого уровня, чем он
был до этого. В том числе, я достаточно приоритетно боролся с false
positives.

-- 
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] OT: антиспам - коммерческие решения

2015-12-13 Пенетрантность Vsevolod Stakhov
On 13/12/2015 15:08, Vyacheslav Biruk wrote:
> Здравствуйте,
> 
> возвращаясь к теме
> https://groups.google.com/forum/#!searchin/exim-rusers/антиспам/exim-rusers/8HTbGIQj9uI/tr-w85OLi4sJ
> 
> а не подскажите, плиз, какие на сегодняшний день есть вменяемые
> коммерчиские антиспам (да и антивирусные) продукты, которые работают на
> freebsd (на крайний случай - на linux), и с которыми можно подружить
> exim?

А коммерческий - принципиальный момент?

-- 
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] signal 11

2015-08-25 Пенетрантность Vsevolod Stakhov
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 25/08/2015 17:06, Victor Ustugov wrote:
> Golub Mikhail wrote:
>> Доброго времени суток.
>> 
>> С патчем в течении для проблем небыло.
> 
> Сева, может тогда этот патч хотя бы опционально в порт добавить?

Добавлю. Я ждал отчета о тестировании.

- -- 
Vsevolod Stakhov
-BEGIN PGP SIGNATURE-

iQIcBAEBCAAGBQJV3Ka2AAoJEAdke2eQCBQ3/UUQAMo4nD4sTTYuqpZiva+WcfsD
DNVVjgHgmEFLoHDkc6k4036s77t7ataN5iYK1Ibp5WeEtbAhEFSx6pRXnsKWtcjA
0lvnnp74E015OFvi4YLVPbfzE+vPWsIJD7wqnO0MGA6GbJb+ItAZLzz1cngvrQ94
Z1xzu6RcsgJADSz59xsZ/XSxbY+5MyM/24JFyhC167AbmVfJRa2m3SC2/OwiE/5y
KsmGkv+W3JaQ2UxGYWttpBfoRrYlDmAvkBCClE8pXC+dXLNyuUJ/p54YPcECAI9U
woqxh+9YPbPPWg6MP0jAIf7QHb+Rec34aPvF+d0dCXDPShrpmTVbNnzsgqG+smVV
5pUZ2YRjz4w8VfYU+1I5DMRSonOt8Ax4rkhGpmvVLPI5z5VlFXlUtsQ4eN/HJeil
Pmq9aps7WsjtlTtXqbkHSQFxoglukEfDjG0zfXgTuSRYPwodRolHDulP2rNpap0W
HyAGvQghWP/Usk7k+mjz7vJuPO0z0qVuQ29vgtzavllvOtuAeGzvp1x5L12iisbF
FpvO2datN6WUCCAFrilKq4E5IbKtFwN5nW2Gf0+HVUAvoHuDI9s41EiB+0Keqj6M
CZmn7FeYE31LVdfy/XFIAHiRX1Q0qd7hZFXy5l9CT3H95ZQOJ65Wzl9IYCstNmEE
7mgRgvnuEna0MQK4IHDs
=MmAQ
-END PGP SIGNATURE-

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] signal 11

2015-08-25 Пенетрантность Vsevolod Stakhov
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 25/08/2015 17:06, Victor Ustugov wrote:
> Golub Mikhail wrote:
>> ??? ??? ?.
>> 
>> ? ?? ? ??? ??? ??? ??.
> 
> , ? ?    ?? ??? ?  ?
> 

???. ?  ?? ? ????.

- -- 
Vsevolod Stakhov
-BEGIN PGP SIGNATURE-

iQIcBAEBCAAGBQJV3KZ5AAoJEAdke2eQCBQ3Y3oP+wTOggU31zYQFtiGepnjZsSi
boDGNINJxGGaXtRZAbnHlk25DOQGNPNzVEsHf/c3uVvKc5V6XsWwvMUYwagKartp
ZQ45D7tHhvXRjLoUoj6WFWLhrt2jls/Kgc1HjGOiIX2KzWfCc3U+wxgCX7OljEOp
iGjnTN3BoCYQupJy4SRhWvONQ+EByCNljRwaTeC2AU/kcivRKCyXxP+Xs7v90Sy7
PMB4kjv68UyegrawoNSE5ikekXOUxMKB/B1fNValTdCWF538Ef+7k/Z0pO8y4JOW
XCj5pMtZll4It+DRYNDRFtPqNfroygC3zBgnUv99Uq/qfQr4eTwH1ceP+7XR5fd6
oQI9owaSTxCZtpXbs416d8eSc8/igNCqfrOPV9xahkjzbvkwZ0xceP6zJ7ewAv6i
bUiUN3Et0teLff3MsaKFZI3S/1nWUoxwpg1QdPsvs0JGDD1RqoXKXLfj51lp/IIy
88RCfBydI8zWKRTzf8MYOJL2GDs4xbAD2zBsZp0Wb0PRIsg/Sj/xjrptO4GTCl3k
oryhRz5Ay6EcPc9ovQ7h0tKhto1K6fbtxtid5rX7j6VQOlp6ggME3nzl0HxxCsTB
8KJocu2hyMhl26Aup5D0C5uwCvJPULulpMtGpLEEN6ssBtB0r0OAzR+ZBgnIro2o
lsdu8SLmEgTl5QboHYd5
=Yi08
-END PGP SIGNATURE-

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] signal 11

2015-08-21 Пенетрантность Vsevolod Stakhov
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 21/08/2015 13:06, Golub Mikhail wrote:
> ???.
> 
> Core was generated by `exim'.
> 
>  ? ?? 4.85 - ??? ???  ??? ...
> 

http://git.exim.org/exim.git/patch/dadff1d47e54962b0fdf98e8ce5cef42b6cb7fb5

- -- 
Vsevolod Stakhov
-BEGIN PGP SIGNATURE-

iQIcBAEBCAAGBQJV1zAEAAoJEAdke2eQCBQ3udUQAL/g3DcaaW9LIvlF7wwEHRTO
W0uX+bCKPRsQb0UmsqIYoJ1fr2xcZfBPRlZyjC3K2W+ktnMagQ2tAVewmMHtns5g
KEL3uq/EXkOtFHRVkj3aDWOtFRiWzZd1wbJ/M9RcKgU9kkZNV4mJicijOkgiOcpT
B15wOoWxIImEaMWcNEEgycI/HYXhEFxRqhabcShXmuALxO0L1KQgYUcSWAh/IOGq
sXg8X1UC/9QgZ5YEMn8uhvfoHd9ZQsk0Uym/Imu3jRhp6UIWy86xyXC9m2F6MK2y
IWyHi3CjaooRsDzYH/eDx7S+8na5QTrZbdbblML2zTDiWf9GD1pzmwlQ1QkEKTmA
S1KvIdAXfz/xbj+xRdwHn/ziz2oeFaMpZbw9KG7rwYSRqWl40Wo4xJBomTz/Hxk6
Ns89mE3V8ioFDOjzNvEQx/WlThrxGWJz9S13e7r8eU941rCkubiY4PS6lesL8Brp
ZN4FbCzHHJ8FTWCj+dHdt4AcrSUJjFBY1kfuzWQrtJnIvDZU9iIoOmrS82zpf6Tn
wErli0mb155FffPm5AhGwcbOqFJaKpvnZSty7FfjFZzfu4A6idcOhqYOlxxXKDEa
JCcx3agWKL1W22qDd0Ft3eeWMLo4cgT/x6mu3lMxeYEJJLYvQ3/VcSlVra4KUEzE
1tLuc8z3GnuDhjUBU4hm
=FhPl
-END PGP SIGNATURE-

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] signal 11

2015-08-20 Пенетрантность Vsevolod Stakhov
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 20/08/2015 19:04, Alexander Sheiko wrote:
> Hello Vsevolod,
> 
> Thursday, August 20, 2015, 4:25:49 PM, you wrote:
> 
> VS> Возможно, следует добавить следующие две вещи в порт
> mail/exim:
> 
> VS> 1) зависимость от openssl должна быть жестко от openssl port, а
> не от VS> openssl base
> 
> Так  делать  нельзя,  пользователь должен сам выбирать с каким SSL
> собирать: из базы,  OpenSSL,  LibreSSL  (если  поддерживает  нужные
> функции) и т.д.
> 
> См. ports/Mk/bsd.openssl.mk
> 

Как разработчик портов и пакетов, я считаю bsd.openssl.mk одним из
самых ужасных кусков говнокода во всей MK системе. Особенно радует его
несовместимость с bsd.port.post/pre.mk.

Да, пользователю надо давать возможность выбора SSL библиотеки:
openssl, libressl, boringssl. Но openssl в базе быть НЕ должно.

- -- 
Vsevolod Stakhov
-BEGIN PGP SIGNATURE-

iQIcBAEBCAAGBQJV1k/WAAoJEAdke2eQCBQ3fdIP/jQw34KmJHsWHlFmFUDJr5Pi
t+aZjtVw8HueNmp/p599kTnGFeYApO6WGY9xL11PvV3IxUUQCL1lfBHmh6LUHfP1
c2B2i52h6HHs7UrMltyuGylS4v4SdALLr9RZx8Q0C2CQZaw0adlCJi5uYLuTzvf3
qcck6lMH8jIn8mNKo5IOCsHtKmZqmwYXgAjF39jwghL/HaRPbU60U2JAOH9iIezV
pYPohiajwrBTuoFbPHMzwyUOZycRg3XVefHghFpM7XEVFFwH5IN6EyVD7mPx7i6n
7atKqMDGHNuIsl99wIxBVb33dzNiphf9Huv9p95KEQ/VMI3ImsUJ5EM0GAUHQ84W
YsldakeYv2VE82Y3LjeXueXAJUhPHsNzIZVRJiDf279dgooaJkLl2oilUTQ1vBoQ
M+wSCsLD/AmKFtvWURfL8B3Mk4odhnfu59ltIVHzsmw1yez3LB0szS9wUfLOQ343
KUD8LQbqIrujn2/1N2u2PZskgefNnQwlZB7d2AzvIsPA84HLIQ9YGqTb2ofeLh4p
DAMJv9hpuCqRjyZ6YoqL4/N8YkReWrFq1HoBt58zbupKwCyZzXI+bWVw40iJsr3c
kmWQEALiwmSC93Ahefzt4Gv32TH8LMwREnZZ8jxaYr3xkN7gDID0R5Lq1+2CulK1
1kupvqJClRoMBxckERXO
=drk1
-END PGP SIGNATURE-

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] Exim 4.86, SSL verify error

2015-08-20 Пенетрантность Vsevolod Stakhov
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 20/08/2015 15:08, Victor Ustugov wrote:
> Vsevolod Stakhov wrote:
>> On 20/08/2015 14:12, l...@lena.kiev.ua wrote:
>>>> дампов и корок нет. выб поглядели ту кору, где оно падает,
>>>> этож не сложно
>> 
>>> По умолчанию при крэше exim не сохраняется coredump. Недавно в 
>>> англоязычной exim-users были жалобы на signal 11: 
>>> https://lists.exim.org/lurker/message/20150816.204206.150bc9eb.en.html
>>
>>
>>
>>> 
https://lists.exim.org/lurker/message/20150817.194612.40c782a6.en.html
>> 
>>>> Переходил ли кто  на 4.86?
>> 
>>> 3 недели назад, signal 11 в mainlog нет, но трафик маленький. 
>>> FreeBSD 6 i386.
>> 
>>> А сообщения об ошибках certificate verification в логе мне не 
>>> мешают. Это только предупреждения, письма проходят нормально.
>>> В FreeBSD если exim использует openssl, то количество таких 
>>> сообщений можно уменьшить, установив порт ca_root_nss (если
>>> openssl не из портов, а из base, то make config поставить
>>> галочку "add symlink to /etc/ssl/cert.pem").
>> 
>> Возможно, следует добавить следующие две вещи в порт mail/exim:
>> 
>> 1) зависимость от openssl должна быть жестко от openssl port, а
>> не от openssl base
> 
> Сева, а может лучше дать возможность выбора использования OpenSSL
> из порта или из базовой системы.

Я считаю данную возможность, как и наличие openssl в базе - огромной
ошибкой, из-за которой мы имеем огромное количество дырявых систем,
которые не были бы дырявыми в случае openssl из портов/пакетов. Тут
надежда только на pkg для base и на более вменяемую политику security
updates.

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

Учитывая 0day статус всех этих уязвимостей а также тот факт, что новые
дыры вносятся тоже постоянно, единственный вариант - это quaterly
branches пакетов и немедленная реакция security officers на все
найденные проблемы.

> но может у кого-то будут объективные причины использовать базовый
> OpenSSL. а если exim по зависимостям потянет и портовый OpenSSL, то
> куча остальных портов при сборке будут использовать именно его.

Никаких *объективных* причин на это нет. К счастью, наши re@ и
остальное коммьюнити уже согласны с этой точкой зрения (по поводу
выноса openssl из base).

>> 2) при включении зависимости от openssl включать зависимость от 
>> ca_root_nss
> 
> а вот это хорошая идея. галка "Add symlink to /etc/ssl/cert.pem"
> вроде там по дефолту стоит. так что в этом случае предупреждений о
> валидных сертификатах уже не будет в логах.
> 
> но даже у крупных почтовых систем, даже при использовании
> сертификатов, заверенных центрами сертификации, могут быть
> предупреждения в логах.

Но имя должно проверяться через DANE! Проверка сертификата через
trusted CA - это всего лишь костыль для тех, у кого сломан DNSSEC.

> на примере домена narod.ru
> 
> # host -t mx narod.ru narod.ru mail is handled by 10
> mx2.yandex.ru. narod.ru mail is handled by 10 mx1.yandex.ru. 
> narod.ru mail is handled by 10 mx3.yandex.ru.
> 
> 
> смотрим Common Name сертификата на mx1.yandex.ru:
> 
> 
> # true | openssl s_client -connect mx1.yandex.ru:25 -servername 
> mx1.yandex.ru -starttls smtp 2>/dev/null | openssl x509 -noout
> -subject
> 
> subject= /C=RU/O=Yandex LLC/OU=ITO/L=Moscow/ST=Russian 
> Federation/CN=mx.yandex.ru/emailAddress=p...@yandex-team.ru
> 
> 
> а в CN указан не mx1.yandex.ru, а mx.yandex.ru
> 
> смотрим синонимы:
> 
> 
> # true | openssl s_client -connect mx1.yandex.ru:25 -servername 
> mx1.yandex.ru -starttls smtp 2>/dev/null | openssl x509 -noout
> -text | grep -A 1 'Subject Alternative Name'
> 
> X509v3 Subject Alternative Name: DNS:mx.yandex.ru,
> DNS:mx.yandex.net
> 
> 
> тут есть mx.yandex.ru, mx.yandex.net, но нет mx1.yandex.ru
> 
> 
> соответственно, в логах exim'а будут предупреждения о
> несоответствии имени хоста MX'а и CN/Alternative Name сертификата:
> "SSL verify error: certificate name mismatch".
> 
> 
> у rambler.ru тоже самое - на основном MX'е imx1.rambler.ru
> используется сертификат, выписанный для mail.rambler.ru:
> 
> 
> # true | openssl s_client -connect imx1.rambler.ru:25 -servername 
> imx1.rambler.ru -starttls smtp 2>/dev/null | openssl x509 -noout
> -subject
> 
> subject= /C=RU/ST=Moscow/L=Moscow/O=Rambler Internet Holdings, 
> LLC/CN=mail.rambler.ru
> 
> 
> список синонимов там выше крыши, но imx1.rambler.ru среди них нет:
> 
> 
> # true | openssl s_client -connect mail.rambler.ru:25 -servername 
> mail.ramble

Re: [Exim-users] signal 11

2015-08-20 Пенетрантность Vsevolod Stakhov
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 20/08/2015 14:12, l...@lena.kiev.ua wrote:
>> дампов и корок нет. выб поглядели ту кору, где оно падает, этож
>> не сложно
> 
> По умолчанию при крэше exim не сохраняется coredump. Недавно в
> англоязычной exim-users были жалобы на signal 11: 
> https://lists.exim.org/lurker/message/20150816.204206.150bc9eb.en.html
>
> 
https://lists.exim.org/lurker/message/20150817.194612.40c782a6.en.html
> 
>> Переходил ли кто  на 4.86?
> 
> 3 недели назад, signal 11 в mainlog нет, но трафик маленький.
> FreeBSD 6 i386.
> 
> А сообщения об ошибках certificate verification в логе мне не
> мешают. Это только предупреждения, письма проходят нормально. В
> FreeBSD если exim использует openssl, то количество таких
> сообщений можно уменьшить, установив порт ca_root_nss (если openssl
> не из портов, а из base, то make config поставить галочку "add
> symlink to /etc/ssl/cert.pem").

Возможно, следует добавить следующие две вещи в порт mail/exim:

1) зависимость от openssl должна быть жестко от openssl port, а не от
openssl base
2) при включении зависимости от openssl включать зависимость от
ca_root_nss

Патч для исправления SIGSEGV я включу, как только будет вкоммичено
решение для bug 1671 [1]

[1]: https://bugs.exim.org/show_bug.cgi?id=1671

- -- 
Vsevolod Stakhov
-BEGIN PGP SIGNATURE-

iQIcBAEBCAAGBQJV1dVcAAoJEAdke2eQCBQ3CcwP/3lQRfs++Z9Gjbrq0dwx+F26
fy6YO4kYT5zW8vwJd4h1OaMYvHdZGuVl2a9O0xRvZYOG15iqj5sBiArHenq/AInL
oisf6TxeGK6p4gubfAcq6PaaU7yi3zI4UkzcQlgzADNLFloALgbCeK5cO7xQzo0e
2HRAAjJpvPqX9JcnJ44+lCHE4Z5WF5kjH+TZVehvIAN5KWA9wHBe0ydAFJOTZedB
McUb/1nNohfLkcVUpxnldMeTdTRJG1BIxTQP0lXaY/O6vg3EFIOFnrYxt9GtT3Qt
yUKE9e8gBMfJXspC1koXbjy/cCeGgUj0LiIX128pI78P/IIckURMoJKl0l6zzdoi
tOSXVlouIA2/Bn90Ssbqy7TN82ASp6qI3n5YXmWmui4IBw8TSkWqBKdHzwFZjGZI
ET9/LqkiDvHh/jcyYB+ySUNkFDTE8myvxddQc4HmjM96wXdhU+t1nRjHyFBTynWn
WC/3y0nwjp4tb4B79Yj2akpLayJk9Ok0QrLG2pY4woeaX6cbhmUPDDTkXjkrem+l
Woz0lBjfH1OYwSfnDErRRpvoo47JvOYXUkIhgDUtom/Cm/GCZj3swZADE8dcDVn6
DKEL0LcPgHAOFCzPPF5n4UhxwsW5VDlytgUnmsg/l1o+21D88PLEV52utd0lmM81
lF/m+OfytrZ5lZqXMlBr
=LLqW
-END PGP SIGNATURE-

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] iconv

2014-07-05 Пенетрантность Vsevolod Stakhov
On 05/07/14 09:59, Victor Ustugov wrote:
> приветствую
> 
> Vsevolod Stakhov wrote:
> 
>>>> > во фре в 10-тке иконв нативный. Если какое-то приложение нативный не
>>>> > устраивает - в систему устанавливается iconv из портов. А экзиму не
>>>> > нравиться два иконва в системе
>>>>
>>>>
>>>> Так это не бага - это фича :) 
>>
>> Это именно что старый костыль, который не убрали по причинам мне непонятным.
>>
>>>> Точнее какой-то костыль, да чего-то не
>>>> понятно сколько он там будет. Видать не собирается с двумя разными
>>>> хидерами. Ну и ко всему уже вышел 4.82.1 - а в портах все еще 4.82. Так
>>>> что ждем-с.
>>>
>>> 4.82.1, на сколько я помню, выпустили с исправления бага в реализации DMARC.
>>>
>>> а из портов FreeBSD exim штатно не собирался с поддержкой DMARC. в том
>>> смысле что в Makefile порта нет механизма указания значения для
>>> EXPERIMENTAL_DMARC - нужно самому патчик рисовать для правки Local/Makefile.
>>
>> Local/Makefile и так довольно неслабо патчится портом. Добавить туда
>> DMARC не особая проблема.
> 
> так для некоторых вещей так и делаем. кому что надо по мелочам, не
> предусмотренного при сборке порта, правим src/EDITME патчиками мелкими.

Ну, по этому поводу я как раз и серьезно наехал на экс-мейнтейнера: он
вместо того, чтобы обновить порт, просто убрал соответствующую запись из
vulnxml, аргументируя, что порт у нас не умел собираться с DMARC, а на
людей, которые что-то руками патчат, насрать.

>>> видимо меинтейнер порта и решил не заморачиваться.
>>>
>>> ибо 4.82.1 вышел уже не два дня назад и не три. письмо от Todd Lyons
>>> было ровно месяц назад.
>>>
>>>> З.Ы. выбросил иконв - все равно у меня он не используется насколько я понял
>>
>> Я забрал этот порт себе, в связи с тем, что предыдущий мейнтейнер так и
>> не сконвертировал его для STAGING, что было чревато тем, что exim был бы
>> полностью удален из портов.
> 
> ну теперь меинтейнер порта exim в FreeBSD - наш человек.
> 
> и вижду, что сборку 4.82.1 с поддержкой DMARC ты уже сделал.
> 
> может тогда (раз уж штатными патчем порта patch-src::EDITME включается
> поддержка DLFUNC) для следующей сборки порта добавить в EXTRALIBS всякие
> -export-dynamic/-rdynamic/-fPIC? если этого не делать, то при сборке
> exim без поддержки embedded Perl из dlfunc недоступны внутренние данные
> exim'а, что делает работу большинства dlfunc бесполезной.

Тут есть некий момент. Система сборки exim'а самостоятельно довольно
плохо умеет разбираться, что есть в системе, и как это использовать. На
i386/amd64 практически всегда безопасно включать все эти флаги, а вот на
всяких sparc64/ia64 есть определенные грабли с этим. Я попробую
потестировать и включить это по умолчанию в ближайшее время.

-- 
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] iconv

2014-07-04 Пенетрантность Vsevolod Stakhov
On 28/06/14 20:20, Victor Ustugov wrote:
> Vasiliy P. Melnik wrote:
>> > во фре в 10-тке иконв нативный. Если какое-то приложение нативный не
>> > устраивает - в систему устанавливается iconv из портов. А экзиму не
>> > нравиться два иконва в системе
>>
>>
>> Так это не бага - это фича :) 

Это именно что старый костыль, который не убрали по причинам мне непонятным.

>> Точнее какой-то костыль, да чего-то не
>> понятно сколько он там будет. Видать не собирается с двумя разными
>> хидерами. Ну и ко всему уже вышел 4.82.1 - а в портах все еще 4.82. Так
>> что ждем-с.
> 
> 4.82.1, на сколько я помню, выпустили с исправления бага в реализации DMARC.
> 
> а из портов FreeBSD exim штатно не собирался с поддержкой DMARC. в том
> смысле что в Makefile порта нет механизма указания значения для
> EXPERIMENTAL_DMARC - нужно самому патчик рисовать для правки Local/Makefile.

Local/Makefile и так довольно неслабо патчится портом. Добавить туда
DMARC не особая проблема.

> видимо меинтейнер порта и решил не заморачиваться.
> 
> ибо 4.82.1 вышел уже не два дня назад и не три. письмо от Todd Lyons
> было ровно месяц назад.
> 
>> З.Ы. выбросил иконв - все равно у меня он не используется насколько я понял

Я забрал этот порт себе, в связи с тем, что предыдущий мейнтейнер так и
не сконвертировал его для STAGING, что было чревато тем, что exim был бы
полностью удален из портов.

-- 
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users



Re: [Exim-users] Релиз rspamd 0.3.7

2011-03-09 Пенетрантность Vsevolod Stakhov

On 03/07/2011 08:00 PM, Vyacheslav Biruk wrote:

Привет

Хотелось бы задать задать пару вопросов

1. в ответе RSPAMD есть хидер
Metric:;;  /  /

при беглом просмотре документации я так и не нашел что значит поле
, у меня оно всегда 0.00.
В чем смысл даного поля?


Вообще, данное поле сейчас - это рудимент. История была такова: когда-то 
меня попросили сделать так, чтобы было два порога срабатывания: "письмо 
спам" и "письмо настолько спам, что делаем reject на MTA". Эти пороги 
настраивались через json настройки для каждого пользователя. Сейчас все 
это делается при помощи action, включая и настройки пользователей. Не 
убрал я reject_score только из соображений совместимости.



+ если не сложно - то можно чтобы поле  при значении 0  было
в формате 0.00, как и другие поля


Сделал.


2. В файле /usr/local/etc/rspamd.xml.sample прописано

   http://cebka.pp.ru/stuff/grey_whitelist.conf
   WHITELIST_IP


Что это за список, на базе чего он формируется?


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


В следующей версии это правило уже убрано.

--
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users


Re: [Exim-users] аналог spamassasin

2011-02-28 Пенетрантность Vsevolod Stakhov

On 02/28/2011 10:48 PM, Igor Karpov wrote:

Меня давно терзает мысль о том, насколько перспективной могла бы быть
реализация Exim на Erlang. :)


Я считаю, что принципиально добиться этим ничего не удастся. Чистый Си 
быстрее erlang'а, а в концепции exim/postfix/sendmail на каждого клиента 
делается fork, в рамках которого делаются все необходимые обработки. MTA 
на erlang будет, скорее, по концепции походить на qmail, что 
автоматически увеличит накладные расходы на IPC.


Мы, например, перед реальным MTA используем балансирующий прокси, 
который делает первоначальные ограничения по RBL, а также выполняет 
необходимые DNS преобразования (т.к. в рамках блокирующегося MTA это 
очень затратная операция). Сейчас этим прокси служит nginx+policy, а 
когда SMTP прокси в rspamd будет достаточно оттестирован, переведем все 
на него.


В целом же, реализовать все состояния и переходы SMTP протокола будет 
трудно на любом языке. На erlang будет меньше проблем с памятью, зато 
больше накладных расходов на коммуникации.


Ну а "живая" замена кода - это вообще концепция, элементарно реализуемая 
в виде fork'ов. Пример - soft update в nginx.


В общем, мое мнение, что писать MTA на эрланге ради эрланга - это не 
более, чем академический эксперимент :)


--
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users


Re: [Exim-users] аналог spamassasin

2011-02-28 Пенетрантность Vsevolod Stakhov

On 02/28/2011 10:09 PM, Igor Karpov wrote:

Прежде всего, спасибо за столь интересный и объемный пост. :)


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

Я ни разу не программист на lua, но вот что дает беглый поиск:

*To grab the filenames of all *.txt files in a given directory, this
seems to be the most effective way:*
*allfiles=murgaLua.readDirectory("/home/mik")*
*for i=1,table.maxn(allfiles) do*
*if string.find(allfiles[i],"%.txt$") then print(allfiles[i]) end*
*end*
*
*
*Apparently table.getn(table) has the same result as table.maxn(table)*
*I dunno if one is actually better than the other.*
*
*
*http://www.murga-projects.com/forum/showthread.php?tid=43*

Подойдет? :)


Ну, это вызов некой C функции объекта. Из си, разумеется, все сделать 
очень просто. Если будет потребность, добавлю :)


--
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users


[Exim-users] Релиз rspamd 0.3.7

2011-02-28 Пенетрантность Vsevolod Stakhov

Приветствую,

Закончил релиз системы фильтрации спама rspamd. Возможно, кому-то 
окажется полезным в организации спам-фильтра. Основные изменения в релизе:


- добавлена возможность использовать в качестве правил lua функции
- теперь правилам можно добавлять описание (как в SA)
- улучшена интеграция с lua (например, добавлена библиотека для работы с 
pcre из lua)
- добавлено значительное количество правил, которые адаптировал для 
rspamd Victor Ustugov
- исправлено несколько серьезных багов, улучшена производительность 
парсинга заголовков
- добавлена документация по lua API (включая tutorial по написанию 
правил и плагинов) и добавлены man pages для демона и клиента.


Rspamd можно подключить к exim при помощи патча local_scan, патча 
spamd.c, а также использовать в режиме совместимости с SA (но тогда 
некоторые возможности rspamd работать не будут, например, spf). Патчи 
находятся в дереве исходников в каталоге contrib/exim.


Установить rspamd на ОС FreeBSD можно из портов (mail/rspamd), либо, на 
других системах, из исходников:

https://bitbucket.org/vstakhov/rspamd/downloads/rspamd-0.3.7_1.tar.gz

Документация по rspamd (на английском языке) лежит тут:
https://bitbucket.org/vstakhov/rspamd/wiki/Documentation

--
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users


Re: [Exim-users] аналог spamassasin

2011-02-13 Пенетрантность Vsevolod Stakhov

On 02/13/2011 04:22 PM, Victor Ustugov wrote:

Andrey N. Oktyabrski wrote:


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

В основное дерево - это непросто. Попыхтеть придётся изрядно. Сначала
всё появляется тут: http://pkgsrc-wip.sf.net/
Только после того, как оно несколько лет там поболтается, не подохнет,
будет оттестировано на всех платформах, где теоретически живёт pkgsrc,
будет регулярно обновляться, и т.д. и т.п. в том же духе, есть шанс
перенести в основное дерево.


тогда проще будет сделать свой pkgsrc и поддерживать.



Я имею доступ к pkgsrc-wip и попробую добавить pkgsrc туда. Ну а 
протолкнуть в дерево, я думаю, поможет знакомый с коммит битом, если это 
будет нужно кому-то :)



а ценность pkgsrc уже скорее в том, что те же exim/rspamd/etc можно
собрать под всякими Solaris/Open Solaris/Mac OS X со всеми зависимостями
без особых проблем.



В целом, rspamd тестировался на Solaris/Darwin/FreeBSD и Linux. Также 
один человек запустил его на arm'е (правда, после некоторых моих правок 
в код memory_pools насчет выравнивания указателей). Поэтому надеюсь, что 
с портированием rspamd ужасных проблем быть не должно.


--
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users


Re: [Exim-users] аналог spamassasin

2011-02-13 Пенетрантность Vsevolod Stakhov

On 02/13/2011 05:12 PM, Victor Ustugov wrote:

Vsevolod Stakhov wrote:

учитывая идею дать возможность добавлять описания символов в rspamd.xml
в виде
SYMBOL

нужно и в json массиве для dynamic rules предусмотреть соответсвующий
индекс.

т. е. использовать что-то типа:
[
 {
 "rule": "/test/rP",
 "symbol": "R_TMP_1",
 "description": "Some symbol",
 "factor": 1.1,
 "networks": ["!192.168.1.0/24", "172.16.0.0/16"],
 "enabled": false
 }
]


Да, конечно, как только сделаю описания, добавлю их и в json. Кроме 
того, я, наверное, ошибся в примере - несколько dynamic rules 
добавляются весьма просто:

[
 { "rule1": "// & ...", ...},
 { "rule2": "", ...},
 ...
]


Кроме того, можно в lua добавить поддержку метрик в каком-то таком виде:
conf['module']['symbol'] = 'rule'
metrics['name']['symbol'] =


в этом случае тоже нужно предусмотреть возможность указывать описания
правил. видимо примерно так:
metrics['name']['symbol']['description'] = 'Some symbol'


Да, так и сделаю. Минус этого подхода в том, что в lua необходимо 
вначале объявить эту таблицу:

metrics['default'] = {}
metrics['default']['symbol'] = weight
metrics['default']['symbol2'] = {}
metrics['default']['symbol2']['weight'] = weight
metrics['default']['symbol2']['description'] = 'string'

По идее, поддержку такого подхода я уже добавил.

--
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users


Re: [Exim-users] аналог spamassasin

2011-02-13 Пенетрантность Vsevolod Stakhov

On 13.02.2011 14:30, Victor Ustugov wrote:

Vsevolod Stakhov wrote:



Сейчас можно использовать dynamic rules:

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


Нет, как раз в файле описывается json массив из правил.


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


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



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


Кроме того, можно в lua добавить поддержку метрик в каком-то таком виде:
conf['module']['symbol'] = 'rule'
metrics['name']['symbol'] =


т. е. по сути можно в rspamd.xml просто описать метрику, а привязку к
ней символов с опреденными весами делать в lua?


Да, именно так. Вообще, xml предполагался для автоматического 
редактирования какими-нибудь скриптами или веб-мордой.



т. е. интересует что-то типа такого:

local MAILMAN_MSGID =
'From,Message-ID=/<([^\\@]+\\@[^>]+)>,$/'


Опять же сделать это функцией на lua должно быть весьма просто (функции
могут писаться прямо в правилах).


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


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



писать функциою (если таковой еще нет) для извлечения адреса(ов) из
header To (вернее из произвольного поля) и сравнивать адрес из RCPT TO с
этими извлеченными адресами. т. е. я имею ввиду аналог эксимовской
конструкции ${address:}


Хорошо, я посмотрю, как это сделано в exim.

--
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users


Re: [Exim-users] аналог spamassasin

2011-02-13 Пенетрантность Vsevolod Stakhov

On 13.02.2011 2:46, Victor Ustugov wrote:

Vsevolod Stakhov wrote:

с CRM114 вообще отдельный разговор. демона нет. сканер написать на своем
же языке. для испльзования libcrm114 нужно писать обертку такой
сложности, что проще использовать готовый контент сканер. вот как раз
RSPAMD таким и является.


Ну crm114 пишется математиком, оттого и такие странности :)


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

в RSPAMD для отключения метрики мне нужно кроме правки
/usr/local/etc/rspamd.xml еще найти все описания правил и
закомментировать их.



Сейчас можно использовать dynamic rules:
[
{
"rule": "file:///test/rP",
"symbol": "R_TMP_1",
"factor": 1.1,
"networks": ["!192.168.1.0/24", "172.16.0.0/16"],
"enabled": false
}
]

Кроме того, можно в lua добавить поддержку метрик в каком-то таком виде:
conf['module']['symbol'] = 'rule'
metrics['name']['symbol'] = 


т. е. интересует что-то типа такого:

local MAILMAN_MSGID =
'From,Message-ID=/<([^\\@]+\\@[^>]+)>,$/'


Опять же сделать это функцией на lua должно быть весьма просто (функции 
могут писаться прямо в правилах).



временно я отбился заменой условия сравнения адресов на следующее:
string.find(string.lower(mr), string.lower(sr), 1, true)


Ага, спасибо!


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


Документация по lua API на подходе.


p. s. нас сейчас погонят отсюда за оффтопик (и будут правы).
так что нужно бы перебираться или в личку или в другой лист.


Да, по конкретным вопросам и предложениям лучше писать мне лично.


--
Vsevolod Stakhov

___
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users


Re: [Exim-users] аналог spamassasin

2011-02-13 Пенетрантность Vsevolod Stakhov

On 12.02.2011 22:43, Victor Ustugov wrote:

t...@irk.ru wrote:

а есть что-нибудь некоммерческое к чему exim может ходить через
spamd_address?


http://bitbucket.org/vstakhov/rspamd/

разработчик из России, работает в Рамблере


Так как я также подписан на эту рассылку, то прокомментирую некоторые 
моменты.



баги сабмитит в основном один пользователь, плюс несколько анонимусов,
т. е. пока rspamd скорее всего мало кем используется


Увы, да - rspamd получился довольно сложным в развертывании, что 
зачастую отталкивает пользователей.



что касается интеграции с exim, то есть как минимум три способа:
1. работа по протоколу SpamAssassin'а RSPAMC (не пробовал)


Протокол SpamAssassin'а - это все-таки spamc, а не rspamc.


2. работа по протоколу RSPAMC через одну из двух предлагаемых функций
local_scan (пробовал, работает, но local_scan для меня неприемлем)
3. на основе штатных local_scan функций легко можно написать свою dlfunc
(в том числе благодаря простоте протокола RSPAMC, см. выше)


Кроме этого, начиная с 0.3.5 можно использовать библиотеку 
librspamdclient. Или же приложенный патч.



уровень false positives и false negatives выше, чем у SpamAssassin,
правда ситуация немного выравнивается после дообучения местного Bayes
фильтра.


Думаю, что статистика SA, использующая униграммы (то есть, одиночные 
слова) намного хуже, чем статистика rspamd, которая использует алгоритм 
OSB на окне из 5-ти слов (то есть, анализируются не только слова, но и 
их сочетания). Похожие алгоритмы используются также, например, в dspam 
или в crm114.



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


На самом деле такой подход появился в результате следования логике 
разбиения правил в SA. Кроме того, была потребность повесить на 
некоторое правило функцию lua (например, правило EMPTY_IMAGE в примере 
конфигурации).



для правил нет строки описания, как в SpamAssassin, т. е. в ответе
демона фигурируют лишь названия правил, без весов и описания. как в этом
отношении ведет себя rspamd работая по протоколу SPAMC, я не проверял,
т. к. работа по протоколу SPAMC подразумевает, что контент сканер сам
получает информацию об адресе клиента, HELO, адресе отправителя и адресе
получателя из заголовков письма. а в случае использования протокола
RSPAMC эти данные передаются демону в явном виде.


Вообще, добавить описания к правилам - хорошая, годная, а главное - 
легко реализуемая идея, например, сделав в описании правил атрибут 
description:

SYMBOL


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

в регекспах не работают конструкции \1, \2 и т. д.
моих знаний программирования на C не хватило, чтобы понять, виноват
rspamd или pcre.


Просто для ускорения работы отключены capture group. Опять же можно 
добавить крыжик в конфигурацию, чтобы их можно было включать.



плагины написаны на LUA. в принципе, синтаксис получается более
компактным, чем в плагинах на Perl для SpamAssassin.

в плагине check_forged_headers есть ошибки, из-за чего правило
FORGED_RECIPIENTS ложно срабатывает время от времени.


Был бы признателен за подробности: в каких случаях оно ложно срабатывает?


я наткнулся уже на пару писем, при обработке которых возникаются
проблемы при описании более одной метрики в rspamd.xml.
демон пишет в сокет ответ с данными по первой метрике и начинает
потреблять около 90% процессорного времени.
тестирование проводилось в виртуалке, на физической машине может меньше
начнет отжирать, но от этого не легче. после этого приходилось демона
убивать по kill -9.
пока отложил проблему в сторону, т. к. вторая метрика была создана в
тестовых целях и для штатной работы пока вполне хватит одной метрики.


Спасибо за репорт, я попробую создать такую конфигурацию.

Ну и в целом, я всегда готов рассмотреть пожелания по улучшению rspamd 
или же по устранению багов, в нем обнаруженных :)
--- src/spam.c.orig 2011-01-20 19:29:51.179597017 +0300
+++ src/spam.c  2011-01-20 19:40:42.818516872 +0300
@@ -21,6 +21,9 @@
 int spam_ok = 0;
 int spam_rc = 0;
 
+/* push formatted line into vector */
+static int push_line(struct iovec *iov, int i, const char *fmt, ...);
+
 int spam(uschar **listptr) {
   int sep = 0;
   uschar *list = *listptr;
@@ -211,14 +214,26 @@
   }
 
   /* now we are connected to spamd on spamd_sock */
-  (void)string_format(spamd_buffer,
-   sizeof(spamd_buffer),
-   "REPORT SPAMC/1.2\r\nUser: %s\r\nContent-length: %ld\r\n\r\n",
-   user_name,
-   mbox_size);
+  int r, request_p = 0;
+  const char *helo;
+  struct iovec request_v[64];
+  
+  r = 0;

Re: [Exim-users] аналог spamassasin

2011-02-12 Пенетрантность Vsevolod Stakhov

On 12.02.2011 22:43, Victor Ustugov wrote:

t...@irk.ru wrote:

а есть что-нибудь некоммерческое к чему exim может ходить через
spamd_address?


http://bitbucket.org/vstakhov/rspamd/

разработчик из России, работает в Рамблере


Так как я также подписан на эту рассылку, то прокомментирую некоторые 
моменты.



баги сабмитит в основном один пользователь, плюс несколько анонимусов,
т. е. пока rspamd скорее всего мало кем используется


Увы, да - rspamd получился довольно сложным в развертывании, что 
зачастую отталкивает пользователей.



что касается интеграции с exim, то есть как минимум три способа:
1. работа по протоколу SpamAssassin'а RSPAMC (не пробовал)


Протокол SpamAssassin'а - это все-таки spamc, а не rspamc.


2. работа по протоколу RSPAMC через одну из двух предлагаемых функций
local_scan (пробовал, работает, но local_scan для меня неприемлем)
3. на основе штатных local_scan функций легко можно написать свою dlfunc
(в том числе благодаря простоте протокола RSPAMC, см. выше)


Кроме этого, начиная с 0.3.5 можно использовать библиотеку 
librspamdclient. Или же приложенный патч.



уровень false positives и false negatives выше, чем у SpamAssassin,
правда ситуация немного выравнивается после дообучения местного Bayes
фильтра.


Думаю, что статистика SA, использующая униграммы (то есть, одиночные 
слова) намного хуже, чем статистика rspamd, которая использует алгоритм 
OSB на окне из 5-ти слов (то есть, анализируются не только слова, но и 
их сочетания). Похожие алгоритмы используются также, например, в dspam 
или в crm114.



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


На самом деле такой подход появился в результате следования логике 
разбиения правил в SA. Кроме того, была потребность повесить на 
некоторое правило функцию lua (например, правило EMPTY_IMAGE в примере 
конфигурации).



для правил нет строки описания, как в SpamAssassin, т. е. в ответе
демона фигурируют лишь названия правил, без весов и описания. как в этом
отношении ведет себя rspamd работая по протоколу SPAMC, я не проверял,
т. к. работа по протоколу SPAMC подразумевает, что контент сканер сам
получает информацию об адресе клиента, HELO, адресе отправителя и адресе
получателя из заголовков письма. а в случае использования протокола
RSPAMC эти данные передаются демону в явном виде.


Вообще, добавить описания к правилам - хорошая, годная, а главное - 
легко реализуемая идея, например, сделав в описании правил атрибут 
description:

SYMBOL


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

в регекспах не работают конструкции \1, \2 и т. д.
моих знаний программирования на C не хватило, чтобы понять, виноват
rspamd или pcre.


Просто для ускорения работы отключены capture group. Опять же можно 
добавить крыжик в конфигурацию, чтобы их можно было включать.



плагины написаны на LUA. в принципе, синтаксис получается более
компактным, чем в плагинах на Perl для SpamAssassin.

в плагине check_forged_headers есть ошибки, из-за чего правило
FORGED_RECIPIENTS ложно срабатывает время от времени.


Был бы признателен за подробности: в каких случаях оно ложно срабатывает?


я наткнулся уже на пару писем, при обработке которых возникаются
проблемы при описании более одной метрики в rspamd.xml.
демон пишет в сокет ответ с данными по первой метрике и начинает
потреблять около 90% процессорного времени.
тестирование проводилось в виртуалке, на физической машине может меньше
начнет отжирать, но от этого не легче. после этого приходилось демона
убивать по kill -9.
пока отложил проблему в сторону, т. к. вторая метрика была создана в
тестовых целях и для штатной работы пока вполне хватит одной метрики.


Спасибо за репорт, я попробую создать такую конфигурацию.

Ну и в целом, я всегда готов рассмотреть пожелания по улучшению rspamd 
или же по устранению багов, в нем обнаруженных :)


--
Vsevolod Stakhov
--- src/spam.c.orig 2011-01-20 19:29:51.179597017 +0300
+++ src/spam.c  2011-01-20 19:40:42.818516872 +0300
@@ -21,6 +21,9 @@
 int spam_ok = 0;
 int spam_rc = 0;
 
+/* push formatted line into vector */
+static int push_line(struct iovec *iov, int i, const char *fmt, ...);
+
 int spam(uschar **listptr) {
   int sep = 0;
   uschar *list = *listptr;
@@ -211,14 +214,26 @@
   }
 
   /* now we are connected to spamd on spamd_sock */
-  (void)string_format(spamd_buffer,
-   sizeof(spamd_buffer),
-   "REPORT SPAMC/1.2\r\nUser: %s\r\nContent-length: %ld\r\n\r\n",
-   user_name,
-   mbox_size);
+  int r, request_p = 0;
+  const char *h