Re: [Exim-users] кривое helo
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
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
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] Спам от сервисов почтовых рассылок
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
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
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
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
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
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
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
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
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 и телах писем
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 и телах писем
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 и телах писем
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
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
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
Я реализовывал и 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
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
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
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: антиспам - коммерческие решения
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: антиспам - коммерческие решения
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
-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
-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
-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
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
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
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
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
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
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
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
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
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