&os;: Open Source альтернатива &linux; DruLavigne
dru@isecom.org
2005 Dru Lavigne $FreeBSD$ $FreeBSD$ &tm-attrib.freebsd; &tm-attrib.linux; &tm-attrib.unix; &tm-attrib.general; &legalnotice; Цель данной статьи - объяснить некоторые из характеристик и преимуществ, предоставляемых &os;, и где возможно, сравнить эти характеристики с &linux;. Эта статья предоставляет начальную точку для тех, кто заинтересован в изучении Open Source альтернатив Линуксу.
Введение &os; - это &unix; подобная операционная система, основанная на Berkeley Software Distribution. Хотя и &os; и &linux; обычно воспринимаются, как очень похожие, существуют различия: &linux; сам по себе - ядро. Дистрибутивы (например: Red Hat, Debian, Suse и другие) предоставляют установщик и утилиты доступные пользователю. На http://www.linux.org/dist представлен список, в котором перечислено более 300 существующих дистрибутивов. Предлагая пользователю максимум гибкости, существование такого количества дистрибутивов также увеличивает сложность применения навыков при переходе с одного дистрибутива на другой. Дистрибутивы отличаются не только легкостью установки и доступными программами, а также расположением каталогов, доступными командными оболочками, оконными менеджерами и процедурами установки и корректирования (patching) программного обеспечения. &os; - это полноценная операционная система (ядро и пользовательское окружение) с хорошо зарекомендовавшим себя наследием, уходящим своими корнями в истоки разработки Unix Краткая история на http://www.oreilly.com/catalog/opensources/book/kirkmck.html. . Так как и ядро и предлагаемые утилиты находятся под контролем одной группы по выпуску релизов - меньше вероятность несовместимости библиотек. Уязвимости в безопасности также могут быстро обнаруживаться командой по безопасности. Когда появляются новые утилиты или возможности ядра пользователю просто надо прочесть один файл (Release Notes, Замечания по релизу), который публично доступен на главной странице веб-сайта &os;. &os; имеет большую и хорошо организованную программную базу, которая гарантирует, что изменения будут осуществляться быстро и под контролем. Существует несколько тысяч программистов, которые вносят код на регулярной основе, но только около 300 из них имеют, так называемый, коммит бит и могут напрямую вносить изменения в ядро, утилиты и официальную документацию. Группа подготовки релизов (release engineering team) проводит качественный контроль, а команда офицеров по безопасности (security officer team) ответственна за реакцию на инциденты, связанные с безопасностью. В дополнение, существует основная выбираемая группа из 8 главных коммитеров, которые определяют общее направление Проекта. В противоположность сказанному, изменения в Linux ядро должны ждать одобрения мейнтейнером исходного кода ядра, Линусом Торвальдсом (Linus Torvalds). Варианты того, как вносятся изменения в дистрибутивы могут сильно различаться. Всё зависит от размеров каждой конкретной программной базы дистрибутива и организационного метода. Хотя и &os; и &linux; используют Open Source модель лицензирования, сами лицензии различаются. Linux ядро находится под GPL лицензией, а &os; использует BSD лицензию. Эти и другие Open Source лицензии более детально описаны на веб-сайте Open Source Инициатива. Ведущая философия GPL - гарантия того, что код останется в рамках Open Source; это достигается путём наложения ограничений на распространение кода под лицензией GPL. BSD лицензия, наоборот, не накладывает таких ограничений, что даёт возможность выбора между содержанием кода в рамках Open Source или закрытием кода в проприетарном коммерческом продукте Довольно объективный взгляд на качества каждой лицензии можно посмотреть на http://en.wikipedia.org/wiki/BSD_and_GPL_licensing. . Наличие стабильного и надёжного кода под заманчивой BSD лицензией значит, что многие операционные системы, такие как Apple OS X базируются на коде FreeBSD. Это также означает, что если вы выберете использование кода в ваших проектах под лицензией BSD, вы сможете сделать это без угрозы будущей юридической ответственности. Характеристики &os; Поддерживаемые платформы &os; имеет репутацию безопасной, стабильной операционной системы для &intel; (&i386;) платформы. Тем не менее, &os; также поддерживает следующие архитектуры: amd64 ia64 &i386; pc98 &sparc64; В дополнение, продолжается работа по портированию &os; на следующие архитектуры: &arm; &mips; &powerpc; Постоянно обновляющиеся списки поддерживаемого оборудования поддерживаются для каждой архитектуры, так чтобы вы быстро могли посмотреть поддерживается ли ваше оборудование. Для серверов имеется отличная поддержка аппаратного RAID и сетевых интерфейсов. &os; также является великолепной рабочей станцией и операционной системой для лэптопов! Она поддерживает X Window System, ту же, что используется в &linux; дистрибутивах для обеспечения настольного пользовательского интерфейса. FreeBSD также поддерживает более 13,000 простых в установке приложений от третьих лиц Используя Коллекцию портов FreeBSD: для установки программного обеспечения достаточно просто набрать pkg_add -r имя_приложения. , включая KDE, Gnome и OpenOffice. Существует несколько проектов, призванных облегчить установку &os; в качестве десктопа. Наиболее заметные: DesktopBSD, задающийся целью создать стабильную и мощную операционную систему для десктоп пользователей. FreeSBIE, предоставляющий LiveCD для &os;. PC-BSD, предоставляющий простой в использовании GUI установщик для &os;, ориентированный на десктоп пользователя. Расширяемые подсистемы &os; предлагает большое количество расширяемых подсистем, что позволяет вам настроить FreeBSD окружение под ваши собственные нужды. Некоторые из основных подсистем: Netgraph Netgraph - это модульная сетевая подсистема, которая может использоваться для дополнения существующей сетевой инфраструктуры ядра. Крючки (hooks) используются для того чтобы позволить разработчикам создавать собственные модули. Как результат, быстрое создание прототипа и промышленное развертывание улучшенных сетевых сервисов может выполняться гораздо легче и с меньшим количеством ошибок. Многие существующие работающие модули поставляются с FreeBSD и включают поддержку: PPPoE ATM ISDN Bluetooth HDLC EtherChannel Frame Relay L2TP, вот лишь некоторые из них. GEOM GEOM - это модульная дисковая подсистема трансформации запросов ввода-вывода. Так как это съёмный уровень в системе хранения, это позволяет быстро разрабатывать и полностью интегрировать в подсистему хранения FreeBSD новые сервисы, связанные с хранением. Несколько примеров где это может пригодиться: Создание решений на основе RAID. Предоставление полной криптографической защиты хранимой информации. Более новые версии FreeBSD предлагают много административных утилит для использования существующих GEOM модулей. Например, кто-нибудь может создать зеркало диска, используя &man.gmirror.8;, страйп (stripe), используя &man.gstripe.8; и разделяемое секретное устройство, используя &man.gshsec.8;. GBDE GBDE, GEOM Based Disk Encryption (Шифрование Диска на Основе GEOM) предоставляет сильную криптографическую защиту и может использоваться для защиты файловых систем, swap устройств и других видов применений носителей информации. Плюс ко всему, GBDE прозрачно шифрует целые файловые системы, а не только индивидуальные файлы. Никогда не зашифрованный текст не окажется на блине жёсткого диска. MAC MAC, Mandatory Access Control (Принудительный контроль доступа) предоставляет хорошо регулируемый доступ к файлам и предназначен для улучшения традиционной авторизации операционной системы, представленной разрешениями файлов. Так как MAC реализован в виде модульной подсистемы, FreeBSD система может быть сконфигурирована для любой требуемой политики, варьирующейся от HIPAA согласованности до нужд системы военного класса. &os; поставляется с модулями, реализующими следующие политики; тем не менее подсистема позволяет вам разработать любую требующуюся политику: Biba integrity model Port ACLs MLS или Multi-Level Security confidentiality policy LOMAC или Low-watermark Mandatory Access Control data integrity policy Process partition policy PAM Как и &linux;, &os; имеет поддержку PAM, Pluggable Authentication Modules (Подключаемые модули аутенфикации). Это позволяет администратору улучшить традиционную &unix; модель аутенфикации, логин/пароль. &os; предлагает модули для интегрирования во многие механизмы аутенфикации, включая: Kerberos 5 OPIE RADIUS TACACS+ Они также позволяют администратору определять политики контролирования вопросов, связанных с аутенфикацией, таких как качество паролей выбираемых пользователями. Безопасность Безопасность очень важна для Группы подготовки релизов FreeBSD. This manifests itself in several concrete areas: Все инциденты и исправления, связанные с безопасностью проходят через Команду по безопасности и выпускаются, как публично доступные Бюллетени по безопасности (Advisories). Команда по безопасности имеет хорошую репутацию за быстрое решение известных проблем с безопасностью. Полная информация относительно процедур работы с безопасностью во FreeBSD и где искать информацию по безопасности доступна на http://www.FreeBSD.org/security/. Одна из проблем, связанная с Open Source программным обеспечением - это точное количество пригодных приложений. Существуют почти что десятки тысяч проектов Open Source приложений, и каждый с различными уровнями ответной реакции на инциденты, связанные с безопасностью. &os; приняла этот вызов вместе с VuXML. Всё программное обеспечение, поставляемое с операционной системой FreeBSD, так же, как и любое программное обеспечение доступное в Коллекции портов сравнивается с базой данных известных, неисправленных уязвимостей. Администратор может использовать &man.portaudit.1; утилиту, чтобы быстро определить, есть ли на &os; системе уязвимое программное обеспечение, и если есть, получить описание проблемы и URL, содержащее более детальное описание уязвимости. &os; также предоставляет множество механизмов, которые позволяют администратору настраивать операционную систему под его нужды, связанные с безопасностью: Утилита &man.jail.8; позволяет администратору заключать процесс в тюрьму; это идеально для приложений, которые не имеют собственного chroot окружения. Утилита &man.chflags.1; улучшает безопасность, предлагаемую традиционными Unix разрешениями. Она может, к примеру, предотвратить изменение или удаление указанных файлов даже суперпользователем. &os; предлагает 3 встроенных, поддерживающих NAT файерволов, предлагая больше возможностей для выбора набора правил наиболее подходящего для нужд безопасности. Ядро &os; легко модифицируется, позволяя администратору убирать ненужную функциональность. &os; также имеет поддержку загрузочных модулей ядра и предоставляет утилиты для просмотра, загрузки и выгрузки модулей ядра. Механизм sysctl позволяет администратору просматривать и изменять состояние ядра на лету без перезагрузки. Поддержка Как и &linux;, &os; предлагает много видов поддержки, как свободно доступных, так и коммерческих. Бесплатные предложения &os; - одна из лучше всего документированных операционных систем, и документация доступна и как часть операционной системы, так и в Интернете. Страницы справочника конкретны, кратки и предоставляют рабочие примеры. В Руководство по FreeBSD предоставляет вводную информацию и примеры конфигурации почти для каждой задачи, которую кто-то захочет решить, используя &os;. &os; предлагает много поддерживаемых списков рассылки, где ответы архивируются и полностью доступны для поиска. Если у вас есть вопрос, который не затрагивается Руководством, он почти наверняка уже отвечался в списке рассылки. И Руководство и списки рассылки также доступны на нескольких языках, все из которых легко доступны с http://www.FreeBSD.org. Существует множество IRC каналов, посвящённых FreeBSD, форумов и групп пользователей. Смотрите http://www.FreeBSD.org/support.html для выбора. Если вы ищите администратора &os;, разработчика или поддерживающий персонал пошлите описание работы, включающее географическое местоположение в freebsd-jobs@FreeBSD.org. Коммерческие предложения Существует много поставщиков, которые занимаются коммерческой поддержкой &os;. Ресурсы по поиску поставщика, находящегося поблизости от вас включают в себя: Страничка коммерческих поставщиков на сайте &os;: http://www.FreeBSD.org/commercial/ FreeBSDMall, который продаёт контракты на поддержку примерно 10 лет: http://www.freebsdmall.com База данных BSDTracker на: http://www.nycbug.org/index.php?NAV=BSDTracker Существует также инициатива по сертификации системных администраторов BSD. http://www.bsdcertification.org. Если ваш проект требует Common Criteria certification, &os; включает подсистему TrustedBSD MAC для облегчения процесса сертификации. Преимущества выбора &os; Существует много преимуществ для включения решений &os; в вашу IT инфраструктуру: &os; хорошо документирована и следует множеству стандартов. Это позволит вашим существующим вспомогательным и опытным системным администраторам быстро приспособить их существующие Linux и Unix навыки для администрирования FreeBSD. Разработчики, работающие из дома имеют полный доступ ко всему коду FreeBSD Плюс ко всему, весь код доступен через веб-интерфейс: http://www.FreeBSD.org/cgi/cvsweb.cgi/. всех релизов вплоть до первого выпущенного. Вместе с кодом включены все лог сообщения, которые предоставляют контекст для изменений и исправлений ошибок. Дополнительно, разработчик может легко скопировать любой релиз, просто закачав код с требуемой меткой. В противоположность сказанному, &linux; по традиции не следовал данной модели, но недавно адаптировал более совершенную модель разработки Интересный обзор развивающейся модели разработки Linux может быть найден на http://linuxdevices.com/articles/AT4155251624.html. . Разработчики, работающие из дома также имеют полный доступ к FreeBSD базе данных сообщений об ошибках, GNATS. Они могут и запрашивать и прослеживать существующие ошибки также, как и предоставлять свои патчи на одобрение и возможное внесение в базовый код FreeBSD. http://www.FreeBSD.org/support.html#gnats BSD лицензия позволяет вам свободно модифицировать код, чтобы он подходил для ваших бизнес целей. В отличии от GPL, не существует ограничений в том, как вы выберете распространять конечный программный продукт. Заключение &os; - это зрелая &unix;-подобная операционная система, включающая в себя множество возможностей, которые можно ожидать в современной &unix; системе. Для тех, кто хочет внедрить Open Source решение в их существующую инфраструктуру, &os; будет хорошим выбором.