«Всего две удаленные уязвимости за черт знает сколько лет!» — слоган OpenBSD, самой безопасной UNIX-подобной операционной системы. Долгое время OpenBSD получала финансирование от DARPA, созданный ее разработчиками сервер OpenSSH знаком любому IT-шнику, а разные компоненты этой ОС используются в твоем компе, смартфоне и роутере. OpenBSD — поистине бриллиант семейства BSD, и сегодня мы вглядимся в его грани.

 

История вопроса

История OpenBSD, ее философия, идеи и вообще причина существования тесно связаны с Тео де Раадтом, эксцентричным, высокомерным, невыносимым в общении, но невероятно талантливым программистом и руководителем. Тео стоял у истоков NetBSD, и придумал ей имя тоже он, однако многочисленные конфликты с другими участниками команды и просто неуважение к оппонентам в споре привели к тому, что в декабре 1994 года его с шумом выставили из команды разработчиков.

Долгое время, пытаясь наладить контакт или, скорее сказать, выпросить доступ к репозиторию кода, Тео продолжал программировать, допиливать порт NetBSD на SPARC, но в конце концов сдался и просто пропал. Однако вместо того, чтобы затеряться среди программистов в какой-нибудь крупной IT-компании, он форкнул NetBSD и на свой страх и риск начал разработку совершенно новой ОС, решив развивать ее по своим собственным законам и правилам.

Одна из его ключевых идей состояла в том, что операционка должна развиваться абсолютно открыто, а свежайший код всегда должен быть доступен для изучения всем желающим. Так появился первый публичный анонимный CVS-репозиторий кода, идея абсолютно обыденная сегодня, но в те времена кардинально новая. Это принесло плоды, и вскоре независимые разработчики начали присылать свои патчи, а к команде присоединились другие люди. Уже в июле 1996 года, через полгода после основания проекта, состоялся релиз OpenBSD 1.2, а в октябре за ним последовал релиз 2.0, после чего выпуск релизов начал происходить каждые полгода, невзирая на погоду, болезни, катастрофы или любые другие помехи.

Последний на момент написания статьи релиз OpenBSD — 5.8, и на сегодня это самая популярная BSD-система после FreeBSD. На OpenBSD работает огромное количество устройств, большинство из них сетевые фильтры. А о том, где используются ее компоненты, так и вообще не приходится говорить: iOS, Android, Windows, OS X; так или иначе части OpenBSD можно найти практически везде, и это еще не считая OpenSSH, созданного ее разработчиками.

Если говорить о рядовых пользователях, то это достаточно большой костяк, а самое главное, что почти каждый из них не просто «перешел на OpenBSD», а стал ярым фанатом системы и того пути, по которому идет ее развитие. Операционка действительно очень сильно к себе располагает, и причина тому — идеология.

Тео де Раадт
Тео де Раадт

INFO


Для каждого нового релиза OpenBSD готовится своя собственная композиция.
 

Три столпа OpenBSD

OpenBSD держится на трех столпах, причем не просто держится, а вцепилась в них мертвой хваткой:

  • приверженность идеям СПО;
  • качество кода;
  • безопасность.
 

Идеи СПО

Разработчики OpenBSD очень трепетно относятся к тому, каким образом лицензируется код для включения в систему. Исходный код самой системы распространяется под лицензией ISC, которая является упрощенным вариантом лицензии BSD и сводится к одному простому предложению: «Делайте с кодом все, что хотите, но не говорите, что он написан вами».

Однако в отношении стороннего софта, включенного в поставку OpenBSD, действуют жесткие правила. По сути, есть только две приемлемые для разработчиков сторонние лицензии: BSD и MIT, остальные считаются «нежелательными». По этой причине разработчики регулярно предпринимают попытки переписать известный GNU-софт, распространяемый по лицензии GPL, или найти ему замену. В свое время были переписаны многие утилиты, включая diff и grep, а знаменитый OpenBSD-шный брандмауэр PF появился как ответ на изменение политики лицензирования IPFilter. Регулярно поднимается вопрос о создании собственного C-компилятора для замены GCC, однако возможностей для этого пока нет.

Тео де Раадт никоим образом не приемлет включение бинарных блобов в ядро. По его словам, бинарный код, аудит которого нельзя провести, не вызывает доверия и может работать абсолютно непредсказуемо или содержать закладки. Поэтому нередко разработчики OpenBSD вынуждены заниматься реверс-инжинирингом проприетарных драйверов, и именно благодаря этим ребятам мы имеем открытые драйверы для многих устройств.

Загрузка OpenBSD
Загрузка OpenBSD
 

Качество кода и безопасность

OpenBSD по праву считается «системой для параноиков». Такого количества включенных по умолчанию средств защиты нет больше ни в одной другой продакшен ОС. Более того, многие из средств защиты, используемых сегодня повсеместно (privilege separation, например), были либо придуманы, либо впервые внедрены разработчиками OpenBSD. Эти механизмы совершенствуются с каждым новым релизом ОС, регулярно появляются и обкатываются новые идеи.

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


1 комментарий

Подпишитесь на ][, чтобы участвовать в обсуждении

Обсуждение этой статьи доступно только нашим подписчикам. Вы можете войти в свой аккаунт или зарегистрироваться и оплатить подписку, чтобы свободно участвовать в обсуждении.

Check Also

LUKS container vs Border Patrol Agent. Как уберечь свои данные, пересекая границу

Не секрет, что если ты собрался посетить такие страны как США или Великобританию то, прежд…