Опубликован (https://github.com/Exim/exim/releases/tag/exim-4.92.1) внеплановый выпуск почтового сервера Exim 4.92.1 (http://exim.org/) в котором устранена критическая уязвимость (CVE-2019-13917), позволяющая организовать удалённое выполнение кода с правами root при наличии в конфигурации определённых специфичных настроек.
Уязвимость проявляется (https://lists.exim.org/lurker/message/20190725.090419.d506f7...) начиная с выпуска 4.85 при использовании в настройках оператора "${sort }", в случае если используемые в списке "sort" элементы могут быть переданы атакующим (например, через переменные $local_part и $domain). По умолчанию данный оператор не применяется в конфигурации, предлагаемой в базовой поставке Exim и в пакете для Debian и Ubuntu (вероятно и в других дистрибутивах). Для проверки своей системы на наличие уязвимости можно выполнить команду "exim -bP config | grep sort".Обновления пакетов с устранением уязвимости уже выпущены для Debian (https://security-tracker.debian.org/tracker/CVE-2019-13917) и Ubuntu (https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2...). Обновления пока не подготовлены для SUSE (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2019-13917), Fedora (https://bodhi.fedoraproject.org/updates/?releases=F30&type=s...), FreeBSD (http://www.vuxml.org/freebsd/) и Arch Linux (https://www.archlinux.org/packages/community/x86_64/exim/). RHEL и CentOS проблеме не подвержены (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-10149), так как Exim не входит в их штатный репозиторий пакетов (при необходимости ставится из репозитория epel (https://fedoraproject.org/wiki/EPEL)).
URL: https://lists.exim.org/lurker/message/20190725.090419.d506f7...
Новость: https://www.opennet.dev/opennews/art.shtml?num=51174
в EPEL апдейт появится через пару месяцев, как раз всякие ISPmanager с cPanel поломают (ведь панелеписатели не осилили postfix), а панели эти заточены под центось
Равно как vsftpd тоже не осилили, а proftpd ой как дырявЖдем массовых взломов и вайпа серверов ведь уязвимости не патчат годами в мегастабильных ОСях
> Ждем массовых взломов
> > при наличии в конфигурации определённых специфичных настроекИ то верно. Ведь любой человек с улицы может править конфиги эксима.
может. Правда, exim потом не работает ;-)
> ведь уязвимости не патчат годами в мегастабильных ОСяхЕсли это наезд на Debian Stable, то в него секурити-фиксы бэкпортят довольно оперативно. Exim зафиксили вчера например:
epel - community repo, есть время - пилят, нет или жрать хотят - на работу ходят.
Жрите, де6илы! Ой...в смысле, ждите ебилдов! Вы ж линух поставили "патамуштанетакойкаквсе" и "бешплатна!" а не потому что хоть банально пересборку из исходников так и того что вам нужно осилили. Жаль что дыры что в том, что в другом, требуют нетривиальных настроек, поэтому всерьез ждать, что число гуанохостингов резко поубавится, не приходится.И это не панелеписатели неосилили, а это ваш поцфикс "неасилил", потому что если весь из себя неуязвимый софт "умеет только читать stdin и писать stdout", как один тут гордо крякал, то это означает - правильно, что он не умеет практически ничего полезного. Вот опенрелей из коробки (особенно актуально для массхостинга) - умеет, ага. А нужны, например - per-user лимиты на число отправленных сообщений. Как с этим у твоего поцфикса?
Панелеписатели, конечно, могли бы не пользоваться community repo, сопровождаемым незнамокем, а собрать все пятнадцать используемых панелями пакетов самостоятельно, но они такие же как вы, и умеют только нескучные интерфейсики клепать.
> Вот опенрелей из коробки (особенно актуально для массхостинга) - умеет, ага.не порите чушь, ей больно...
> А нужны, например - per-user лимиты на число отправленных сообщений. Как с этим у твоего поцфикса?
Нормально, немножко голову и руки приложить нужно. rtfm postfix-policyd
> Нормально, немножко голову и руки приложить нужно."после сборки паровоз обработать напильником".
> rtfm postfix-policydо, то есть круче - не обработать, а самому выпилить из цельного куска чугуния?
Ну либо искать какие-то левые васян-поделки, вот они-то точно-точно безопастные, тысячи ж глаз!
Чорт, я думал, линуксомакаки фанаты безопастного мэйлера эту проблему давно порешали. А оказывается, даже и не пытались - видимо, все они по совместительству админы локалхостов. Расположенных, разумеется, в 192.168.0, поэтому проблема mynetworks им тоже не грозит.
Да, случай тяжелый, хотя и неоднократно описанный в специальной литературе.
Васян поделки лучше ровно потому, что они хотя бы не лезут в SMTP диалог и не работают от рута, держа весь shared state в глобальных переменных, да и не делают гениального expand'а получаемых извне данных, в отличие от сабжа. Ну и есть такая васян поделка - Rspamd, которую я некоторым образом пишу, и которая вполне себе решает проблему недостатка крутилок у постфикса.
> Ну и есть такая васян поделка - Rspamd, которую я некоторым образом пишу, и которая вполне
> себе решает проблему недостатка крутилок у постфикса.напоминаю, довольно типовая задача даже для нормальных систем, не sharedhost где ниша экзима даже.
Ограничить количество отправляемых в какой-то интервал (хрен с ним, в минуту) сообщений per userid. Как rspamd поможет ее решить?А per ip, ладно, у нас же докер в докере под докером? А per ip но с учетом destination (роботы могут и сто тыщ писем другому роботу генерить, их трогать нельзя. Надо давить лопнувших роботов, грозящих осчастливить весь окружающий мир.)
Потом рассмотрим эффективность milter-based решений.
Безопастность лучше не будем.
>> Ну и есть такая васян поделка - Rspamd, которую я некоторым образом пишу, и которая вполне
>> себе решает проблему недостатка крутилок у постфикса.
> напоминаю, довольно типовая задача даже для нормальных систем, не sharedhost где ниша
> экзима даже.
> Ограничить количество отправляемых в какой-то интервал (хрен с ним, в минуту) сообщений
> per userid. Как rspamd поможет ее решить?Эм, как бы тривиально, а что? Authenticated username передается через мильтр - это раз, а два - вполне можно сделать лимиты по доменам, по отправителям, да хоть по небу и Аллаху: https://rspamd.com/doc/modules/ratelimit.html
с ужасом глянув пример - нет, вот это - серьезно подается как "проще и безопаснее чем exim"?
> с ужасом глянув пример - нет, вот это - серьезно подается как
> "проще и безопаснее чем exim"?Я вам лично ничего "подавать" не собираюсь, как и вести дискуссию на таком уровне аргументации. Свои претензии к архитектуре Exim я уже озвучил выше. Если есть замечания по существу, а не в стиле "с ужасом глянув пример", то готов их выслушать. Впрочем, надежд я особых не испытываю, учитывая другие ваши посты тут.
по существу: такие простые вещи должны делаться - просто. В идеале - работать из коробки.
А не требовать выкопать где-то в вике почти-подходящий кусок кода со страницу размером, требующий детальных объяснений автора, чтобы понять как он вообще работает.При том что это одна мелкая деталька в почтовой системе. Остальные будут закопаны в других местах - к великом счастью пришедшего после вас админа, получившего задание "поменять поведение вот в этом случае". С exim - он просто открывает Configure - и находит искомое (тоже в неудобочитаемом виде, но хотя бы - все сразу в одном месте). С альтернативами - угадай в каком костыле запилена эта подпорка.
Ваша претензия к архитектуре exim - это претензия к архитектуре unix. exim в ней совершенно не виноват. (он, кстати, умеет скинуть рутовые права, но местами это ведет к неприятным глюкам, поэтому по умолчанию такое поведение и отключено)
архитектуру libmilter обсуждать будем?
> по существу: такие простые вещи должны делаться - просто.Спасибо за конструктивную критику.
> В идеале -
> работать из коробки.
> А не требовать выкопать где-то в вике почти-подходящий кусок кода со страницу
> размером, требующий детальных объяснений автора, чтобы понять как он вообще работает.Тут есть несколько проблем.
Первая из них в том, что функциональность модулей развивалась эволюционно: вначале сделали какие-то базовые вещи, потом пользователь A сказал, что ему надо одно, пользователю B другое, через N лет придумали какой-то новый фреймворк обработки данных, и решили его впилить. В итоге получается каша, но зато сохраняется обратная совместимость.
А ручек "вкл-выкл" или, там, "аз-5" не получается добавить просто, так как оно либо сломает совместимость, либо будет еще одной из многих крутилок.
Кое-где я пытаюсь сделать "привычные ручки" - вот в том же dkim_sign, как хотели того пользователи OpenDKIM. Многие вещи делаются "из коробки" по умолчанию, а некоторые делаются из утилиты configwizard - это как раз трансляция простых крутилок в более-менее сложные конфиги.
Для ratelimit такого не просили, зато просили сложных настраиваемых лимитов (в том же Mailcow). Если будет спрос на такие ручки, их можно будет добавить.
А так сложность - следствие желания покрыть все кейсы...
Вторая проблема - это проблема моего когнитивного искажения как автора, когда я пишу документацию и примеры. Я просто не могу себе представить, что у пользователей нет тех знаний, что есть у меня, и они не могут быстро "грепнуть" код, чтобы получить ответ на вопрос. Частично эта проблема решается коммьюнити, но для этого нужны опытные пользователи, которые могут обучать других, а с этим обычно беда - новичков хватает, а профессионалов очень мало.
> При том что это одна мелкая деталька в почтовой системе. Остальные будут
> закопаны в других местах - к великом счастью пришедшего после вас
> админа, получившего задание "поменять поведение вот в этом случае". С exim
> - он просто открывает Configure - и находит искомое (тоже в
> неудобочитаемом виде, но хотя бы - все сразу в одном месте).
> С альтернативами - угадай в каком костыле запилена эта подпорка.С моей (неизбежно ангажированной) точки зрения, MTA отвечает за SMTP диалог, очередь и верификацию получателей. Фильтрация и модификация контента - это задача некоего отдельного сервиса. В моем представлении этот сервис - Rspamd. И основной плюс такой архитектуры, что этот сервис можно вынести в отдельную песочницу, минимизировав риски найденных уязвимостей. Поэтому ваш подход применим и к моему представлению о системе обработки почты.
> Ваша претензия к архитектуре exim - это претензия к архитектуре unix. exim
> в ней совершенно не виноват. (он, кстати, умеет скинуть рутовые права,
> но местами это ведет к неприятным глюкам, поэтому по умолчанию такое
> поведение и отключено)Ну нет. Моя претензия к монолитной архитектуре Exim'а, унаследованной от Sendmail, и смешению доставки почты, фильтрации и ведению SMTP диалога. Это все просто невозможно сделать, чтобы дырка в коде не имела катастрофических последствий. Ну и опять же я много работал с кодом Exim'а - он оставляет желать лучшего, мягко говоря. А expand, утекающий для внешних данных, - это просто сплошная дыра, что последние найденные уязвимости подтверждают.
> архитектуру libmilter обсуждать будем?
Она, бесспорно, ужасна. Именно поэтому я НЕ использую libmilter в Rspamd. А сам протокол не такой плохой - он просто повторяет архитектурные проблемы smtp с abort и управлением стейтом.
> левые васян-поделкиНе завидуйте его зарплате, месье. ;)
> Вот опенрелей из коробки (особенно актуально для массхостинга) - умеет, ага.Это как? Научите, а то у меня из поцфикса OR получился ровно дважды, и каждый раз потребовались нетривиальные усилия плюс "на вчера" (туннели, дырочки в файрволе "для партнёров", такое вот). Чтоб из коробки -- вообще не видел.
> Это как? Научите, а то у меня из поцфикса OR получилсясам теперь выковыривай из автомодерилки
Панелеписакам давно пора освоить rpmbuild)
А есть gui builder для каках rpm-спек?
Зачем?
как зачем - чтоб next-next-ok, и ни в коем случае не разобраться, случайно, как это работает.
gvim!
ну вон ispmanager - освоили. Но собирать за васянов еще и всю операционную систему, потому что редгад, видишь ли, вон даже nginx сумел в базовую поставку добавить только через пятнадцать лет - видимо, не входит в их планы.
А сами панелеадмины умеют только некст-ок, как и их пользователи (вру, конечно - пользователи этого не умеют).
Ждите ебилдов!
Как они освоили, так через одно место, вечно по зависимостям половина системы улетает
В панели exim и proftpd не нужны
> Как они освоили, так через одно место, вечно по зависимостям половина системы
> улетаетУМВР
> В панели exim и proftpd не нужныпанели не нужны, ага. Посоветуйте юзерам валить на гуглосайты - там все то же самое, только бесплатно и без выпендрежа.
> всякие ISPmanager с cPanel поломают (ведь панелеписатели не осилили postfix),Не осилившие командную строку должны страдать (и ругать неосиляторов-панелеписак, что им остаётся).
ты готов открыть ssh для world и предоставить "командную строку" людям, которые ее осилят или нет - неважно, но знаешь о них ты - примерно номер кредитки? Вполне возможно - краденой.и даже - то же самое, но для лично знакомых горе-админов. с грехом пополам что-то там "осиливших" копипастой stackexchange'а, которые на следующий день проимеют все пароли и доступы?
Да, массхостеры, с группой админов на зарплате и их круглосуточным дежурством и мониторингом - так делают. Но они exim в своей cpanel'и настраивают сами, и сами же его пересоберут, если им зачем-то понадобился sort для внешних данных. Они-то умеют.
Cpanel обновил сегодня. Вышел апдейт
Коллеги, ветка https://github.com/Exim/exim/tree/exim-4.92+fixes является reference-веткой.Настраивайте сборщики на git-ветку, и не ругайтесь.
> Коллеги, ветка https://github.com/Exim/exim/tree/exim-4.92+fixes является reference-веткой.спасибо, это прекрасно
> Настраивайте сборщики на git-ветку, и не ругайтесь.какую ветку? Как незамутненному опакечивателю выбрать из exim-4.92+fixes|exim-4.92+security|exim-4.92.1+fixes - и где у них это объясняется?
раз уж вы отказались от нормальной политики релизов, как немодной, нестильной и немолодежной.не все же такие умные, что ищут эту информацию на опеннете...
Ostree rpm и softwarecollections scls ?
Обновления для FreeBSD "подготовлены" еще вчера.
интересно, сколько постфикс-очеров хоть краем глаза заглядывало в дырявый код мильтеров, которые они вынуждены скачивать и запускать вслепую тоннами....
мильтеры устарели - вон у них новый фуфел, shutty-policy-d с новым нескучным интерфейсом.Я даже заинтересовался, чо там, чо там. Ну и получил:
apt search postfix-policyd
Sorting... Done
Full Text Search... Done
postfix-policyd-spf-perl/bionic,bionic 2.010-2 all
Simple Postfix policy server for RFC 4408/7208 SPF checkingpostfix-policyd-spf-python/bionic,bionic 2.0.2-1 all
Postfix policy server for SPF checkingвидал? ДВА нескучных сервера, один на пихоне, другой на перле, чтобы безопасТно проверять ненужно-spf! (нет, больше ничего apt не нашел)
Как тебе такое, Илон Маск...тьфуй, Фил?! В твоем кембридже-то, поди, до сих пор так не умеют?
> (нет, больше ничего apt не нашел)У меня в портах нашлось существенно больше. Но это правильно, бубунтоиды ДОЛЖНЫ страдать.
мне кажется, в данном случае они уже достаточно страдают, не надо им "существенно больше" - двух костылей на двух скриптовых языках - более чем достаточно для решения задачи проверки spf (не dkim даже - spf!) в одном mta, не надо еще postfix-policyd-spf-rust и postfix-policyd-spf-nodejs, пожалуйста!
Примерно столько же, сколько пользователей exim прилежно изучали (и главное - что-то понимали) в коде своего favorite mta. Т.е. обе величины сопоставимы со статистической погрешностью, и никакого заметного воздействия данные величины на происходящее в мире не оказывают. Как и ты, username.
конкретно я правлю код екзима под свои нужны, но, конечно, во все ветки не вникал. Но ставить код и цельного производителя, чей код выложен на гитхабе для всех, немного приятней, чем ставить влепую мильтер от васяна.
пруф или 3.14деж
тебе дифы выслать чтоли или что... думай что хочешь.
> тебе дифы выслать чтоли или что... думай что хочешь.он может - просто позаимствовать чо полезное хотел.
Признавайся, чо правил-то?
Понятно, а еще ты хакнул "Крей".
> Примерно столько же, сколько пользователей exim прилежно изучалиа как же - тысячигласс?
Вот в данном случае- даже кто-то что-то заметил почти вовремя. Думаешь, в васян-мильтере заметит кто-то, кроме самого васяна?
Примерно с той же вероятностью. А как же, тысячигласс же...
> Обновления пока не подготовлены для FreeBSD (http://www.vuxml.org/freebsd/)С разморозкой!
https://www.freshports.org/mail/exim/
> 25 Jul 2019 11:20:26
> Original commit files touched by this commit 4.92.1
> - Update to 4.92.1 to fix CVE-2019-13917
>> Обновления пока не подготовлены для FreeBSD (http://www.vuxml.org/freebsd/)
> С разморозкой!Справедливости ради, там был дурацкий баг с subversion, и я не смог сразу же добавить vuxml entry (при этом сам порт был обновлен в актуальных ветках).
Сегодня я нашел время применить дурацкий хак и обойти этот баг, добавив запись в vuxml: http://www.vuxml.org/freebsd/3e0da406-aece-11e9-8d41-9765715...
По поводу нестандартных лимитов для postfix.У нас используются amavisd + amavisd-custom.conf (тут можно на Perl много чего интересного реализровать) + policyd2 ("cluebringer").