Pull to refresh

Comments 39

к сожалению, ничего нового: пришли «эффективные манагеры» и стали «улучшать». Уверен, у них «еще столько хороших идей есть».

Походу, пора задуматься о переползании на freenginx

А что они ожидали, когда продавали компанию?

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

Они ожидали денег заработать. Что и сделали. А теперь продолжают разрабатывать свободный nginx.

Win-win.

Предположительно случился конфликт между сотрудниками f5 и Максимом. Максим не считал, что есть 2 уязвимости, которым присвоили CVE.
"Эффективные менеджеры" в f5 и так были.

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

https://news.ycombinator.com/item?id=39374312

We (F5) published two CVEs today against NGINX+ & NGINX OSS. Maxim was against us assigning CVEs to these issues.

F5 is a CNA and follows CVE program rules and guidelines, and we will err on the side of security and caution. We felt there was a risk to customers/users and it warranted a CVE, he did not.

что за CVE:

Сформирован выпуск основной ветки nginx 1.25.4, в рамках которой продолжается развитие новых возможностей. В параллельно поддерживаемой стабильной ветке 1.24.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В дальнейшем на базе основной ветки 1.25.x будет сформирована стабильная ветка 1.26. Код проекта написан на языке Си и распространяется под лицензией BSD.

В новой версии устранены две уязвимости в экспериментальном модуле http_v3_module (отключён по умолчанию), обеспечивающем поддержку протокола HTTP/3, использующего протокол QUIC в качестве транспорта для HTTP/2. Первая уязвимость (CVE-2024-24989) вызвана разыменованием нулевого указателя, а вторая (CVE-2024-24990) обращением к памяти после её освобождения. В списке изменений утверждается, что обе уязвимости могут привести лишь к аварийному завершению рабочего процесса при обработке специально оформленных сеансов QUIC, но для второй уязвимости судя по всему анализ более серьёзных последствий не проводился.

Позиция вендора F5: у нас есть пользователи кто уже использует это в продакшене, даже учитывая что оно экспериментал, согласно тому что мы следуем политики cve мы должны назначить им номера как уязвимостям, потому что мы следуем открытой политике CVE

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

всем бы продуктам таких "эффективных менеджеров"

Ну логично. Ошибаться в таких случаях стоят на сторону безопасности. И плевать что это экспериментальный код (да пусть бы был даже вообще пример конфигурации как НЕ делать но показывающий другое - все равно бы стоило CVE)

тем более что nginx используется в огромном количестве финансовых и гос компаний, где безопасность стоит на высоком бюрократическом уровне, и если всплывает уязвимость в какой-то версии, различные сканеры будут сообщать что ваш продукт уязвим и требовать либо поставить версию без уязвимости либо найти альтернативный продукт.
И это даже не важно используется там фича в которой найдена уязвимость.
Далеко не всегда можно прописать "это же false positive, давайте игнорировать".
Поэтому я всеми руками поддерживаю решение менеджеров Ф5.

Так, а в чём собссно проблема-то? Ну, назначили CVE, ну и что? Последствия-то какие?

Кто за CVE следят, маловероятно, что используют в продакшене бета-версии, а уже если и используют, то определённо будут только рады, что CVE-шки оформлены, а не станут чего-то там пугаться. Проблема-то в чём?

Если пофантазировать, то может быть проблема в договоре с разработчиком на тему наличия/количества/сроков устранения cve. И связи этих kpi с какими-то выплатами, например.

Максим Дунин в письме написал, что работает бесплатно

Angie — это «форк» кода Nginx, то есть его самостоятельное «ответвление». Разработка ведётся в России, … больше кода вот нифига не лучше!

Объединиться бы им. Два таких проекта это слишком много.

Вряд ли. Скоро с такими недовольными и parallel nginx появится, т.к. очень многим пользователям не нравится однопоточность оригинального nginx

Больше форков богу форков! :)

Вопрос, конечно, в количестве авторов и, особенно, пользователей - будет ли этот форк в достаточной степени востребован? Или получит ли в результате от него что-нибудь ценное изначальный прект?

Так он асинхронный, многопоточность там ничего не добавит кроме проблем. А масштабировать числом процессов там элементарно.

