Если FreeBSD — это про систему как единое целое, где всё от ядра до утилит живёт в одном дереве и собирается одной командой, то OpenBSD — это про то, как сделать это целое максимально надёжным. Это не «Linux с усиленной безопасностью» и не «FreeBSD с патчами». Это проект, где безопасность — не надстройка, а сама основа разработки: код не принимают, если он не прошёл аудит на безопасность, не соответствует стилю и не учитывает принцип наименьших привилегий. Для студентов в ЭРЦИТ это принципиально другой учебный кейс: не «как развернуть и настроить», а «как проектируется система, в которой уязвимость сложнее внедрить, чем обнаружить».
В Linux безопасность чаще всего добавляют слоем поверх системы: SELinux, AppArmor, политики, модули ядра. В FreeBSD тоже есть механизмы изоляции — jails, capsicum — но они развиваются как часть большой экосистемы. В OpenBSD безопасность — это сам процесс разработки. Каждый коммит проверяют на потенциальные уязвимости, каждый новый API проектируют с учётом минимальных привилегий, каждую библиотеку прогоняют через аудит. Проект знаменит девизом: «Only two remote holes in the default install, in a heck of a long time». Это не реклама, а отражение подхода: если функционал не нужен по умолчанию, его просто не включают. Минимализм здесь — тоже защита. Сайт проекта описывает философию тремя словами: правильность, простота, безопасность — и именно в таком порядке. То есть речь не про «добавить защиту», а про «не создавать уязвимости».
Именно поэтому кодовую базу OpenBSD сознательно держат компактной. Меньше строк кода — меньше мест, где можно ошибиться. Меньше зависимостей — меньше цепочек доверия, которые могут сломаться. Меньше сервисов по умолчанию — меньше векторов атаки. Для обучения это особенно ценно: студент видит не огромную систему, где «всё работает», а минималистичную, где понятно, как и почему работает каждая часть. В ЭРЦИТ мы используем OpenBSD как пример «чистого листа»: ставим только то, что нужно для задачи, и учимся обосновывать каждый установленный пакет.
Из коробки OpenBSD даёт несколько ключевых вещей, и каждая из них по сути отдельный учебный модуль. LibreSSL — форк OpenSSL, созданный командой OpenBSD, чтобы убрать тяжкое наследство OpenSSL и сделать криптографию более безопасной и понятной. Это не просто «другой SSL», это другой подход к реализации: меньше абстракций, больше контроля, меньше скрытых состояний. Packet Filter (PF) — мощный и понятный фаервол, который проектировался как часть ОС, а не как отдельный модуль. Его синтаксис — это отдельный навык: он учит мыслить в терминах правил, состояний и приоритетов, а не «включить галочку в GUI». Privilege separation — техника, при которой программа разбивается на части с разными правами доступа: если одна часть будет скомпрометирована, остальные останутся защищены. Этот принцип пронизывает весь стек OpenBSD: от sshd до sendmail. И W^X (Write XOR Execute) — аппаратная и программная защита, которая не позволяет памяти быть одновременно записываемой и исполняемой. Это усложняет эксплуатацию многих классов уязвимостей.
Но, как и в FreeBSD, одно из самых сильных впечатлений у студентов вызывает то, что находится в базовой поставке. В OpenBSD из коробки есть всё, чтобы запустить сетевой сервис: веб-сервер httpd(8) — невероятно простой и лаконичный, работающий в chroot в /var/www по умолчанию, с встроенной поддержкой TLS и интеграцией с acme-client(1) для автоматических сертификатов Let’s Encrypt. Почтовый сервер — OpenSMTPD, который пришёл на смену Sendmail в OpenBSD 5.8 и чей конфигурационный синтаксис умещается на одном экране, в отличие от Postfix или Exim. Сервер сетевого времени — OpenNTPD. Рекурсивный DNS-резолвер unbound(8) и авторитетный nsd(8). Именно он возит наш локальный домен ercit.local уже третий год. Реверс-прокси relayd(8). И это не сторонние пакеты, которые нужно ставить отдельно, тащить гору зависимостей и надеяться, что мейнтейнер не забыл пропатчить последнюю CVE — это часть базовой системы, и на всё это распространяется тот же принцип: тот же аудит кода, те же стандарты безопасности, та же ответственность команды OpenBSD. Каждый из этих компонентов проектируется, пишется и сопровождается в рамках того же процесса, что и ядро. Для студента это означает, что можно поднять полноценный сетевой сервер — веб, почта, DNS, NTP — не установив ни одного пакета. В Linux для этого нужен как минимум apt install или dnf install с десятками зависимостей; в OpenBSD ты просто редактируешь конфиг и пишешь rcctl enable httpd.
Ещё одна деталь, которая удивляет студентов, привыкших к Linux, где bash идёт «по умолчанию» в головах всех, кто работает в командной строке, — в OpenBSD оболочкой по умолчанию является ksh(1), а именно pdksh, Public Domain Korn Shell. FAQ OpenBSD прямо говорит: оболочка по умолчанию — ksh, основанный на public domain Korn shell, а bash и другие оболочки можно добавить из пакетов. ksh — это тот же бинарник, что и /bin/sh, и пользователи, знакомые с bash, найдут его очень похожим: автодополнение по Tab, редактирование командной строки, история через стрелки, Ctrl-A/Ctrl-E для перехода в начало и конец строки. Но ksh — это не «bash с другим именем». Это Korn shell, потомок оболочки, которую Дэвид Корн создал в Bell Labs в 1982 году и которая легла в основу стандарта POSIX shell. Bash — это надстройка над Bourne shell, добавившая ksh-подобные функции; ksh — это первоисточник. bash при желании можно поставить из пакетов, но команда OpenBSD считает, что ksh покрывает подавляющее большинство задач, и лишняя зависимость — это лишний риск. Для студента это ещё один урок: «привычное» не всегда значит «правильное», и иногда стоит попробовать инструмент, который лежит перед тобой, прежде чем тянуть замену из репозитория.
Многие привыкли считать OpenBSD сугубо консольной системой — и отчасти это справедливо: в ЭРЦИТ студенты сперва учатся управлять серверами через терминал, без лишних графических надстроек. Но графика в OpenBSD есть — это Xenocara, собственная сборка X Window System, которая живёт в дереве /usr/xenocara и входит в официальный релиз. И она сделана ровно по тем же канонам, что и вся ОС: никакой гонки за новыми фичами, зато максимум контроля и безопасности. Команда не создаёт свой X‑сервер с нуля, а берёт актуальный стек X.Org и накладывает на него точечные патчи: запускает X‑сервер от непривилегированного пользователя _x11, разделяет привилегии, интегрирует pledge и unveil, чтобы даже графическая подсистема не могла выйти за отведённые ей рамки. В итоге получается не «просто рабочий стол», а продолжение философии OpenBSD: если уж графика есть, то она должна быть такой же минималистичной, прозрачной и защищённой, как и всё остальное.
Документация OpenBSD — это не просто man-страницы, а полноценные руководства, где часто есть разделы «Security Considerations» прямо в описании утилиты. Для студента это важный сигнал: безопасность — часть документации, а не отдельная книга.
На практике это сильно меняет подход администратора и разработчика. В Linux ты часто ставишь пакеты из репозитория и надеешься, что мейнтейнеры проверили зависимости. В OpenBSD ты либо используешь порты (которые тоже проходят аудит), либо собираешь из исходников, понимая, какие флаги компиляции и какие зависимости ты включаешь. В FreeBSD у тебя есть build world — возможность пересобрать всю систему целиком. В OpenBSD сборка тоже есть, но фокус не на «пересобрать всё», а на «собрать только нужное и безопасное». И если в Linux и FreeBSD нередко сначала включают кучу сервисов, а потом «закрывают дыры», то в OpenBSD сервисы по умолчанию минимальны, и ты добавляешь только то, что действительно нужно.
В ЭРЦИТ OpenBSD — это не учебная песочница, а рабочая инфраструктура. На OpenBSD у нас построена система сбора и хранения лог-файлов. На OpenBSD запущены наши LDAP-серверы, которые в едином кластере обеспечивают аутентификацию для почти 900 учётных записей и почти 60 сервисов. Студентам OpenBSD интересна с двух сторон: во-первых, как операционная система, основная парадигма которой — безопасность, и это видно во всём, от устройства ядра до man-страниц; во-вторых, как система, в которой можно совершенно спокойно заниматься разработкой программ на различных языках и в различных экосистемах — и на эту разработку распространяются те же самые аспекты безопасности, что и на системные утилиты. Аудит кода, принцип наименьших привилегий, статическая линковка, chroot, pledge и unveil — всё это работает не только для базовой системы, но и для того, что ты пишешь и запускаешь поверх неё.
Исторически OpenBSD откололся от NetBSD в 1995 году, когда Тео де Раадт и его команда решили сделать ставку на безопасность и качество кода. С тех пор проект развивается как некоммерческий, с упором на прозрачность и аудит. Команда известна своей бескомпромиссностью: если код не соответствует стандартам безопасности и стиля, его не примут, даже если он «работает». Это может раздражать тех, кто привык к быстрым релизам и «почти рабочим» решениям, но именно это делает OpenBSD уникальным учебным примером: здесь учат, что «работает» — это только начало, а «безопасно и понятно» — это цель. Тео де Раадт неоднократно подчёркивал в интервью и выступлениях, что безопасность для команды — не опция, а обязательный критерий качества.

