Издание OpenBSD 7.7

Представен новият выпуск на свободната UNIX-подобна операционна система OpenBSD 7.7. Проектът OpenBSD е основан от Тэо де Раадтом (Theo de Raadt) през 1995 г. след конфликт с разработчиците на NetBSD, в резултат на който Тэо е лишен от достъп до CVS репозитория на NetBSD. След това Тэо де Раадт с група съмишленици създава нова отворена операционна система на базата на дървото на изходни текстове на NetBSD, с основни цели разширяемост (поддържа 13 хардуерни платформи), стандартизация, коректна работа, проактивна безопасност и интегрирани криптографски средства. Размерът на пълния инсталационен ISO образ на базовата система OpenBSD 7.7 е 746 MB.

Освен самата операционна система, проектът OpenBSD е известен със своите компоненти, които са получили разпространение в други системи и се доказали като едни от най-сигурните и качествени решения. Сред тях са: LibreSSL (форк на OpenSSL), OpenSSH, пакетният филтър PF, демоните за маршрутизация OpenBGPD и OpenOSPFD, NTP-сървърът OpenNTPD, пощенският сървър OpenSMTPD, мултиплексорът на текстов терминал (аналог на GNU screen) tmux, демонът identd с реализация на протокола IDENT, BSDL-алтернатива на пакета GNU groff — mandoc, протокол за организиране на отказоустойчиви системи CARP (Common Address Redundancy Protocol), лек http-сървър, утилита за синхронизация на файлове OpenRSYNC.