Не уверен, что надо объединяться. У меня сложилось мнение, возможно ошибочное, что Angie - это что-то из области верноподданного импортозамещения, к тому же у них, как и у F5, уже появилась платная PRO версия. Так что по-настоящему свободный форк Nginx не помешал бы. Хотя, для своих личных проектов я вообще всюду перешёл с Nginx на Caddy, как более удобное и простое решение, к тому же свободное и с дружелюбным коммьюнити))

Свободное «пока». В целом, за последнее время идеи свободного, или хотя бы бесплатного, ПО как будто знатно дискредитируются, все внезапно захотели денег. Минус центос, минус esxi, минус hashicorp.

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

свободного, или хотя бы бесплатного

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

Надеюсь, Торвальдс будет жить вечно

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

Насчёт CentOS, всё же спорный случай. По-сути ребята просто ехали на горбу RedHat, никакого собственного вклада в развитие Linux не внося, так что, туда им и дорога и RockyLinux заодно. У Alma, на мой взгляд, более правильный подход - они не стали зацикливаться на byte-to-byte копии RHEL и ограничились просто бинарной совместимостью, что не исключает собственных доработок и багфиксов. И вообще не понимаю этой мании получить копию RHEL: если вы корпорация, то без официальной поддержки RedHat это все равно бессмысленно, а если не корпорация, то чем не устраивает отличный бесплатный Debian?

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

Надеюсь, Торвальдс будет жить вечно

И не будет высказываться по поводу гендеров, BLM-ии и прочего SJW. А то затравят, как Столмана и дело с концом. Ну и горничных в отелях надо по широкой дуге обходить.

за последнее время идеи свободного, или хотя бы бесплатного, ПО как будто знатно дискредитируются

Вот мне кажется "как будто" в этой фразе лишнее. Просто посмотрите на Хабре количество комментаторов, которые топят против свободного ПО.

В таком случае и "за последнее время" тоже лишнее. Комментаторы, топящие против СПО, процветают ровно столько, сколько существует само СПО. Это я вам как ЛОРовец с 20-летним стажем говорю. :)

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

А на Хабре запомнилось, как человек принёс для обсуждения свой браузер. Хороший был браузер, интересный. Исходники не открывал, ну это, собственно, его право. Беда в том, что когда он начал объяснять, почему он их не открывает, у него попёрло просто эталонное собрание обывательских мифов об опенсорсе "свободно значит никто не отвечает, значит, некачественно". Ну собственно, на этом обсуждать браузер прекратили, начали обсуждать мнение автора об опенсорсе. Печально, но как всегда.

Тут вы правы. НО есть одно но. Если раньше существовало спаянное сообщество, готовое аргументированно " обсуждать мнение автора об опенсорсе", то сейчас, судя по диалогам, они остались радикально в меньшинстве...

И я думаю, это не только потому, что на Хабре все меньше программистов, все больше около-айтишников, а еще и потому, что сознательно дискредитируют опенсорс в корпоративной культуре.

Пробовал перейти на Caddy для своих домашних проектов. Понравилось, что он автоматически получает https-сертификаты, но вот конфиг, честно говоря, вообще не показался простым. Да и памяти он потребляет сильно больше (для меня критично, потому что пользуюсь самими дешёвыми VPS).

В общем, мне кажется, nginx всё же лучше. По крайней мере для простых случаев (статика, reverse proxy): очень быстрый, надёжный, есть пакеты во всех мыслимых дистрибутивах, с кучей инфы на том же stack overflow.

Angie скоро тоже будет автоматически получать сертификаты. Поддержка ACME уже на финальной стадии разработки.

Я тут себе в качестве эксперимента поставил https://github.com/NginxProxyManager/nginx-proxy-manager С получение сертификатов через lets enctrypt из коробки и простым веб-интерфейсом для настройки reverse proxy. Посмотри, может интересней будет.

Ну оно и так не шибко сложное, если честно - `certbot --nginx` и всё. Но выглядит интересно, посмотрю. Спасибо.

Если нужен простой конфиг - посмотрите traefik.

Минимальная конфигурация:

[entryPoints.web]
address = ":80"

[entryPoints.websecure]
address = ":443"
http.tls.certResolver = "le"