Логотип OpenBSD — это Puffy, рыба-иглобрюх. Puffy появился в OpenBSD 2.7, вышедшей в июне 2000 года, и сменил прежний маскот — BSD-демона с трезубцем и нимбом, которого OpenBSD до этого делила с FreeBSD и NetBSD. Выбор рыбы-иглобрюха был неслучайным: Blowfish — алгоритм шифрования, который использовался в OpenSSH, — дал имя маскоту. А сам иглобрюх, с его шипами, отпугивающими хищников, — естественная метафора для системы, чья главная защита — не нападение, а готовность к нему. Puffy быстро стал популярен именно потому, что отличался от BSD-демона: своя рыба, свой характер, свой стиль.
Каждые шесть месяцев, примерно 1 мая и 1 ноября, OpenBSD выпускает новый релиз. И каждый релиз — это не просто набор бинарников на FTP-сервере. К нему обязательно создаётся новый рисунок: Puffy в образе самурая, пирата, варвара, рэпера, революционера — тема выбирается исходя из того, что происходило в проекте и вокруг него за последние полгода. Арт украшал CD-диски, постеры и футболки. До версии 6.0 проект выпускал физические CD с напечатанным рисунком; сейчас диски больше не производятся, но традиция осталась.
Но рисунок — это только половина. К каждому релизу часто записывается оригинальная песня, посвящённая разработке этого релиза. На странице релизных песен хранятся они все — от «E-Railed (OpenBSD Mix)» (3.0, 2001) до «Diamond in the Rough» (7.9, 2026). Темы бывают абсурдными и глубокими одновременно: «The Wizard of OS» — пародия на «Волшебника страны Оз», «100001 1010101» — песня про бинарный код, «Wrap in Time» — рефлексия после Heartbleed, «Winter of ‘95» — ностальгия по первым дням проекта. Выпущено даже три физических аудио-CD — «The Songs 3.0–4.0», «The Songs 4.1–5.1» и «The Songs 5.2–6.0». Другие операционные системы так не делают. Это красиво, странно и абсолютно в духе OpenBSD.
Самый последний релиз — OpenBSD 7.9, вышедший 19 мая 2026 года. Шестидесятый по счёту. Кодовое имя — «PinkPuffy», песня — «Diamond in the Rough». Релиз включает OpenSSH 10.3 с новым механизмом PerSourcePenalties для блокировки перебора, LibreSSL 4.3.0 с подготовкой к постквантовой криптографии, обновлённый планировщик, учитывающий гетерогенные ядра, поддержку Wi-Fi 6 (802.11ax), драйвер USB4, поддержку VLAN для виртуальных мостов veb(4) и IPv6 SLAAC по умолчанию в установщике. Для платформы amd64 подготовлено более 13 000 бинарных пакетов: Firefox 150, GNOME 49, KDE Plasma 6.6.4, LLVM/Clang 19.1.7, GCC 15.2.0, Go 1.26.2, Rust 1.94.1, Python 3.13.13, Ruby 4.0.2 — современная экосистема, которой OpenBSD давно не стыдится.
Пожалуй, стоит сказать прямо: из всех живых операционных систем OpenBSD ближе остальных к изначальному UNIX — даже больше, чем FreeBSD. Не потому, что она делает то же, что UNIX делал тридцать лет назад, а потому, что сохранила дух UNIX: каждая программа делает одну вещь и делает её хорошо, программы работают вместе через простые интерфейсы, безопасность — не прибавка, а основа. Когда студент это видит и сравнивает с современными Linux-дистрибутивами, где один systemd тянет за собой половину системы, а один пакет зависит от сотни других, — он понимает, что UNIX — это не история, а живая инженерная философия.
В ЭРЦИТ мы не противопоставляем Linux, FreeBSD и OpenBSD — мы показываем, как разные инженерные философии задают разные подходы к проектированию систем, а значит, лучше подходят для разных классов задач. Linux — это индустриальный стандарт: мощная экосистема, гибкость и широчайший выбор инструментов делают его оптимальным выбором для большинства серверных и облачных сценариев, где важна совместимость и скорость внедрения. FreeBSD раскрывает идею целостной системы — ядро, утилиты и инфраструктура развиваются как единое дерево, и эта связность особенно ценна там, где нужны прозрачность архитектуры и возможность глубокой настройки: например, в сетевом стеке или при построении собственных платформенных решений. OpenBSD, в свою очередь, делает акцент на безопасности как фундаментальном принципе: минимализм, строгий аудит кода и встроенные механизмы защиты отражают подход, при котором система изначально проектируется так, чтобы уязвимостей было как можно меньше — и это делает её особенно уместной в критически важных узлах инфраструктуры, где цена ошибки максимальна. Вместе эти три системы формируют у студентов полноценное инженерное мышление: они учатся не просто выбирать инструмент под задачу, а видеть, какая философия стоит за каждой ОС, и осознанно соотносить эту философию с требованиями проекта — понимая, что «правильный» выбор определяется не модой и не привычкой, а соответствием подхода решаемой задаче.