Увидел свет (http://marc.info/?l=openbsd-misc&m=143043178115828) релиз операционной системы OpenBSD 5.7 (http://openbsd.org/57.html), тридцать седьмой выпуск за девятнадцатилетнюю историю существования проекта. При развитии OpenBSD основное внимание уделяется переносимости (поддерживается (http://www.openbsd.org/plat.html) 21 аппаратная платформа), стандартизации, корректной работе, активной безопасности и интегрированным криптографическим средствам. Размер полного установочного ISO-образа (http://ftp.eu.openbsd.org/pub/OpenBSD/5.7/i386/install56.iso) базовой системы составляет 208 Мб. Кроме непосредственно операционной системы, проект OpenBSD известен своими компонентами, которые получили распространение в других системах и зарекомендовали себя как одни из наиболее безопасных и качественных решений. Среди них: LibreSSL (http://www.libressl.org/) (форк (https://www.opennet.ru/opennews/art.shtml?num=39617) OpenSSL), OpenSSH (http://www.openssh.com/), пакетный фильтр PF (http://www.openbsd.org/faq/pf/index.html), демоны маршрутизации OpenBGPD и OpenOSPFD (http://www.openbgpd.org/), NTP-сервер OpenNTPD (http://www.openntpd.org/), почтовый сервер OpenSMTPD (http://www.opensmtpd.org/), мультиплексор текстового терминала (аналог GNU screen) tmux (http://tmux.sourceforge.net/), демон identd (https://www.opennet.ru/opennews/art.shtml?num=36442) с реализацией протокола IDENT, BSDL-альтернатива пакету GNU groff - mandoc (http://mdocml.bsd.lv/), протокол для организации отказоустойчивых систем CARP (Common Address Redundancy Protocol), легковесный http-сервер (https://www.opennet.ru/opennews/art.shtml?num=40232).
Основные улучшения (http://www.openbsd.org/57.html):
- Усиление безопасности:
- К адресному пространству ядра применён режим защиты памяти W^X (http://en.wikipedia.org/wiki/W%5EX) (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 (http://www.openbsd.org/cgi-bin/man.cgi?query=rcctl&sektion=8);
- Из базовой системы удалены nginx и sendmail, вместо которых предлагается (https://www.opennet.ru/opennews/art.shtml?num=40232) http-сервер собственной разработки и OpenSMTPD. Nginx и sendmail могут быть установлены из портов. Прекращена поддержка DNS-сервера BIND, вместо которого рекомендуется использовать nsd и unbound;
- Улучшения в сетевом стеке: Большинство операций с 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, подробный обзор улучшений можно посмотреть здесь (https://www.opennet.ru/opennews/art.shtml?num=41866);
- Обновлён пакет OpenSSH 6.8, подробный обзор улучшений можно посмотреть здесь (https://www.opennet.ru/opennews/art.shtml?num=41866);
- Обновлён пакет LibreSSL 2.1.5, подробный обзор улучшений можно посмотреть в анонсах выпусков 2.1.0 (https://www.opennet.ru/opennews/art.shtml?num=40807), 2.1.2 (https://www.opennet.ru/opennews/art.shtml?num=41227), 2.1.4 (https://www.opennet.ru/opennews/art.shtml?num=41798) и 2.1.5 (https://www.opennet.ru/opennews/art.shtml?num=41867).
- Число портов превысило 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 ...
URL: http://marc.info/?l=openbsd-misc&m=143043178115828
Новость: https://www.opennet.ru/opennews/art.shtml?num=42148