Релиз операционной системы OpenBSD 5.7

1 мая 2015 года

Увидел свет релиз операционной системы OpenBSD 5.7, тридцать восьмой выпуск за двадцатилетнюю историю существования проекта. При развитии OpenBSD основное внимание уделяется переносимости ( поддерживается 21 аппаратная платформа), стандартизации, корректной работе, активной безопасности и интегрированным криптографическим средствам. Размер полного установочного ISO-образа базовой системы составляет 208 Мб.

Кроме непосредственно операционной системы, проект 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-сервер.

Основные улучшения:

  • Усиление безопасности:
  • К адресному пространству ядра применён режим защиты памяти W^X (Write XOR Execute), при котором страницы памяти не могут быть доступными и на запись и на исполнение кода (или запись или исполнение, но не одновременно);
  • Удалён код для поддержки загружаемых модулей ядра и procfs;
  • Проведён обстоятельный аудит подсистем на предмет перехода на использование системного вызова reallocarray, позволяющего выделить память для нескольких отличающихся по размеру объектов без дополнительных затрат на очистку памяти, но с сохранением средств борьбы с целочисленными переполнениями;
  • Проведена работа по замене вызовов select на poll;
  • В качестве первого шага для минимизации возможности совершения атаки на раздел /var, директория /var/tmp преобразована в символическую ссылку на /tmp;
  • В реализацию memcpy добавлена защита от перекрытия областей памяти, если факт подобного перекрытия выявлен, то программа принудительно завершается с выводом соответствующего предупреждения в syslog. При необходимости перекрытия областей следует использовать memmove;
  • Вызовы rand, random, drand48, lrand48, mrand48 и srand48 переведены на использование генератора arc4random. Для получения детерминированных случайных чисел введены новые функции srand_deterministic, srandom_deterministic, seed48_deterministic и lcong48_deterministic;
  • При возврате из спящего и ждущего режимов, а также при пробуждении виртуальных машин, задействованы различные методы для сброса генератора случайных чисел;
  • Все архитектуры переведены на статический формат PIE, т.е. все статически собранные исполняемые файлы в /bin и /sbin теперь содержат случайным образом расположенные сегменты "text";
  • Код ядра и ssh для работы с AES синхронизирован с кодом из OpenSSL/LibreSSL.
  • В утилите passwd прекращена поддержка всех методов хэширования, кроме blowfish;
  • В генераторе случайных чисел и при генерации начальных номеров последовательностей в TCP вместо MD5 задействован SHA512;
  • Добавлен драйвер xhci, обеспечивающий поддержку устройств с интерфейсом USB 3.0, соответствующих спецификации XHCI (eXtensible Host Controller Interface). Значительно расширена поддержка сетевых устройств, в том числе представлен новый драйвер iwm для беспроводных карт Intel 7260, 7265 и 3160;
  • Для управления фоновыми процессами и системными сервисами представлена новая утилита rcctl;
  • Из базовой системы удалены nginx и sendmail, вместо которых предлагается http-сервер собственной разработки и OpenSMTPD. Прекращена поддержка DNS-сервера BIND, вместо которого рекомендуется использовать nsd и unbound. Nginx, bind и sendmail могут быть установлены из портов.
  • Улучшения в сетевом стеке: Большинство операций с IP-адресами переведены на таблицы маршрутизации, заменившие собой RB-деревья и списки адресов IPv4. Для хэширования в пакетном фильтре PF, сетевых мостах, trunk-интерфейсах и PCB задействован алгоритм SipHash. Настройка CARP теперь требует явного создания родительского интерфейса carpdev. Слой mbuf избавлен от глобальной блокировки и признан mpsafe. Представлены новые структуры mbuf_list и mbuf_queue, а также API для работы с ними;
  • Улучшения в инсталляторе: Наборы etc и xetc, в том числе включающие файлы rc и rc.conf, теперь не поставляются отдельно, а включены в состав наборов base и xbase. Улучшено определение файла со сценарием автоматизированной установки, если присутствуют файл /auto_install.conf или /auto_upgrade.conf инсталлятор теперь сразу запускает автоматический режим.
  • Системы Syslogd и inetd переведены с select на libevent. В Syslogd добавлена поддержка отправки и приёма сообщений по UDP, TCP и TLS, при том, что для TCP и TLS реализованы средства автоматического восстановления соединения после разрыва канала связи;
  • В tftp снято ограничение на размер принимаемых и отправляемых файлов, которые ранее не могли превышать 65536 байт;
  • В реализации ряда функций libc для архитектуры amd64 задействованы быстрые ассемблерные оптимизации;
  • Расширены возможности http-сервера от проекта OpenBSD. Прекращена поддержка SSLv2/3, улучшена поддержка ECDHE/DHE в TLS. Упрощено создание виртуальных хостов на основе определения псевдонимов по IP и именам хостов. Добавлена поддержка basic-аутентификации, определения своих кодов возврата, перенаправления и макросов для URL. Добавлена опция "root strip" для чистки начала пути для CGI-скриптов. Обеспечена возможность создания лога в директории, отличной от /var/www/logs. Реализация FastCGI доведена до совместимости со многими известными web-приложениями.
  • В новой версии почтового сервера OpenSMTPD прекращена поддержка SSLv3, добавлена поддержка новых парсеров сообщений и заголовков, добавлена опция append-domain, обеспечена возможность отправки сообщений локальному пользователю без определения домена.
  • Обновлён пакет OpenSSH 6.8, подробный обзор улучшений можно посмотреть здесь;
  • Обновлён пакет LibreSSL 2.1.5, подробный обзор улучшений можно посмотреть в анонсах выпусков 2.1.0, 2.1.2, 2.1.4 и 2.1.5.
  • Число портов превысило 9000 (полгода назад было 8800). Из находящихся в портах приложений, отмечены:
  • Chromium 40.0.2214.115
  • Emacs 21.4 и 24.4
  • GCC 4.8.4 и 4.9.2
  • GHC 7.8.4
  • GNOME 3.14.2
  • Go 1.4.1
  • Groff 1.22.3
  • JDK 1.7.0.71
  • KDE 3.5.10 и 4.14.3
  • LLVM/Clang 3.5 (20140228)
  • LibreOffice 4.3.5.2
  • MariaDB 10.0.16
  • Mono 3.12.0
  • Mozilla Firefox 31.4.0esr и 35.0.1
  • Mozilla Thunderbird 31.4.0
  • Node.js 0.10.35
  • OpenLDAP 2.3.43 и 2.4.40
  • PHP 5.3.29, 5.4.38, 5.5.22 и 5.6.5
  • Postfix 2.11.4
  • PostgreSQL 9.4.1
  • Python 2.7.9 и 3.4.2
  • R 3.1.2
  • Ruby 1.8.7.374, 1.9.3.551, 2.0.0.598, 2.1.5 и 2.2.0
  • Sendmail 8.15.1
  • Tcl/Tk 8.5.16 и 8.6.2
  • TeX Live 2013
  • Vim 7.4.475
  • Xfce 4.10

Компоненты от сторонних разработчиков, входящие в состав OpenBSD 5.7:

  • Xenocara, основанная на X.Org 7.7 с xserver 1.16.4 + patches,

freetype 2.5.5, fontconfig 2.11.1, Mesa 10.2.9, xterm 314, xkeyboard-config 2.13;

  • GCC 4.2.1 (с патчами) и 3.3.6 (с патчами);
  • Perl 5.20.1 (с патчами)
  • SQLite 3.8.6 (с патчами)
  • Unbound 1.5.2
  • NSD 4.1.1
  • Sudo 1.7.2p8
  • Ncurses 5.7
  • Binutils 2.15 (с патчами)
  • Gdb 6.3 (с патчами)
  • Less 458 (с патчами)
  • Awk в версии от 10 августа 2011 г.

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

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Релиз операционной системы OpenBSD 5.7», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.