Основни промени:

  • Реализацията на фреймворка drm (Direct Rendering Manager) е синхронизирана с ядрото Linux 6.12.21 (в предишното издание — 6.6.52). В драйвера inteldrm е реализирана поддръжка за GPU, използван в процесорите Intel на базата на микроархитектура Arrow Lake. В драйвера amdgpu е добавена поддръжка за GPU Ryzen AI 300 (Strix Point, Strix Halo, Krackan Point) и Radeon RX 9070 (Navi 48).
  • В порта за архитектура ARM64 е реализирана поддръжка на набора векторни инструкции SVE (Scalable Vector Extension). На системи с ARM-чипове Apple M1 е осигурено регулиране на енергийните състояния. В механизма на картографиране на физическа страница памет (pmap, physical mapping) оптимизирани са операциите по изчистване на буфера на асоциативната транслация (TLB), което е ускорило изпълнението на теста за компилиране на ядрото с около 5%. На оборудване с поддръжка на шифъра QARMA3 за защита на пространството на потребителите е включена аутентификация на указателите (PAC, Pointer Authentication Code).
  • На системи x86_64 за гостуващи системи, изпълнявани с QEMU, е реализирана поддръжка на механизма AMD SEV (Secure Encrypted Virtualization), използван в системите за виртуализация за защита на виртуални машини от намеса от страна на хипервизора или администратор на хост системата. В драйвера psp, използван за настройка и стартиране на гостуващи системи с включена AMD SEV, е добавена команда за зареждане на фърмуера в чипа.
  • На системи x86_64 е добавена възможността за разпределяне на области памет за DMA с размер над 4 GB.
  • Поддръжката за архитектурите RISC-V, Sparc64, HPPA, i386 и Powerpc64 е подобрена.
  • Подобрена е обработката на ситуации с недостатъчна памет в системата (OOM).
  • В механизмът за проследяване ptrace са добавени възможности, позволяващи задаване на точки на спиране в отладчика gdb в многонишкови процеси. Добавени са команди за четене и запис на областта, в която в наблюдавания процес се запазва състоянието на процесора при използване на инструкцията XSAVE.
  • В сценарии на езика BT (BPFtrace или Bug Tracing), използвани в системата за проследяване btrace, е добавена поддръжка за многострочни конструкции. В утилитата btrace са добавени допълнителни профили и имена на времеви интервали (hz, us, ms, s).
  • Добавен е sysctl параметърът kern.audio.kbdcontrol, при който задаването му на 0 мултимедийните клавиши за управление на звука на клавиатурата ще се обработват като обикновени клавиши.
  • Подобрена е обработката на сривове и разширени проверки при преминаване в спящи и чакащи режими.
  • Кодът за спиране на процеси при получаване на сигнал е преработен, което реши проблемите с спирането на многонишкови процеси, проявяващи се в такива пакети като golang и mpv.
  • Подобрена е поддръжката на многопроцесорни системи (SMP). Осигурена е паралелна работа на таймерите за вход и изход за TCP, а системните повиквания send() и recv() са приведени да използват обща блокировка. Няколко потребителски нишки сега могат паралелно да работят с различни сокети, а изходът от TCP вече не блокира обработката на IP пакети.

    От глобалната блокировка са освободени системните повиквания open, openat, ptsignal, psignal и prsignal, както и sysctl kern.timeout_stats, kern.allowkmem, kern.video.record, net.inet.gre.allow, net.inet.gre.wccp, kern.global_ptrace, kern.wxabort, kern.malloc.kmemstat. Драйверите psp, wsmouse и wstpad, както и структурата video_filtops, са преместени в категорията mp-safe.

  • В хипервизора VMM е реализирана възможността за използване на acpipci за свързване на PCI шини.
  • Предоставена е възможност за определяне на алтернативна политика с настройки за производителност (perfpolicy), прилагана при работа на системата от акумулатор.
  • В командата sysctl е добавена опцията "-f file" за едновременно зареждане на всички настройки от файл. В rc-скриптовете новата опция е приложена за зареждане на sysctl.conf изцяло, вместо чрез ред по ред анализ.
  • В командата pkg_add е реализиран повикването на ldconfig, ако в резултат на инсталирането на нови пакети е променен списъкът на споделените библиотеки.
  • Добавена поддръжка на ново оборудване. Подобрена е поддръжката на SoC MediaTek и Qualcomm Snapdragon (включително X Elite). Подобрена е поддръжката на устройства Samsung Galaxy Book4 Edge, ThinkPad T14 Gen 5, Vivobook, ThinkPad X1 Nano Gen 2, ThinkPad X13 и различни Chromebook. Добавен е драйвер ice за Intel E810 Ethernet 1Gb/10Gb/25Gb/50Gb/100Gb и драйвер ixv за виртуални функции Intel Ethernet 82598EB, 82559 и X540. Продължава работата по прехвърлянето на изпълнението на мрежови операции на страната на мрежовите карти.
  • В sysupgrade е реализиран режим за offline ъпдейти на системи с използване на пакети, съхранени в локалната файлова система.
  • В утилитата fw_update е добавена възможност за изтегляне (не инсталиране) на фърмуер от обикновен потребител без права root. Добавен е флаг „-l“ за извеждане на списък с драйвери и файлове.
  • За процеса sshd-auth е включена защита срещу експлоатация на уязвимости, основана на случайна пренастройка на изпълняемия файл при всяко зареждане на системата (relink). Пренастройката прави много непредсказуеми отмествания на функциите, което затруднява създаването на експлойти, използващи методи за обратно-ориентирано програмиране.
  • Осигурена е изолация на процеса mountd с използването на системен повик unveil.
  • В мрежовия стек е реализирана поддръжка на сокети AF_FRAME и семейство протоколи IFT_ETHER, позволяващи на приложенията да изпращат и получават Ethernet кадри. За изходящи пакети UDP и TCP е внедрен нов метод за хеширане, който оптимизира разпределението на трафика в опашките и забележително (~20%) ускорява изпращането на UDP за IPv4/IPv6 и TCP за IPv6. За устройството tun е реализиран ioctl TUNSCAP и е оптимизирана взаимовръзката между ядрото и потребителското пространство. Реализиран е отделен кеш за маршрутизация за всеки поток. В драйвера vio е включен режим multiqueue.
  • В утилитата pfctl за мрежови интерфейси и опашки е разрешено определянето на пропускната способност, надвишаваща 4Gbit.
  • В iked, реализация на протокола IKEv2 за IPsec, е добавена опция „natt“ за принудително използване на nat-t.
  • В relayd, фонова процес за пренасочване и балансировка на заявки, е реализирана поддръжка на клиентски. TLS-сертификати.
  • В инструмента за измерване на мрежова производителност tcpbench е добавена поддръжка на TLS.
  • В bgpd е реализирана поддръжка на RFC 8654 (BGP Extended Message), RFC 8538 (BGP Notification Message), по подразбиране е активирана опцията „reject as-set“, осигурено е кеширане на Adj-RIB-Out.
  • В LibreSSL 4.1.0 е добавена експериментална поддръжка на архитектурата loongarch64, предложени са нови асемблерни реализации на алгоритмите SHA-1, SHA-256 и SHA-512 за архитектурата amd64 (задействана е инструкцията SHA-NI), нови асемблерни реализации на SHA-256 и SHA-512 за Aarch64 (задействано е разширението CE), опростена е реализацията на MD5 за amd64, осигурено е кеширане на списъка с оттеглени сертификати (CRLs), от BoringSSL е пренесена реализацията ML-KEM 768 и 1024.
  • Обновен е OpenSSH. Списъкът с промените можете да видите в анонса на OpenSSH 10 (поддръжката на цифровите подписи DSA е премахната, аутентификационните операции са отделени в процеса sshd-auth, по подразбиране е задействан хибридният алгоритъм за обмен на ключове „mlkem768x25519-sha256“).
  • Броят на портовете за архитектурата AMD64 е 12593 (беше 12312), за aarch64 — 12446 (беше 12148), за i386 — 10429 (беше 10534). Сред версиите на приложенията в портовете:
    • Asterisk 16.30.1, 18.26.1, 20.13.0 и 22.3.0
    • Audacity 3.7.3
    • CMake 3.31.6
    • Chromium 135.0.7049.52
    • Emacs 30.1
    • FFmpeg 6.1.2
    • GCC 8.4.0 и 11.2.0
    • GNOME 47
    • Go 1.24.1
    • JDK 8u442, 11.0.26, 17.0.14 и 21.0.6
    • KDE Gears 24.12.3
    • KDE Frameworks 6.12.0
    • KDE Plasma 6.3.3
    • Krita 5.2.9
    • LLVM/Clang 13.0.0, 16.0.6, 18.1.8, 19.1.7
    • LibreOffice 25.2.1.2
    • Lua 5.1.5, 5.2.4, 5.3.6, 5.4.7
    • MariaDB 11.4.5
    • Mono 6.12.0.199
    • Mozilla Firefox 137.0 и ESR 128.9.0
    • Mozilla Thunderbird 128.9.0
    • Mutt 2.2.14 и NeoMutt 20250113
    • Node.js 22.14.0
    • OpenLDAP 2.6.9
    • PHP 8.2.28, 8.3.19 и 8.4.5
    • Postfix 3.10.1
    • PostgreSQL 17.4
    • Python 2.7.18 и 3.12.9
    • Qt 5.15.16 (+ патчи от проекта KDE) и 6.8.2
    • Ruby 3.2.8, 3.3.7, 3.4.2
    • Rust 1.86.0
    • SQLite 3.49.1
    • Shotcut 25.01.25
    • Sudo 1.9.16p1
    • Suricata 7.0.7
    • Tcl/Tk 8.5.19 и 8.6.16
    • Vim 9.1.1265 и Neovim 0.10.4
    • Xfce 4.20.0
  • Обновени са компонентите от трети страни, включени в OpenBSD 7.7:
    • Графичният стек Xenocara, базиран на X.Org 7.7 с xserver 21.1.16 + патчи, freetype 2.13.3, fontconfig 2.15.0, Mesa 23.3.6, xterm 395, xkeyboard-config 2.20, fonttosfnt 1.2.4.
    • LLVM/Clang 16.0.6 (+ патчи)
    • GCC 4.2.1 (+ патчи) и 3.3.6 (+ патчи)
    • Perl 5.40.1 (+ патчи)
    • NSD 4.9.1
    • Unbound 1.22.0
    • Ncurses 6.4
    • Binutils 2.17 (+ пачове)
    • Gdb 6.3 (+ патчи)
    • Awk 20250116
    • Expat 2.7.1
    • zlib 1.3.1 (+ патчи)

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster