The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

·21.02.2025 В загрузчике GRUB2 выявлена 21 уязвимость (121 +20)
  Опубликованы сведения о 21 уязвимости в загрузчике GRUB2, большинство из которых приводят к переполнению буфера и могут использоваться для обхода механизма верифицированной загрузки UEFI Secure Boot. Проблемы пока устранены только в виде патча. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE, RHEL, Fedora. Для устранения проблем в GRUB2 недостаточно просто обновить пакет, требуется также сформировать новые внутренние цифровые подписи и обновлять инсталляторы, загрузчики, пакеты с ядром, fwupd-прошивки и shim-прослойку.

Выявленные уязвимости:

  • CVE-2024-45774: запись за границу буфера при разборе специально оформленных JPEG-изображений.
  • CVE-2024-45776, CVE-2024-45777: целочисленные переполнения при чтении специально оформленных mo-файлов, приводящие к записи за пределы буфера.
  • CVE-2024-45778, CVE-2024-45779: целочисленные переполнения при работе с повреждённой файловой системой BFS, приводящие к переполнению буфера.
  • CVE-2024-45780: целочисленное переполнение при обработке специально оформленных tar-архивов, приводящее к записи за пределы буфера.
  • CVE-2024-45781, CVE-2025-0677: переполнения буфера при работе с повреждённой файловой системой UFS.
  • CVE-2024-45782, CVE-2025-1125: переполнения буфера при монтировании специально оформленного раздела HFS.
  • CVE-2025-0622: обращение к памяти после её освобождения при манипуляциях с модулями, может привести к выполнению кода атакующего.
  • CVE-2025-0624: переполнение буфера при сетевой загрузке.
  • CVE-2025-0678: переполнения буфера при работе с повреждённой файловой системой Squash4.
  • CVE-2025-0684: переполнения буфера при манипуляциях с символическими ссылками в ФС Reiserfs.
  • CVE-2025-0685: переполнения буфера при манипуляциях с символическими ссылками в ФС JFS.
  • CVE-2025-0685: переполнения буфера при манипуляциях с символическими ссылками в ФС ROMFS.
  • CVE-2025-0689: переполнения буфера при работе со специально модифицированным разделом UDF.
  • CVE-2025-0690: переполнения буфера при получении специально оформленных данных с клавиатуры.
  • CVE-2025-1118: обход режима изоляции Lockdown и извлечение произвольного содержимого памяти через выполнение команды dump.
  • CVE-2024-45775: отсутствие проверки кода ошибки при выделении памяти при разборе переданных аргументов может привести к повреждению данных IVT (Interrupt Vector Table).
  • CVE-2024-45783: доступ по нулевому указателю при монтировании некорректной ФС HFS+.

В большинстве Linux-дистрибутивов для верифицированной загрузки в режиме UEFI Secure Boot используется небольшая прослойка shim, заверенная цифровой подписью Microsoft. Данная прослойка верифицирует GRUB2 собственным сертификатом, что позволяет разработчикам дистрибутивов не заверять каждое обновление ядра и GRUB в Microsoft. Уязвимости в GRUB2 позволяют добиться выполнения своего кода на этапе после успешной верификации shim, но до загрузки операционной системы, вклинившись в цепочку доверия при активном режиме Secure Boot и получив полный контроль за дальнейшим процессом загрузки, например, для загрузки другой ОС, модификации компонентов операционной системы и обхода защиты Lockdown.

Для блокирования уязвимости без отзыва цифровой подписи дистрибутивы могут использовать механизм SBAT (UEFI Secure Boot Advanced Targeting), поддержка которого реализована для GRUB2, shim и fwupd в большинстве популярных дистрибутивов Linux. SBAT разработан совместно с Microsoft и подразумевает добавление в исполняемые файлы компонентов UEFI дополнительных метаданных, которые включают информацию о производителе, продукте, компоненте и версии. Указанные метаданные заверяются цифровой подписью и могут отдельно включаться в списки разрешённых или запрещённых компонентов для UEFI Secure Boot.

SBAT позволяет блокировать использование цифровой подписи для отдельных номеров версий компонентов без необходимости отзыва ключей для Secure Boot. Блокирование уязвимостей через SBAT не требует использования списка отозванных сертификатов UEFI (dbx), а производится на уровне замены внутреннего ключа для формирования подписей и обновления GRUB2, shim и других поставляемых дистрибутивами загрузочных артефактов. До внедрения SBAT, обновление списка отозванных сертификатов (dbx, UEFI Revocation List) было обязательным условием полного блокирования уязвимости, так как атакующий, независимо от используемой операционной системы, мог для компрометации UEFI Secure Boot использовать загрузочный носитель со старой уязвимой версией GRUB2, заверенной цифровой подписью.

  1. OpenNews: Уязвимость в патчах Red Hat к загрузчику GRUB2, позволяющая обойти проверку пароля
  2. OpenNews: Релиз загрузочного менеджера GNU GRUB 2.12
  3. OpenNews: Уязвимость в NTFS-драйвере из состава GRUB2, позволяющая выполнить код и обойти UEFI Secure Boot
  4. OpenNews: Две уязвимости в GRUB2, позволяющие обойти защиту UEFI Secure Boot
  5. OpenNews: Разбор сути SBAT и проблем с обновлением к Windows, повлиявшим на загрузку Linux
Обсуждение (121 +20) | Тип: Проблемы безопасности |
·21.02.2025 Релиз языка программирования Rust 2024 (1.85) (144 +7)
  Опубликован релиз языка программирования общего назначения Rust 1.85, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Кроме штатного номера версии 1.85 выпуск обозначен как Rust 2024, что знаменует стабилизацию изменений, предложенных за последние три года. Редакция языка "Rust 2024" станет основой для наращивания функциональности в последующие три года, по аналогии с тем, как выпуск Rust 2021 стал базисом для развития языка в прошедшие три года.

Для сохранения совместимости разработчики могут использовать в своих программах метки "2015", "2018", "2021" и "2024", позволяющие привязать программы к срезам состояния языка, соответствующим выбранным редакциям Rust. Редакции были введены для разделения несовместимых изменений и настраиваются в метаданных cargo-пакетов через поле "edition" в секции "[package]".

Например, редакция "2021" включает стабилизированную на конец 2021 года функциональность и охватывает все дальнейшие изменения, не нарушающие совместимость. Редакция "2024" дополнительно включает нарушающие совместимость новшества, предложенные в текущем выпуске 1.85 и утверждённые для реализации в будущем. Кроме самого языка редакции также учитывают состояние инструментария и документации. Для автоматической адаптации кода к новой редакции языка может использоваться команда "cargo fix".

