Состоялся (http://undeadly.org/cgi?action=article&sid=20160901090415) релиз операционной системы OpenBSD 6.0 (http://www.openbsd.org/60.html). Проект OpenBSD был основан Тэо де Раадтом (Theo de Raadt) в 1995 году, после конфликта (http://zeus.theos.com/deraadt/coremail.html) с разработчиками NetBSD, в результате которого для Тэо был закрыт доступ к CVS репозиторию NetBSD. После этого Тэо де Раадт с группой единомышленников создал на базе дерева исходных текстов NetBSD новую открытую операционную систему, главными целями развития которой стали переносимость (поддерживается (http://www.openbsd.org/plat.html) 20 аппаратных платформ), стандартизация, корректная работа, активная безопасность и интегрированные криптографические средства. Размер полного установочного ISO-образа (http://ftp.eu.openbsd.org/pub/OpenBSD/6.0/i386/install60.iso) базовой системы OpenBSD 6.0 составляет 216 Мб.
Кроме непосредственно операционной системы, проект 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/60.html):
- Включён по умолчанию механизм защиты памяти W^X (Write XOR Execute), при котором страницы памяти процесса не могут быть одновременно доступны на запись и исполнение. Таким образом, код может быть исполнен только после запрещения записи, а запись в страницу памяти возможна только после запрета исполнения. Механизм W^X помогает защитить приложения в пространстве пользователя от типовых атак, осуществляемых через переполнение буфера, в том числе от переполнений стека (записанный за пределы буфера код не может быть исполнен).
Традиционная модель "W|X", допускающая одновременно запись и исполнение, переведена в разряд недопустимых. Для обхода запрета требуется монтирование ФС (ffs/nfs) со специальным флагом "wxallowed", который рекомендуется использовать для монтирования /usr/local, так как некоторые порты пока не адаптированы для нормальной поддержки "W^X". Например, наблюдаются проблемы с JDK, GCC, Mono и Chromium. При установке на новую систему опция "wxallowed" будет применена к /usr/local по умолчанию,но при обновлении необходимо уделить этому внимание, чтобы не потерять работоспособность портов.
- Самостоятельный загрузчик для ARMv7. Теперь не нужен u-boot с его отдельным FAT-разделом, грузиться можно прямо с FFS.
- Из-за отсутствия рабочего оборудования прекращено поддержка архитектуры VAX, не поддерживавшей разделяемые библиотеки;
- Удалена прослойка для обеспечения совместимости с Linux, которая была доступна только для систем i386 и содержала ряд концептуальных проблем, которые потенциально могли оказывать негативное влияние на безопасность.
- Удалён механизм ограничения системных вызовов systrace, на смену которому пришла технология Pledge (https://www.opennet.ru/opennews/art.shtml?num=43295);
- Удалена специфичная для OpenBSD возможность монтирования файловых систем непривилегированным пользователем (sysctl kern.usermount=1), которая позволяла не использовать привилегии root для монтирования в произвольную часть дерева vfs. Вместо данной возможности осуществлён возврат к классическому варианту с setuid root mount и ключевым словом "user" в fstab;
- Добавлены настройки sysctl net.inet.tcp.rootonly и net.inet.udp.rootonly, позволяющие выборочно запретить приём соединений по указанным в списке сетевым портам непривилегированными процессами;
- Продолжена работа по распараллеливанию сетевых операций;
- Обновлены порты, добавлены драйверы нового оборудования
- К выходу релиза приурочено 6 новых песен (http://openbsd.org/lyrics.html).
Кроме функциональных новшеств, принято решение об изменении процесса подготовки релизов. Долгие годы процесс разработки OpenBSD обеспечивался продажей компакт-дисков. Установочные образы появились только в версии 4.2, но и после этого основным способом установки были компакт-диски. Продажа дисков финансировала работу Тео де Раадта по созданию операционной системы, но на подготовку дисков уходило много времени и после заморозки релиз приходилось ждать ещё полтора месяца - пока диски изготовят, напечатают, доставят.
Релиз 6.0 стал последним, который распространялся таким способом, в дальнейшем все релизы будут публиковаться через Web, и задержка выпуска будет минимальной.
URL: http://undeadly.org/cgi?action=article&sid=20160901090415
Новость: http://www.opennet.ru/opennews/art.shtml?num=45062