1 мая состоялся релиз операционной системы OpenBSD версии 5.7. Размер полного установочного ISO-образа базовой системы составляет 208Мб.
Усиление безопасности:
- К адресному пространству ядра применён режим защиты памяти 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. Из них стоит отметить следующие:
- 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 г.
ЗЫ: Со светом проблем не наблюдаются!
>>> Подробности