Выпуск OpenBSD 6.7

Прадстаўлены выпуск вольнай крос-платформавай UNIX-падобнай аперацыйнай сістэмы OpenBSD 6.7. Праект OpenBSD быў заснаваны Тэа дэ Раадтам (Theo de Raadt) у 1995 годзе пасля канфлікту з распрацоўшчыкамі NetBSD, у выніку якога для Тэа быў зачынены доступ да CVS рэпазітара NetBSD. Пасля гэтага Тэа дэ Раадт з групай аднадумцаў стварыў на базе дрэва зыходных тэкстаў NetBSD новую адкрытую аперацыйную сістэму, галоўнымі мэтамі развіцця якой сталі пераноснасць (падтрымліваецца 12 апаратных платформ), стандартызацыя, карэктная праца, актыўная бяспека і інтэграваныя крыптаграфічныя сродкі. Памер поўнага ўсталявальнага ISO-выявы базавай сістэмы OpenBSD 6.7/470 складае XNUMX МБ.

Акрамя непасрэдна аперацыйнай сістэмы, праект 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.

Асноўныя паляпшэння:

  • Файлавая сістэма FFS2, у якой выкарыстоўваюцца 64-разрадныя значэнні часу і лікі блокаў, па змаўчанні задзейнічана ў новых усталёўках амаль для ўсіх падтрымоўваных архітэктур замест FFS (за выключэннем landisk, luna88k і sgi).
  • Дададзены новы метад праверкі дапушчальнасці звароту да сістэмных выклікаў, які дадаткова ўскладняе эксплуатацыю ўразлівасцяў. Метад дапушчае выкананне сістэмных выклікаў, толькі калі да іх звяртаюцца з папярэдне зарэгістраваных абласцей памяці. Для пазнакі абласцей памяці і актывацыі абароны прапанаваны новы сістэмны выклік msyscall().
  • З 7 да 15 павялічаны лік частак, якія можна стварыць на адным дыску.
  • Код разбору опцый у cron перапісаны для падтрымкі getopt-падобных магчымасцяў, такіх як "-ns" і паўторнае ўказанне адных і тых жа сцягоў. Поле "options" у crontab пераназвана ў "flags". У crontab дададзены сцяг "-s", пры якім толькі адзін асобнік задання можа быць запушчаны адначасова. Дададзены аператар «~» для ўказання выпадковага значэння часу.
  • У аконным мэнэджары cwm рэалізавана магчымасць вызначэння памеру акна ў працэнтных суадносінах ад памеру першаснага акна пры мазаічнай кампаноўцы.
  • Для архітэктуры powerpc ажыццёўлены пераход па змаўчанні на выкарыстанне Clang і задзейнічана незалежная ад архітэктуры рэалізацыя mplock.
  • У apmd палепшаная падтрымка аўтаматычнага пераходу ў які чакае і спячы рэжымы (-z/-Z) – дэман зараз рэагуе на паведамленні аб змене зарада акумулятара, якія адпраўляюцца драйверам кантролю сілкавання. Пераход у сон адбываецца з затрымкай у 60 секунд, што дае карыстачу час узяць кіраванне ў свае рукі.
  • Ва ўбудаваны HTTP-сервер дададзена зменная канфігурацыі $REQUEST_SCHEME для захавання зыходнага пратаколу (http або https) пры перанакіраванні, а таксама опцыя "strip", якая дазваляе выкарыстоўваць некалькі chroot у /var/www для сервераў FastCGI.
  • Ва ўтыліце top з'явілася падтрымка пракруткі пры дапамозе клавіш 9 і 0.
  • Прадстаўлены механізм вызвалення старонак памяці ў зваротным парадку, які значна павышае эфектыўнасць актыўнага вызвалення вялікай колькасці старонак.
  • У DNS-серверы unbound па змаўчанні ўключаная праверка DNSSEC.
  • Пазбаўлены ад глабальнай блакіроўкі сістэмныя выклікі
    __thrsleep(2), __thrwakeup(2), close(2), closefrom(2), dup(2), dup2(2), dup3(2), flock(2), fcntl(2), kqueue(2), pipe(2), pipe2(2) і nanosleep(2), а таксама базавая частка ioctl(2).

  • Пашырана падтрымка абсталявання. Дададзены новы драйвер iwx для бесправадных чыпаў Intel AX200, а ў драйверы iwm дададзеная падтрымка прылад Intel 9260 і 9560. Дададзены драйвер rge для Realtek 8125 PCI Express 2.5Gb. Прапанавана шмат новых драйвераў для паляпшэння працы на поплатках arm64 і armv7, у тым ліку дададзеная падтрымка платы Raspberry Pi 4 і палепшаная падтрымка Raspberry Pi 2 і 3.
  • Пашыраная гукавая падсістэма sndio. Дададзеныя API sioctl_open і ўтыліта sndioctl для кіравання гукам праз sndiod. Выдалены /dev/mixer, замест якога ўсе парты перакладзены на sndio замест інтэрфейсу mixer ядра. У sndiod забяспечана выкарыстанне апаратных механізмаў кіравання гучнасцю. Для ўзмацнення бяспеку забаронены доступ звычайных карыстальнікаў да /dev/audio* і /dev/rmidi*.
  • У бесправадным стэку спынена падлучэнне да любой даступнай Wi-Fi сеткі, якая не падтрымлівае шыфраванне, за выключэннем відавочнага выкліку каманды «ifconfig join». Забяспечаны запуск фонавага сканавання даступных сетак пры выкананні каманды "ifconfig scan" карыстачом root. Павялічаны кэш вынікаў сканіравання. Дададзены ўсталёўваны праз ifconfig сцяг «nwflag nomimo», які дапамагае пазбавіцца ад страты пакетаў у рэжыме 11n пры наяўнасці ў прыладзе непадлучаных раздымаў для антэн. Для драйвера bwfm дададзена падтрымка рэжыму актыўнага сканавання. Палепшана аўтаматычнае пераключэнне паміж бесправаднымі сеткамі праз паніжэнне прыярытэту для сетак, да якіх не ўдалося падключыцца.
  • У сеткавым стэку з'явіўся новы драйвер pppac, у які вынесена рэалізацыя інтэрфейсу PPP Access Concentrator. Налады npppd.conf перакладзены на выкарыстанне pppac замест tun. Пры адключаным перанакіраванні пакетаў дададзеная праверка адпаведнасці адраса прызначэння ў пакеце з адрасам сеткавага інтэрфейсу. Выдалена падтрымка mobileip.
  • Карыстачам без правоў root забаронена выкарыстанне ioctl для змены адраса сеткавага інтэрфейсу і змены параметраў інтэрфейсаў pppoe.
  • У sysupgrade забяспечаны запуск абнаўлення прашывак (fw_update) да перазагрузкі перад абнаўленнем.
  • Удасканалены сістэмны выклік unveil, які забяспечвае ізаляцыю доступу да файлавай сістэмы. Лік прыкладанняў з базавай сістэмы, для якіх рэалізаваная абарона з выкарыстаннем unveil, даведзена да 82. У тым ліку на unveil перакладзеныя vmstat, iostat і systat.
  • У crypto(3) дададзена падтрымка RSA-PSS.
  • У DNS рэзавер unwind дададзеная падтрымка DoT (DNS over TLS). Дададзена каманда "unwindctl status memory".
  • Значна мадэрнізаваная рэалізацыя ipsec. Дададзена падтрымка аўтаматычнага перасоўвання трафіку паміж rdomain пры шыфраванні і расшыфроўцы для абароны ад нападаў па іншых каналах. У iked дададзена падтрымка змены rdomain, а ў iked.conf дададзена опцыя 'rdomain'
    Для iked і isakmpd па змаўчанні выстаўлены ўзровень IPSEC_LEVEL_REQUIRE, які забараняе апрацоўку незашыфраваных пакетаў, якія адпавядаюць струменю. У налады групы Diffie-Hellman для IKE SA дададзены алгарытмы curve25519, ecp256, ecp384, ecp521, modp3072 і modp4096. У iked метад аўтэнтыфікацыі па змаўчанні зменены на аўтэнтыфікацыю па лічбавым подпісе (RFC 7427). Дададзеныя наладкі ESN у iked.conf. Дададзена опцыя "-p" для выбару нестандартнага нумара UDP-порта.

  • Пашыраны магчымасці мультыплексара тэрміналаў tmux, дададзена шмат новых опцый.
  • Абноўлена версія паштовага сервера OpenSMTPD. Ва ўбудаваных фільтрах рэалізавана ключавое слова "bypass" для пропуску апрацоўкі пры зададзеных умовах. Дазволена выкарыстанне ў фільтрах імя карыстальніка бягучага сеанса smtpd. У smtpd.conf у параметрах дазволена выкарыстанне mail-from і rctp-to.
  • Абноўлены пакет OpenSSH 8.2, у якім з'явілася падтрымка токенаў двухфактарнай аўтэнтыфікацыі FIDO/U2F. Падрабязны агляд паляпшэнняў можна паглядзець тут.
  • Абноўлены пакет LibreSSL, у якім даведзена да гатоўнасці рэалізацыя TLS 1.3 на базе новага канчатковага аўтамата і падсістэмы працы з запісамі. Па змаўчанні пакуль уключаная толькі кліенцкая частка TLS 1.3, серверную частку плануюць актываваць па змаўчанні ў адным з будучых выпускаў. Спіс астатніх змен можна ўбачыць у анонсах выпускаў 3.1.0 и 3.1.1.
  • Колькасць партоў для архітэктуры AMD64 склала 11268, для aarch64 – 10848, для i386 – 10715. Абноўлены кампаненты ад іншых распрацоўшчыкаў, якія ўваходзяць у склад OpenBSD 6.7:
    • Графічны стэк Xenocara на базе X.Org 7.7 with xserver 1.20.8 + патчы, freetype 2.10.1, fontconfig 2.12.4, Mesa 19.2.8, xterm 351, xkeyboard-config 2.20;
    • LLVM/Clang 8.0.1 (з патчамі)
    • GCC 4.2.1 (з патчамі) і 3.3.6 (з патчамі)
    • Perl 5.30.2 (з патчамі)
    • NSD 4.2.4
    • Unbound 1.10.0
    • Ncurses 5.7
    • Binutils 2.17 (з патчамі)
    • Gdb 6.3 (з патчамі)
    • Awk ад 20 снежня 2012 г.
    • Expat 2.2.8

    Крыніца: opennet.ru

Дадаць каментар