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] 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-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: <u...@somehost.other.com>
>>
>> А проверяться должно все также _dmarc.other.com. А вот для
>>
>> From: <u...@other.co.uk>
>>
>> проверяется _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: <u...@example.com>

From: <u...@other.com>


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

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

From: <u...@somehost.other.com>

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

From: <u...@other.co.uk>

проверяется _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 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 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] 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-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 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:name;result;score  /required_score  /reject_score

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


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



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


Сделал.


2. В файле /usr/local/etc/rspamd.xml.sample прописано
module name=whitelist
   ip_whitelisthttp://cebka.pp.ru/stuff/grey_whitelist.conf/ip_whitelist
   symbol_ipWHITELIST_IP/symbol_ip
/module

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


На самом деле это пример использования 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: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


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-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 weight=1.0 description=Some symbolSYMBOL/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 

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'] = weight


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

local MAILMAN_MSGID =
'From,Message-ID=/([^\\@]+\\@[^]+),mailman\\.\\d+\\.\\d+\\.\\d+\\.\\1$/'


Опять же сделать это функцией на 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 02/13/2011 05:12 PM, Victor Ustugov wrote:

Vsevolod Stakhov wrote:

учитывая идею дать возможность добавлять описания символов в rspamd.xml
в виде
symbol weight=1.0 description=Some symbolSYMBOL/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: /some_regexp/Flags  ..., ...},
 { rule2: other_expression, ...},
 ...
]


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


в этом случае тоже нужно предусмотреть возможность указывать описания
правил. видимо примерно так:
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-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 weight=1.0 description=Some symbolSYMBOL/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