Основные несовместимости, зафиксированные в Rust 2024:

  • Изменено поведение при захвате параметров в "impl Trait", если не используется новый синтаксис "use<..>", определяющий информацию о скрытых типах. В Rust 2024, если не используется "use<..>", все параметры в области видимости неявно захватываются. Если необходимо ограничить захват параметров, следует использовать "use<..>", например, "impl Trait + use<'x, T>" указывает, что в скрытом типе разрешено использовать только параметры "x" и "T".
  • В выражениях "if let" изменена область видимости временных значений, полученных в результате выполнения выражения. При выполнении "if let $pat = $expr { .. } else { .. }" временные значения, полученные в блоке $expr, теперь будут удалены до переключения на блок "else", а не после обработки "else { .. }".
  • Изменена область видимости временных значениях в хвостовых выражениях, завершающих выполнение функции, блока или замыкания. Подобные значения теперь сбрасываются до локальных переменных (раньше они могли сохраняться дольше, чем сам блок и определённые в нём локальные переменные).
  • Запрещены некоторые неоднозначно трактуемые разработчиками варианты применения mut, ref, ref mut, & и &mut в шаблонах, например, вместо "let [x, mut y] = &[(), ()];" следует писать "let &[ref x, mut y] = &[(), ()];".
  • Блоки "extern" обязательно должны помечаться ключевым словом "unsafe".
  • Атрибуты export_name, link_section и no_mangle должны помечаться ключевым словом "unsafe".
  • Включено по умолчанию предупреждение "unsafe_op_in_unsafe_fn" для проверки обрамления блоками "unsafe {}" кода, используемого в unsafe-функциях.
  • Запрещено выставлять ссылки на элементы, определённые как "static mut".
  • Lint-проверка "never_type_fallback_flowing_into_unsafe" по умолчанию переключена в режим "deny".
  • В спецификатор "expr" добавлена поддержка выражений "const" и "_".
  • Lint-проверка "missing_fragment_specifier" переведена в режим вывода ошибки.
  • Зарезервировано ключевое слово "gen", которое в будущем планируют использовать для генераторов.
  • Зарезервирован стиль определения строк '#"foo"#' и токены '##'.
  • В стандартной библиотеке в число автоматически импортируемых типажей добавлены Future и IntoFuture. В структуру "Box<[T]>"добавлен типаж IntoIterator. Помечены ключевым словом unsafe функции std::env::set_var, std::env::remove_var и std::os::unix::process::CommandExt::before_exec.
  • В пакетном менеджере Cargo включён по умолчанию новый механизм обработки зависимостей, выбирающий версии зависимых компонентов с учётом совместимости с версиями компилятора Rust, заявленными как минимально поддерживаемые проектом (MSRV, Minimum Supported Rust Version). Удалены некоторые устаревшие ключи в Cargo.toml. В зависимости запрещено использование режима "default-features = false", если он унаследован от пакета со значением "default-features = true" или без параметра "default-features".
  • В Rustdoc тесты doctest объединены в один исполняемый файл. При включении doctest через "include_str!" файловый путь теперь вычисляется относительно Markdown-файла, а не файла с кодом.
  • В Rustfmt предложена концепция редакций стиля форматирования. Изменена логика сортировки идентификаторов.

Новшества Rust 1.85:

Язык Rust сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки). Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п.

Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.

  1. OpenNews: Выпуск Rust 1.84. Ядра Tock и Vekos, написанные на Rust. Диалект Mini-C
  2. OpenNews: Проект Bottles будет переписан на языке Rust с использованием libcosmic
  3. OpenNews: Опубликован эмулятор QEMU 9.2.0 с поддержкой Rust и Vulkan
  4. OpenNews: Инициатива по верификации стандартной библиотеки Rust
  5. OpenNews: C++ Alliance продвигает в C++ механизмы безопасной работы с памятью, опробованные в Rust
Обсуждение (144 +7) | Тип: Программы |
·21.02.2025 Выпуск САПР KiCad 9.0 (75 +14)
  После года разработки опубликован релиз свободной системы автоматизированного проектирования печатных плат KiCad 9.0.0. Это третий значительный выпуск, сформированный после перехода проекта под крыло организации Linux Foundation. Сборки подготовлены для различных дистрибутивов Linux, Windows и macOS. Код написан на C++ с использованием библиотеки wxWidgets и распространяется под лицензией GPLv3.

KiCad предоставляет средства для редактирования электрических схем и печатных плат, 3D-визуализации платы, работы с библиотекой элементов электрических цепей, манипуляций с шаблонами в формате Gerber, симуляции работы электронных схем, редактирования печатных плат и управления проектами. Проектом также предоставляются библиотеки электронных компонентов, посадочных мест и 3D-моделей. По сведению некоторых производителей печатных плат, около 15% заказов поступает с предоставлением схем, подготовленных в KiCad.

Среди изменений в новом выпуске:

  • Добавлена поддержка "Списков заданий" (Jobsets), позволяющих создавать файлы с предварительно определёнными операциями над схемами и печатными платами, которые можно использовать повторно для воспроизведения типовых действий разными пользователями. Списки заданий можно выполнять как через GUI, так и из командной строки.

  • Реализована поддержка встраивания различных элементов в схемы, распайки и посадочные места, вместо привязки к внешним файлам. Изменение позволяет создавать самодостаточные файлы проектов, не зависящие от сторонних файлов, таких как файлы со шрифтами и 3D-моделями.
  • В редакторах схем и печатных плат реализована поддержка инструмента "Кривая Безье". Ранее соединения на базе кривых Безье можно было только импортировать и редактировать, а теперь их можно создавать с нуля.

  • Добавлена поддержка многоканального проектирования (Multi-channel design), позволяющего на основе имеющейся раскладки элементов печатных плат создавать новые каналы с аналогичным размещением и разводкой элементов.

  • Добавлена поддержка классов компонентов (Component classes), позволяющих группировать различные символы и посадочные места в классы, к которым могут применяться собственные правила проектирования.
  • В редакторы схем, символов и посадочные мест добавлена поддержка редактирования таблиц.
  • Добавлена возможность определения собственных ошибок и предупреждений ERС (Electrical Rules Check) и DRC (Design Rules Check).
  • Добавлена поддержка привязки к колесу мыши различных действий в редакторах печатных плат, схем, символов и посадочных мест.

  • Улучшения в редакторах схем и символов.
    • Появилась возможность выделения объектов на основе заданных фильтров.
    • Добавлен инструмент для синхронизации выводов листа и иерархических меток.

    • Добавлена поддержка блоков проектирования схем для создания библиотек повторно используемых элементов схем.
    • Добавлен новый класс для выделения соединительных дорожек цветом.
  • Улучшения в редакторах печатных плат и посадочных мест:
    • Добавлен менеджер зон, позволяющий просматривать и настраивать зоны без редактирования отдельных зон.
    • Улучшены операции тентирования верхних и нижних слёв.
    • Добавлен пресеты пар медных слоев и возможность быстрого переключения между пресетами.
    • Добавлен инструмент для изменения форм.
    • Добавлена возможность создания контактных площадок PTH с различной формой медных площадок в разных слоях.
    • Добавлены режимы интерактивного позиционирования объектов и прямой манипуляции объектами. Предоставлена возможность перемещения разом нескольких дорожек.

    • Добавлена поддержка экспорта 3D-моделей в форматах XAO, STL, BREP и PLY.

  1. OpenNews: Выпуск САПР KiCad 8.0
  2. OpenNews: Проект KiCad перешёл под покровительство Linux Foundation
  3. OpenNews: Выпуск свободной САПР LibreCAD 2.2
  4. OpenNews: Выпуск системы проектирования печатных плат LibrePCB 0.1.3
  5. OpenNews: Выпуск свободной САПР FreeCAD 1.0
