Релиз операционной системы OpenBSD 5.7
Кроме непосредственно операционной системы, проект 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
- 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 г.
Послушать песню, приуроченную к выходу нового релиза, можно здесь.
Источник: http://www.opennet.ru/opennews/art.shtml?num=42148
|
0 | Tweet | Нравится |
|