[certificatesResolvers.le.acme]
email = "admin@example.com"
storage = "/etc/traefik/acme.json"
httpChallenge.entryPoint = "web"

[providers.file]
directory = "/etc/traefik/sites.d"
watch = true

Ну и минимальная конфигурация приложения:

[http.routers.bar]
rule = "Host(`foo.example.com`) && PathPrefix(`/bar`)"
service = "bar"
middlewares = ["bar"]

[[http.services.bar.loadBalancer.servers]]
url = "http://172.17.0.1:5001"

[http.middlewares.bar.stripPrefix]
prefixes = ["/bar"]

Как видно, буквально весь конфиг влезает в формат комментария (и он сразу же поддерживает веб-сокеты, http2 и получает сертификаты от LE). Но вот что там у него с потреблением ресурсов - сказать не могу. А, и ещё traefik, увы, не может раздавать статические файлы, это исключительно обратный прокси.

наоборот, чем больше тем лучше. а то мало ли, придёт майкрософт/гугл, купит и закроет. а так у нас всегда есть альтернатива, если что-то пойдет не так

С Angie не все так просто оказалось. Очень хотел на одном старом проекте с nginx тестово на angie  переехать, но... в их репах не оказалось версии под ОС, которая используется на веб-сервере (а там, голосом слоненка из мультика про 38 попугаев говоря, "извините, Ubuntu 18.04 LTS"). Однако, собранный под эту ОС пакет находился и продолжает находиться в репах nginx - сами понимаете, желание попробовать не перекрылось нежеланием приключений на проде.

Собственно, чтобы сравнить:

И, да, для новых проектов буду думать, что выбрать - nginx, opennginx или angie. Но причин выбирать последний особо нет, тогда как первый (точнее, наверное - второй?) годами работает. Angie против "базового" Nginx лично мне интересен несколькими возможностями:

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

  • Экспорт различных метрик статистики в формате Prometheus с гибко настраиваемыми шаблонами.

Это заявлено, по сути - нужно щупать. И, конечно, для перехода нужно еще и процедуры придумать, потому что angie (вроде) немного другие файлы конфигурации использует, т.е. нужен процесс переезда.

Итог: на opennginx, особенное, если он будет 1 в 1 совместим с nginx по файлам и путям, перейти будет куда проще и спокойнее, потому что там курс развития будет прежним (и, возможно, большее число частей и модулей сервера станет доступно как опен-сорс), а с angie нужно думать (т.е. рынок ему достается априори меньший).

P.S. Angie, честно сказать, вполне живет и развивается. Но что стоит собирать его еще и под несколько древних ОС - мне не очень понятно, плюс добавили бы скрипт, который конвертил бы старую конфигу в новую, чтобы не приходилось руками всё копировать по каталогам!

Но что стоит собирать его еще и под несколько древних ОС - мне не очень понятно

Вы так пишете, будто nginx продолжает собираться под bionic. Но этот репозиторий давно объявлен устаревшим, последняя версия пакета nginx под bionic в данной репе датирована маем прошлого года - это уже достаточно старая 1.25.0 с известными уязвимостями.

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

Мне наш админ рассказал что Angie слил старые pull request Nginx, которые они годами не хотели сливать.

КМК это может быть связано с тем что часть этих веток реализовывало функционал из enterprise решения.

К сожалению, тренд на уменьшение общей доли nginx'a в сторону кадди/энвоя это вряд ли поменяет.

почему "к сожалению"?

Создам, пожалуй, тоже свой форк. Выражу несогласие с притеснением Анджелы Дэвис.

I no longer able to control which changes are made in nginx within F5, and no longer see nginx as a free and open source project developed and maintained for the public good.

Он стал таким ровно в тот момент когда nginx продали f5. Взять тот же angie, почему то они не пытаются засунуть собранные модули по типу brotli в pro версию как это делает f5 в попытке форсануть людей купить nginx plus.

Похоже на ситуацию с Oracle и OpenOffice, в дистрибутивах Linux постепенно замененным на LibreOffice. Как впрочем и другими похожими кейсами, когда крупный бизнес загребает себе известный опенсорс проект. Окей, ждем замены в дистрибутивах на angie и freenginx. Надеюсь, какая-то совместимость останется и конфиги сильно менять не придется :)

Sign up to leave a comment.

Other news