Обсуждение (75 +14) | Тип: Программы |
·21.02.2025 Gentoo представил официальные загрузочные образы в формате QCOW2 (44 +15)
  Разработчики проекта Gentoo объявили о формировании официальных загрузочных образов в формате QCOW2, позволяющих получить полностью работающее системное окружение, готовое к запуску в виртуальных машинах. Образы обновляются раз в неделю, что позволяет использовать их для оценки текущего состояния дистрибутива. Ранее проектом распространялись только установочные образы и Live-сборка для загрузки с USB-устройств.

Предложено два варианта: образ без сетевых сервисов с пустым паролем root и образ с сетевыми сервисами, заблокированными учётными записями и поддержкой настройки через "cloud-init". Первый вариант предназначен для быстрого ознакомления и тестирования дистрибутива на локальной системе, а второй вариант для развёртывания в облачных окружениях. В качестве файловой системы используется XFS.

Образы формируются для архитектур amd64 (x86-64) и arm64 (aarch64), и поддерживают загрузку на системах с EFI (BIOS не поддерживается). В планах публикация образов для архитектур riscv64 и loongarch64. На основе доступных образов можно создавать загрузочные носители, используя команду "qemu-img convert" для преобразования формата qcow2 в дисковый образ.

  1. OpenNews: Проект Gentoo опубликовал отчёт за 2024 год
  2. OpenNews: В Gentoo Linux реализована поддержка DTrace 2.0
  3. OpenNews: В Gentoo Linux значительно улучшена поддержка архитектур MIPS и Alpha
  4. OpenNews: Gentoo прекращает поддержку платформы IA-64 (Itanium)
  5. OpenNews: Эксперимент по переводу Gentoo на использование варианта Coreutils на языке Rust
Обсуждение (44 +15) | Тип: К сведению |
·21.02.2025 Линус Торвальдс пояснил свою позицию в отношении приёма изменений на Rust (240 +46)
  К обсуждению сопротивления мэйнтейнеров внедрению Rust в ядро подключился Линус Торвальдс, который пояснил, что никто не заставляет мэйнтейнеров изучать язык Rust, использовать код на Rust или принимать во внимание наличие в ядре кода на Rust. Мэйнтейнеры могут спокойно продолжать работать только с кодом на Си и никак не пересекаться с Rust. Но подобные сопровождающие не могут и влиять на то, как развивается Rust в ядре, например, не могут вмешиваться в организацию внешнего взаимодействия Rust-кода с кодом их подсистемы.

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

Таким образом, вокруг разработчиков, использующих только язык Си, формируется своеобразная защитная стена, ограждающая их от проблем, связанных с Rust и позволяющая не соприкасаться с Rust. Но эта стена работает в обе стороны, поэтому если разработчик не хочет иметь дело с Rust, он не получает возможность влиять на продвижение Rust. Иными словами: "никто не обязан иметь дело с Rust" не обозначает, что "каждый мэйнтейнер может наложить вето на любой код на Rust". Предполагается, что на деле деление мэйнтейнеров не будет столь радикальным и некоторые сопровождающие станут учитывать обвязки на Rust и сотрудничать с их разработчиками, но не слишком активно погружаясь в этот процесс.

Что касается ситуации с подтверждением Rust-обвязок над подсистемой DMA в обход мэйнтейнера, пытающегося заблокировать приём подобных обвязок, Линус раскритиковал действия Кристофа Хелвига. По мнению Линуса, Кристоф превысил свои полномочия и попытался повлиять на код, который не затрагивал код подсистемы DMA, был реализован в отдельном подкаталоге и не влиял на код, за который отвечает Кристоф. Кристоф попытался контролировать то, для чего используется подсистема DMA и его действия можно сравнить с попыткой запрета использования DMA в каком-то драйвере лишь потому, что ему не понравился этот драйвер. Итог: несмотря на то, что сопровождающие отвечают за свой код, они не отвечают за то, как и кем используется результат работы этого кода.

  1. OpenNews: Мнение Грега Кроа-Хартмана и Кейса Кука о продвижении Rust в ядро Linux
  2. OpenNews: Линус Торвальдс намерен включать связанные с Rust изменения в обход мэйнтейнеров
  3. OpenNews: Мэйнтейнер драйвера Nouveau сложил полномочия из-за проблем с инклюзивностью в сообществе
  4. OpenNews: Кризис в продвижении Rust в ядро из-за опасений усложнения сопровождения
  5. OpenNews: Лидер Asahi Linux покинул проект после проблем с продвижением Rust в ядро Linux
Обсуждение (240 +46) | Тип: К сведению |
·20.02.2025 Выпуск Ubuntu 24.04.2 LTS c обновлением графического стека и ядра Linux (100 +11)
  Сформировано обновление дистрибутива Ubuntu 24.04.2 LTS, в которое включены изменения, связанные с улучшением поддержки оборудования, обновлением ядра Linux и графического стека, исправлением ошибок в инсталляторе и загрузчике. В состав также включены актуальные обновления для нескольких сотен пакетов, связанные с устранением уязвимостей и проблем, влияющих на стабильность. Одновременно представлены аналогичные обновления Kubuntu 24.04.2 LTS, Ubuntu Budgie 24.04.2 LTS, Ubuntu MATE 24.04.2 LTS, Lubuntu 24.04.2 LTS, Ubuntu Kylin 24.04.2 LTS, Ubuntu Studio 24.04.2 LTS, Xubuntu 24.04.2 LTS, Edubuntu 24.04.2 LTS, Ubuntu Cinnamon 24.04.2 LTS и Ubuntu Unity 24.04.2 LTS.

В состав выпуска включены некоторые улучшения, бэкпортированные из выпуска Ubuntu 24.10:

  • Предложены пакеты с ядром Linux версии 6.11 (базовое ядро Ubuntu 24.04 - 6.8).
  • Обновлены компоненты графического стека, включая Mesa 24.2 и libdrm 2.4.122, которые были протестированы в выпуске Ubuntu 24.10. Добавлены свежие версии видеодрайверов для чипов Intel, AMD и NVIDIA.
  • Обновлены версии некоторых пакетов, таких как BIND 9.18.30, GCC 14.2, LibreOffice 24.2.7, GNOME 46.3, gnome-control-center 46.5, cloud-init 24.4, ceph 19.2.0, snapd 2.66.1, .NET 8.0.11.
  • Добавлена поддержка SoundWire для платформы AMD.

В сборках для рабочего стола (Ubuntu Desktop) новые ядро и графический стек предложены по умолчанию. Для серверных систем (Ubuntu Server) новое ядро добавлено в качестве опции в инсталляторе. Использовать новые сборки имеет смысл только для новых установок - системы, установленные ранее, могут получить все присутствующие в Ubuntu 24.04.2 изменения через штатную систему установки обновлений.

Напомним, что для поставки новых версий ядра и графического стека применяется rolling-модель поддержки обновлений, в соответствии с которой бэкпортированные ядра и драйверы будут поддерживаться только до выхода следующего корректирующего обновления LTS-ветки Ubuntu. Так, предложенное в нынешнем выпуске ядро Linux 6.11 будет поддерживаться до выхода Ubuntu 24.04.3, в котором будет предложено ядро из состава Ubuntu 25.04. Изначально поставляемое базовое ядро 6.8 будет поддерживаться в течение всего пятилетнего цикла сопровождения.

Для отката Ubuntu Desktop на базовое ядро 6.8 следует выполнить команду:


    sudo apt install --install-recommends linux-generic 

Для установки нового ядра в Ubuntu Server следует запустить:


   sudo apt install --install-recommends linux-generic-hwe-24.04 

  1. OpenNews: Ubuntu переходит на использование Matrix для общения разработчиков
  2. OpenNews: Выпуск дистрибутива Ubuntu 24.10
  3. OpenNews: Выпуск Ubuntu 22.04.5 LTS
  4. OpenNews: Релиз Ubuntu 24.04.1 LTS
  5. OpenNews: Ubuntu переходит на использование самых свежих версий ядра в предстоящих релизах
Обсуждение (100 +11) | Тип: Программы |
·20.02.2025 Выпуск Netflow/IPFIX/sFlow коллектора Xenoeye 25.02 (12 +9)
  Опубликован релиз Netflow/IPFIX/sFlow коллектора Xenoeye 25.02. Коллектор позволяет собирать с различных сетевых устройств статистику о потоках трафика, передаваемую с использованием протоколов Netflow v5, v9, IPFIX и sFlow, обрабатывать данные, генерировать отчёты и строить графики. Ядро проекта написано на языке С, код распространяется под лицензией ISC.

Коллектор агрегирует сетевой трафик по выбранным полям и экспортирует данные в PostgreSQL. По этим данным можно строить отчеты, графики (используя gnuplot, скриптами на Python + Matplotlib) или дашборды в Grafana. Кроме этого, коллектор может запускать пользовательские скрипты при превышении порогов или при падении трафика ниже порогов.

Для подсчёта текущей скорости трафика используются скользящие средние. Механизм, отслеживающий превышение порогов, предназначен для оповещения о DoS/DDoS-атаках и запуске подавления с помощью BGP-анонсов (Flowspec или Blackhole). В комплекте с коллектором идет пример скрипта Telegram-робота, который может оповещать в мессенджер об аномалиях. Коллектор не требователен к ресурсам, он может обрабатывать трафик небольших сетей на Raspberry/Orange Pi или в виртуальной машине с 2-4Гб оперативной памяти.

Изменения в новой версии:

  • Добавлена поддержка протокола sFlow, для которого реализована возможность парсить начинку (payload) сетевых пакетов и извлекать оттуда информацию о DNS и TLS (HTTPS) SNI. Хостеры и владельцы датацентров могут использовать данную возможность для борьбы с фишингом и оценки того, какие домены и сайты хостятся в сети.
  • Добавлена поддержка вложенных/иерархических объектов мониторинга, позволяющих упростить некоторые конфигурации с большим количеством объектов и повысить производительность обработки по сравнению с "плоским" списком объектов мониторинга.
  • Добавлена возможность классификации интерфейсов - трафик выбранных сетевых интерфейсов маршрутизаторов или коммутаторов можно игнорировать или обрабатывать специальным образом.
  • Добавлена возможность следить не только за всплесками трафика, но и за падением ниже порогов, что может быть полезно для косвенного мониторинга отдельных серверов или сервисов.
  • Добавлена возможность изменять пороги трафика без перезапуска коллектора. Механизм предназначен для ситуации, когда пользователи вычисляют пороги автоматически, исходя из статистики за предыдущие периоды, и периодически обновляют пороги в коллекторе.
  • Добавлен LXC-контейнер для быстрого развёртывания и тестирования коллектора. В контейнер входит коллектор с предустановленными объектами мониторинга, PostgreSQL и Grafana.

  1. OpenNews: Опубликован Netflow-коллектор Xenoeye
  2. OpenNews: Выпуск дистрибутива BSD Router Project 1.994
  3. OpenNews: Релиз FastNetMon 1.1.2, открытого решения по обнаружению DDoS-атак
Обсуждение (12 +9) | Автор: Аноним | Тип: Программы |
·20.02.2025 Mozilla диверсифицирует бизнес через AI-продукты и платформу online-рекламы (65 –11)
  Марк Сурман (Mark Surman), президент организации Mozilla Foundation, объявил о реорганизации управления проектом Mozilla и диверсификации путей получения доходов. Изменения объясняются желанием преодолеть препятствия, связанные с финансовым ростом и продвижением миссии проекта. Отмечается, что дальнейшее выживание Mozilla зависит одновременно от того, как проект укрепит Firefox, привлечёт новые источники дохода и расширит способы продвижения свой миссии.

В дополнение к браузеру Firefox, который останется основным направлением деятельности Mozilla, компания анонсировала три новых направления:

  • Инвестирование в продвижение собственной платформы показа рекламы, заботящейся о конфиденциальности пользователей. Предполагается, что запуск рекламной платформы даст возможность увеличить доходы в ближайшее время.
  • Развитие открытых технологий в области искусственного интеллекта, которые позволят компании сохранить актуальность по технологиям и выпускаемым продуктам в среднесрочной перспективе.
  • Создание online-кампаний по сбору средств (fundraising), которые привлекут больше сторонников для сохранения проекта в долгосрочной перспективе.

Изменения в управлении сводятся к созданию нового управляющего органа Mozilla Leadership Council, в который войдут руководители всех организаций Mozilla, а также назначению новых председателей советов директоров организаций Mozilla Foundation, Mozilla Corporation и Mozilla.ai. Совет Mozilla Leadership Council создан для координации совместной работы организаций, образующих проект Mozilla. В совет вошли Mark Surman (президент) и Jane Silber (Mozilla.ai), Laura Chambers (Mozilla Corporation), Mohamed Nanabhay (Mozilla Ventures), Nabiha Syed (Mozilla Foundation) и Ryan Sipes (MZLA/Thunderbird).

Митчелл Бейкер (Mitchell Baker) покинула совет директоров Mozilla Corporation (Executive Chairwoman) и прекратила занимать пост его председателя. Новым председателем назначена Керри Купер (Kerry Cooper), которая была принята в совет директоров Mozilla Corporation два года назад, а до этого занимала связанные с маркетингом руководящие должности в компаниях Walmart.com, Rothy's и Choose Energy.

Председателем совета директоров Mozilla Foundation назначена Николь Вонг (Nicole Wong), юрист по вопросам конфиденциальности и интеллектуальной собственности, занимавшая руководящие должности в Google и Twitter. На пост председателем совета директоров Mozilla.ai утверждён Раффи Крикорян (Raffi Krikorian), возглавлявший лабораторию беспилотных автомобилей в Uber, занимавший пост вице-президента по разработке платформ в Twitter и являвшийся техническим директором организации Emerson Collective.

  1. OpenNews: Mozilla Foundation увольняет 30% сотрудников и закрывает подразделение Mozilla Advocacy
  2. OpenNews: Mozilla объявила о развитии собственной платформы показа рекламы
  3. OpenNews: Митчелл Бейкер ушла с поста руководителя Mozilla Corporation
  4. OpenNews: Mozilla опубликовала сервис для AI-генерации сайтов Solo 1.0
  5. OpenNews: Mozilla уволит около 60 сотрудников и сосредоточит внимание на AI-технологиях в Firefox
Обсуждение (65 –11) | Тип: К сведению |
·20.02.2025 Мнение Грега Кроа-Хартмана и Кейса Кука о продвижении Rust в ядро Linux (503 +29)
  Грег Кроа-Хартман (Greg Kroah-Hartman), отвечающий за поддержку стабильной ветки ядра Linux, высказался в поддержку разработки новых компонентов ядра на языке Rust. Как человек, через которого последние 15 лет проходит вся информация об ошибках и уязвимостях в ядре Linux, он утверждает, что большинство ошибок в ядре вызваны неучитываемыми особенностями языка Си (corner case), которые полностью исключены в коде на языке Rust.

При использовании Rust можно будет оставить в прошлом такие проблемы, как обращение к памяти после её освобождения, выход на границу буфера (частично), некорректное освобождение ресурсов при обработке ошибок и забытые проверки возвращаемых кодов ошибок, что позволит мэйнтейнерам сосредоточиться на реальных ошибках, таких как состояния гонки и проблемы с логикой, а не рассеивать при рецензировании внимание по мелочам.

Уже имеющийся старый код на языке Си никуда не денется, а вот для нового кода и новых драйверов внедрение Rust позволит существенно поднять качество. Внедрение Rust также даст возможность структурировать внутренние программные интерфейсы ядра таким образом, что будут практически исключены ошибки использования внутреннего API - в ядре накопилось слишком много сложных и запутанных API, создающих большую нагрузку на мэйнтейнеров в их работе по проверке, что данные API используются правильно. В процессе развития Rust-обвязок у мэйнтейнеров появляется возможность переосмыслить и привести в порядок API, что принесёт пользу для всех, включая использующих язык Си.

Грег не считает Rust "серебряной пулей", которая позволит решить все проблемы в ядре, но данный язык точно поможет в огромном числе ситуаций. Поддержка Rust также удовлетворит потребность разработчиков драйверов, которые надеются получить инструмент, позволяющий писать код для их оборудования, исключая многие типы ошибок. Что касается, смешивания нескольких языков, Грег не видит в этом большой проблемы, по его мнению, в прошлом разработчики ядра справлялись и с более серьёзными задачами, и нет повода отказываться от продвижения в ядро новых хороших идей, которые помогут обеспечить успех проекта на следующие 20+ лет.

К обсуждению также присоединился Кейс Кук (Kees Cook), бывший главный системный администратор kernel.org и лидер Ubuntu Security Team. Кейс уточнил, что речь не про переписывание уже имеющегося кода в ядре, а в предоставлении возможности использования Rust для создания новых драйверов и подсистем. Применение Rust для нового кода позволит не только снизить число ошибок при работе с памятью, но и сократить время разработки. Скорость разработки возрастает благодаря снижению трудозатрат на отладку и наличию в языке строгих гарантий, позволяющих выявлять ошибки на ранней стадии написания кода, ещё до начала тестирования продукта.

Эффективность тактики использования Rust для повышения качества нового кода уже продемонстрирована Google в платформе Android. Показано, что основным источником проблем с безопасностью является новый код, и повышению его качества следует уделять основное внимание. Для старого кода наблюдается экспоненциальная зависимость безопасности от времени (например, 5-летний код в среднем имеет в 3.4 раза меньшую плотность уязвимостей, чем новый код).

  1. OpenNews: Линус Торвальдс намерен включать связанные с Rust изменения в обход мэйнтейнеров
  2. OpenNews: Лидер Asahi Linux покинул проект после проблем с продвижением Rust в ядро Linux
  3. OpenNews: Кризис в продвижении Rust в ядро из-за опасений усложнения сопровождения
  4. OpenNews: Заметки Теодора Тс'о о ядре Linux, кодексе поведения, ext4, btrfs и ZFS
  5. OpenNews: Мэйнтейнер драйвера Nouveau сложил полномочия из-за проблем с инклюзивностью в сообществе
Обсуждение (503 +29) | Тип: Тема для размышления |
·19.02.2025 Релиз Mesa 25.0, свободной реализации OpenGL и Vulkan (116 +28)
  После трёх месяцев разработки опубликован релиз свободной реализации API OpenGL и Vulkan - Mesa 25.0.0. Первый выпуск ветки Mesa 25.0.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 25.0.1.

В Mesa 25.0 доступна поддержка графического API Vulkan 1.4 в драйверах ANV для GPU Intel, RADV для GPU AMD, NVK для GPU NVIDIA, Asahi для GPU Apple, Turnip для GPU Qualcomm и в программном растеризаторе lavapipe (lvp). В режиме эмулятора (vn) поддерживается API Vulkan 1.3, в драйвере PanVK для GPU ARM Mali - Vulkan 1.1, а в драйверах v3dv (GPU Broadcom VideoCore для Raspberry Pi 4+) и dzn (реализация Vulkan поверх Direct3D 12) - Vulkan 1.0.

В Mesa также обеспечивается полная поддержка OpenGL 4.6 для драйверов iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (старые GPU Intel Gen4-Gen7), zink, llvmpipe, virgl (виртуальный GPU Virgil3D для QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (прослойка для организации работы OpenGL поверх DirectX 12) и asahi (GPU AGX, используемый в чипах Apple M1 и M2). Поддержка OpenGL 4.5 доступна для GPU AMD (r600) и NVIDIA (nvc0). Поддержка OpenGL 3.3 присутствует в драйверах softpipe (программный растеризатор) и nv50 (NVIDIA NV50).

Основные новшества:

  • В Vulkan-драйверах ANV (Intel), RADV (AMD), NVK (NVIDIA), Asahi (Apple), PanVK (ARM Mali) и Turnip (Qualcomm), а также программном растеризаторе lavapipe (lvp) заявлена поддержка API Vulkan 1.4 (ранее поддерживалась версия Vulkan 1.3).
  • В Vulkan-драйвере RADV добавлена начальная поддержка GPU AMD RDNA4 (GFX12, серия AMD Radeon RX 9000).
  • Драйвер RadeonSI переведён на использование бэкенда компиляции шейдеров ACO, созданный компанией Valve в качестве альтернативы компилятору шейдеров LLVM. Бэкенд ACO нацелен на обеспечение генерации кода, насколько это возможно оптимального для шейдеров игровых приложений, а также на достижение очень высокой скорости компиляции. ACO написан на языке С++, разрабатывается с оглядкой на возможность применения для JIT-компиляции и использует быстрые для перебора структуры данных, избегая структур на основе указателей.
  • Добавлен драйвер amdgpu_virtio, позволяющий гостевой системе использовать OpenGL- и Vulkan-драйверы radeonsi, radeonsi_drv_video и radv, предоставляемые хост-окружением. Доступ осуществляется через VirtIO, что обеспечивает высокую производительность 3D-ускорения в виртуальной машине. Заявлено, что производительность amdgpu_virtio выше, чем при использовании драйверов virgl и venus, ранее разработанных для доступа к Vulkan и OpenGL из гостевых систем.
  • Расширены возможности OpenGL-драйвера Panfrost для GPU ARM Mali.
    • Включён по умолчанию механизм "transaction elimination", отбрасывающий избыточные операции (например, отбрасываются операции перезаписи фрагментов, не изменившимися с прошлой отрисовки).
    • Добавлена поддержка инкрементальной отрисовки, позволяющая снизить потребление памяти при рендеринге большого числа объектов за счёт раздельной обработки фрагментов (tile).
    • Добавлена поддержка режима AFBC 32x8, применяемого для оптимизации работы с буфером вывода (scan-out buffer) в некоторых дисплейных контроллерах.
    • Максимально поддерживаемая ширина и высота текстур увеличена с 8192 до 32768 пикселей.
    • Добавлена поддержка режима текстурирования MTK_FMT_MOD_TILE_16L32S, при котором фрагментированные данные копируются во временный нефрагментированный буфер перед отрисовкой (используется для работы с аппаратными декодировщиками видео, присутствующими в SoC MediaTek).
  • В драйвер ANV (Intel) добавлена поддержка Vulkan-расширений для декодирования видео в формате AV1.
  • В Vulkan-драйвере PanVK для GPU ARM Mali на базе архитектуры V10, таких как Mali-G610 и Mali-G310, реализована поддержка API Vulkan 1.1 (ранее поддерживалась версия Vulkan 1.0). PanVK включён в список драйверов, доступных для использования в Mesa по умолчанию (ранее PanVK не отображался в списке драйверов и для его использования нужно было выставлять переменную окружения). На системах ARM сборка PanVK включена по умолчанию.
  • В драйвере PanVK реализованы Vulkan-расширения:
  • В драйвер RADV (AMD) добавлена поддержка Vulkan-расширений VK_KHR_maintenance8 и VK_KHR_depth_clamp_zero_one.
  • В драйвер rusticl добавлена поддержка OpenCL-расширения cl_khr_depth_images.

    1. OpenNews: Опубликован графический стандарт Vulkan 1.4
    2. OpenNews: В Mesa принят amdgpu_virtio для использования OpenGL и Vulkan в гостевых системах
    3. OpenNews: В драйвер PanVK добавлена поддержка Vulkan 1.1. Улучшен OpenGL-драйвер Panfrost
    4. OpenNews: Для включения в Mesa передан начальный код для поддержки ОС Fuchsia
    5. OpenNews: Релиз Mesa 24.3, свободной реализации OpenGL и Vulkan
  • Обсуждение (116 +28) | Тип: Программы |
    ·19.02.2025 Линус Торвальдс намерен включать связанные с Rust изменения в обход мэйнтейнеров (491 +25)
      Кристоф Хелвиг (Christoph Hellwig), мэйнтейнер подсистем DMA, KVM, Slab Allocator и архитектуры PowerPC в ядре Linux, принципиально отказавшийся принимать в ядро Rust-обвязки для подсистемы DMA, подключился к обсуждению правил сопровождения Rust в составе ядра, опубликованных проектом Rust for Linux. По мнению Кристофа подобные правила бесполезны, пока они не согласованы с сообществом и не включены в документацию к ядру.

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

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

    При этом Кристоф просит пояснить ему цель внедрения Rust в ядро. Если цель в решении проблем с безопасностью, возникающих при низкоуровневой работе с памятью, то прежде всего требуется модернизация существующего кода. С учётом того, что сопровождающие болезненно реагируют даже на тривиальные вещи, такие как проверки на целочисленное переполнение, непонятно как можно преодолеть разрыв между одной частью ядра, не принимающей даже простые правила по обеспечению безопасности, и другой частью, придерживающейся соблюдения строгих правил. Если же цель в упрощении разработки драйверов, то введение поддержки ещё одного языка только добавит новой работы и увеличит нагрузку на и без того перегруженных людей, поддерживающих инфраструктуру ядра в рабочем состоянии.

    Что касается сторонников внедрения Rust в ядро, то ими называются следующие цели:

    • Написание нового кода на языке Rust снизит риск ошибок при работе с памятью и состояний гонки, а также исключит некоторые логические ошибки.
    • Мэйнтейнерам будет проще рецензировать изменения и проводить рефакторинг модулей с учётом гарантий, предоставляемых языком Rust.
    • Наличие абстракций, использующих продвинутые возможности языка Rust, упростит создание новых драйверов и модулей.
    • Поддержка современного языка привлечёт к разработке ядра новых участников.
    • Применение возможностей инструментария Rust упростит выполнение требований к документированию кода. Например, в проекте Rust for Linux введено требование по обязательному документированию публичных API, требований к безопасности, unsafe-блоков и инвариантов типов.

    Дополнение 1: Мнение Грега Кроа-Хартмана и Кейса Кука о целях продвижении Rust в ядро Linux.

    Дополнение 2: Линус Торвальдс пояснил свою позицию в отношении приёма изменений на языке Rust.

    1. OpenNews: Мэйнтейнер драйвера Nouveau сложил полномочия из-за проблем с инклюзивностью в сообществе
    2. OpenNews: Лидер Asahi Linux покинул проект после проблем с продвижением Rust в ядро Linux
    3. OpenNews: Кризис в продвижении Rust в ядро из-за опасений усложнения сопровождения
    4. OpenNews: Автора BcacheFS временно отстранили от разработки ядра Linux из-за нарушения кодекса поведения
    5. OpenNews: Заметки Теодора Тс'о о ядре Linux, кодексе поведения, ext4, btrfs и ZFS
    Обсуждение (491 +25) | Тип: К сведению |
    ·19.02.2025 Компания VK передаёт игровой движок Nau Engine на попечение сообщества (77 +8)
      Разработчики открытого игрового движка NauEngine, основанного компанией VK, объявили о передаче проекта сообществу. Техническое сопровождение движка вместо VK теперь будет осуществлять Школа разработки видеоигр ИТМО, а экспертную поддержку обеспечит ассоциация АПРИОРИ. В анонсе передача проекта в руки сообщества преподносится как новый этап развития, связанный с переходом от коммерческой модели разработки к модели на основе привлечения независимого сообщества. Репозиторий проекта не обновлялся с момента публикации бета-версии в ноябре.

    Судя по комментариям представителей проекта, данным изданию Коммерсант, дальнейшее развитие продукта будет зависить от сообщества, а интеграция с университетом ИТМО позволит развивать движок и обучать студентов разработке, а также использовать его как основу для научно-исследовательских работ. При этом пресс-служба VK заявила, что компания продолжит поддерживать движок, исходя из потребностей его дальнейшего развития. Директор Школы разработки видеоигр ИТМО считает, что в сообществе движок сможет развиваться более эффективно и разнопланово, чем при стандартной коммерческой разработке. По мнению представителей игровой индустрии движок Nau Engine оказался не востребован и все продолжают работать с Unreal Engine и Unity.

    В качестве основы движка NauEngine используется система рендеринга, построенная с заимствованием компонентов из движка Dagor Engine, открытого осенью прошлого года компанией Gaijin Entertainment. Код из движка Dagor был доработан, особенно в области управления ассетами. Вместо внутреннего языка шейдеров Dagor (dshl) задействован язык HLSL. Добавлена возможность условной компиляции шейдеров для динамического изменения материала поверхности. Переработана реализация техники физически корректного рендеринга (PBR). Для ассетов задействован формат USD (Universal Scene Description).

    Для симуляции физических процессов задействована библиотека Jolt. Для построения графического интерфейса в играх применён инструментарий Cocos2dx и библиотека Dear ImGui. Сетевое взаимодействие в движке организовано при помощи UDP-транспорта GameNetworkingSockets и библиотеки ASIO. Для работы со звуком используется библиотека miniaudio. Для управления вводом используется библиотека gainput, а для импорта скелетной анимации проект ozz-animation. Для написания игровой логики предлагается использовать языки C++ и Lua, но дополнительно развивается подсистема агностического скриптинга, которая позволит применять различные языки программирования.

    Вместе с движком развивается среда разработки игр NauEditor, включающая редактор трехмерной сцены, материалов, анимаций и визуальных эффектов (VFX). Интерфейс построен с использованием библиотеки Qt 6 и включает такие компоненты, как Project Browser (Браузер проекта), Viewport (Окно просмотра), Outliner (Структура сцены), Inspector (Инспектор) и Console (Консоль). Отдельно поставляется редактор интерфейса пользователя в играх (GUI Editor), основанный на библиотеке Cocos2dx.

    1. OpenNews: Началось бета-тестирование открытого российского игрового движка NauEngine
    2. OpenNews: Открыт код игрового движка Dagor Engine, который будет использован VK в Nau Engine
    3. OpenNews: VK будет развивать свой открытый игровой движок под именем Nau Engine
    4. OpenNews: Обновление игрового движка с открытым кодом Dagor Engine
    Обсуждение (77 +8) | Тип: К сведению |
    ·19.02.2025 Компания Valve опубликовала код игры Team Fortress 2 (112 +70)
      Компания Valve опубликовала обновлённый инструментарий "Source SDK 2013", предназначенный для создания модов к играм на базе движка Source. Публикация примечательна тем, что в состав пакета включён исходный код игры Team Fortress 2 (как клиентские, так и серверные части). Отмечается, что доступность кода позволит создателям модов не только вносить незначительные изменения и дополнение в существующую игру, но и создавать полностью переработанные варианты Team Fortress 2.

    Поддерживается сборка в Linux и Windows. Созданные на основе предложенного кода модификации разрешено публиковать в Steam в форме новых игр. Код распространяется под лицензией SOURCE 1 SDK, допускающей использование, копирование и модификацию, при условии, что результат распространяется бесплатно и не нарушает условия сервиса Steam.

    1. OpenNews: Опубликован исходный код игры Rogue Legacy
    2. OpenNews: Открыт исходный код игры Outertale
    3. OpenNews: Открыты исходные тексты игры Descent 3
    4. OpenNews: Открыты исходные тексты игры Duelyst
    5. OpenNews: Компания Valve начнёт напрямую участвовать в разработке Arch Linux
    Обсуждение (112 +70) | Тип: К сведению |
    ·18.02.2025 Обновление OpenSSH 9.9p2 с устранением возможности совершения MITM-атаки (131 +16)
      Доступен корректирующий выпуск OpenSSH 9.9p2, в котором устранены две уязвимости, выявленные компанией Qualys. Продемонстрирован пример использования данных уязвимостей для совершения MITM-атаки, позволяющей при попытке подключения клиента к SSH-серверу, перенаправить трафик на собственный фиктивный сервер, обойти проверку хостовых ключей и создать у клиента видимость подключения к желаемому серверу (ssh-клиент примет хостовый ключ фиктивного сервера вместо ключа легитимного сервера).

    Первая уязвимость (CVE-2025-26465) вызвана логической ошибкой в утилите ssh, позволяющей обойти проверку идентификации сервера и совершить MITM-атаку. Проблема проявляется начиная с выпуска OpenSSH 6.8p1 (декабрь 2014 г.) в конфигурациях с включённой настройкой VerifyHostKeyDNS. В базовой поставке OpenSSH данная опция по умолчанию отключена, но до марта 2023 года была включена в настройках ssh во FreeBSD.

    Суть проблемы в том, что в коде функции verify_host_key_callback() при вызове функции verify_host_key() проверяется только код ошибки "-1", а другие коды, такие как "-2", игнорируются. В итоге функция verify_host_key_callback() может вернуть успешный код "0", несмотря на возврат ошибки "-2" функцией verify_host_key(). Код ошибки "-2" возвращается функцией verify_host_key() при нехватке памяти. Если создать условия, которые приведут к невозможности выделить память в функции verify_host_key(), SSH посчитает, что хостовый ключ был проверен успешно. Для создания таких условий подставной SSH-сервер атакующего, на который перенаправлен клиент, возвращает хостовый ключ максимально возможного размера (256KB), и одновременно эксплуатируется утечка памяти на стороне ssh-клиента.

    Условия для создания утечки памяти достигаются благодаря второй уязвимости (CVE-2025-26466), затрагивающей как клиент ssh, так и сервер sshd, и эксплуатируемая без аутентификации. Уязвимость позволяет исчерпать доступную процессу память и создать высокую нагрузку на CPU через отправку большого числа пакетов SSH2_MSG_PING. В обработчике пакетов SSH2_MSG_PING имеется утечка памяти, проявляющаяся начиная с выпуска OpenSSH 9.5p1 (август 2023 г.). Утечка возникает из-за того, что на каждый поступающий 16-байтовый PING-пакет выделяется 256-байтовый буфер для формирования ответа, но данный буфер освобождается только после завершения согласования ключей. В качестве обходного пути защиты предлагается настроить ограничения при помощи директив LoginGraceTime, MaxStartups и PerSourcePenalties.

    1. OpenNews: В OpenSSH код аутентификации вынесен в отдельный процесс sshd-auth
    2. OpenNews: Релиз OpenSSH 9.9 с поддержкой алгоритма постквантового шифрования ML-KEM
    3. OpenNews: Уязвимость в поставляемом во FreeBSD варианте OpenSSH, допускающая удалённое выполнение кода
    4. OpenNews: Уязвимость в пакетах с OpenSSH из состава RHEL 9, допускающая удалённое выполнение кода
    5. OpenNews: Уязвимость в OpenSSH, позволяющая удалённо выполнить код с правами root на серверах с Glibc
    Обсуждение (131 +16) | Тип: Проблемы безопасности |
    ·18.02.2025 Опубликован почтовый сервер Postfix 3.10.0 (60 +13)
      После почти года разработки опубликован релиз новой стабильной ветки почтового сервера Postfix - 3.10.0. В то же время объявлено о прекращении поддержки ветки Postfix 3.6, выпущенной в начале 2021 года. Код проекта написан на языке Си и распространяется под лицензиями EPL 2.0 (Eclipse Public license) и IPL 1.0 (IBM Public License).

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

    В соответствии с февральским автоматизированным опросом около 550 тысяч почтовых серверов, Postfix используется на 37.64% (год назад 36.81%) почтовых серверов, доля Exim составляет 56.03% (год назад 56.61%), Sendmail - 3.39% (3.60%), MailEnable - 1.80% (1.82%), MDaemon - 0.39% (0.40%), Microsoft Exchange - 0.19% (0.19%), OpenSMTPD - 0.10% (0.09%).

    Основные новшества:

    • Добавлена возможность использования в TLS криптоалгоритмов, стойких к подбору на квантовом компьютере. Для использования данных алгоритмов требуется использование ветки библиотеки OpenSSL 3.5, которая пока не вышла из стадии разработки. Для выбора постквантовых алгоритмов в Postfix не стали вводить новый синтаксис TLS-групп, а положились на настройки OpenSSL, которые будут использованы при установке параметров "tls_eecdh_auto_curves" и "tls_ffdhe_auto_groups" в пустые значения.
    • Добавлена поддержка заголовка сообщений "TLS-Required: no" (RFC 8689), при котором доставка будет выполнена даже при невозможности реализовать выставленную в настройках политику безопасности TLS. При наличии данного заголовка SMTP-клиент работает в режиме "smtp_tls_security_level = may", т.е. не проверяет сертификат сервера и может откатиться на соединение с передачей данных открытым текстом. В следующей значительной ветке Postfix намерены реализовать SMTP-расширение REQUIRETLS.
    • Добавлена поддержка протокола TLS-RPT (Transport Layer Security Reporting), позволяющего отслеживать сбои при доставке сообщений, возникающие если не удаётся установить шифрованное соединение, предписанное использованием расширений DANE (DNS-based Authentication of Named Entities) или MTA-STS (MTA Strict Transport Security). Владелец почтового домена определяет в DNS параметры для TLS-RPT, после чего почтовые серверы будут отправлять отчёты с информацией об успешных и сбойных TLS-соединениях к MX-серверам, обслуживающим домен. Реализация основана на библиотеке libtlsrpt.
    • Добавлена настройка "smtpd_hide_client_session = yes", отключающая вставку информации о сеансе клиента при подстановке SMTP-сервером заголовка "Received:". Пример урезанного заголовка" "Received: by mail.example.com (Postfix) id postfix-queue-id for <user@example.com>; Day, dd Mon yyyy hh:mm:ss tz-offset (zone)".
    • Добавлена возможность MIME-кодирования (RFC 2047) имён в генерируемых Postfix заголовках "From:", включающих не ASCII-символы. Предложенная схема кодирования позволяет обойтись без применения расширения SMTPUTF8 (RFC 6531), поддерживаемого не всеми приложениями. Результат MIME-кодирования выглядит как '"=?charset?Q?gibberish?=:'. Для определения исходной кодировки имён добавлен параметр "full_name_encoding_charset", по умолчанию выставленный в значение utf8.
    • Изменена логика обработки сбойных соединений при указании в настройках "mysql:" или "pgsql:" только одного сервера. Подобный сервер теперь воспринимается как балансировщик нагрузки и в случае единичного сбоя, повторный запрос отправляется сразу, без задержки в 60 секунд.
    • В Milter реализовано отражение в логе информации с причиной помещения сообщения в карантин.
    • В SMTP-сервере обеспечен вывод в лог идентификатора очереди или значения "NOQUEUE" при завершении соединения по таймауту, обрыву или превышению лимита на число ошибок. Процесс cleanup при этом выдаёт в лог "queueid: canceled" для сообщений с запущенной, но не завершённой, транзакцией.
    • В клиенте Dovecot SASL при выводе в лог сообщений "Invalid authentication mechanism" теперь указывается механизм аутентификации, который не удалось использовать. SMTP-сервер при выводе в лог записей 'reject' теперь отображает значения настроек sasl_method, sasl_username и sasl_sender.
    • Из-за изменения внутреннего протокола, используемого в агенте доставки, после обновления версии Postfix требуется перезапуск командой "postfix reload" или командами "postfix stop" и "postfix start". В противном случае в лог будет выведено предупреждение "unexpected attribute smtputf8 from xxx socket (expecting: sendopts)".

    1. OpenNews: Опубликован почтовый сервер Postfix 3.9.0
    2. OpenNews: Доступен почтовый сервер Postfix 3.8.0
    3. OpenNews: Представлен notqmail, форк почтового сервера qmail
    4. OpenNews: vSMTP - почтовый сервер со встроенным языком для фильтрации трафика
    5. OpenNews: Новая версия почтового сервера Exim 4.98
    Обсуждение (60 +13) | Тип: Программы |
    Следующая страница (раньше) >>



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру