ОС
Корпорация Sun Microsystems (www.sun.com) анонсировала выпуск десятой версии ОС Solaris. По сравнению с предшествующими эта версия содержит ряд нововведений и улучшений, направленных прежде всего на увеличение производительности и надежности функционирования. Многие из них были заимствованы из ОС "военного исполнения" Trusted Solaris, применяющейся в госструктурах и вооруженных силах США. Кстати сказать, начиная с десятой версии отдельной "военной" системы не будет: Trusted Solaris 10 станет лишь надстройкой над обычной ОС.
Павел Анни представляет новые возможности Solaris 10
Многоплатформенность
В последнее время особенно востребованы ОС, способные работать в гетерогенных средах на аппаратных платформах от различных производителей, ведь большинство инфраструктур, находящихся на вооружении предприятий, выглядят именно так. Sun в свое время допустила ошибку, притормозив работы над ОС для платформы x86, но повторно наступать на те же грабли не собирается. Новая версия Solaris функционирует на нескольких платформах - SPARC, x86 и AMD64, что позволяет защитить инвестиции заказчика в свою инфраструктуру. Кроме того, обеспечивается совместимость на уровне исходных текстов прикладного ПО для платформ SPARC и x86, а также обеспечивается работа приложений Linux, скомпилированных для платформы x86.
Контейнеры
Solaris, как и другие коммерческие реализации Unix, традиционно славится своей высокой надежностью. Среди возможностей новой версии, призванных еще более укрепить эту репутацию, важнейшее место занимает технология контейнеров, носящая название Solaris Containers.
Контейнеры, или зоны, представляют собой отдельные виртуальные системы, внутри каждой из которых существует собственное пространство имен и процессов, свои наборы пользователей, каталогов, сетевых адресов. Зоны изолированы друг от друга, благодаря чему процессы и пользователи, работающие в одной зоне, не имеют доступа к другой. Важно отметить, что даже у суперпользователя (root) зоны нет возможности увидеть, что делается в другой зоне. Таким образом, даже в случае взлома отдельной зоны злоумышленник не получает доступа ко всей системе, а остается в рамках этой зоны.
Контейнеры позволяют распределять системные ресурсы (процессорное время, ОЗУ, дисковое пространство) между отдельными процессами, группами процессов и пользователями. Например, администратор может выделить 40 частей (shares) процессорного времени серверу баз данных, 30 частей - серверу приложений и 5 раз по 10 частей 5 веб-серверам, работающим в режиме горизонтального масштабирования, в результате чего все эти приложения гарантированно получат свою долю процессорного времени.
Технология Solaris Containers дает администратору уникальную возможность создания виртуальных серверов, не пересекающихся друг с другом ни по пользователям, ни по процессам. Каждый из этих виртуальных серверов можно независимо перезагружать, есть также возможность запускать и останавливать сервисы, давать пользователям доступ, не опасаясь, что это затронет другие виртуальные серверы, работающие на этой машине.
Важной особенностью реализации Solaris Containers является то, что поддержка даже нескольких десятков, а то и сотен виртуальных серверов не увеличивает нагрузку на администратора: все контейнеры работают в рамках одной копии ОС Solaris и могут наследовать все установленные пакеты и патчи, а также глобальные настройки. Таким образом, администратор не должен поддерживать каждый виртуальный сервер по отдельности, использование технологии контейнеров не накладывает на него дополнительных обязанностей. Кроме того, эта технология является экономичной и с точки зрения системных ресурсов: на каждый контейнер требуется менее 1% накладных расходов по сравнению с полноценными виртуальными машинами, в которых функционируют отдельные копии ОС. Правда, у такого подхода есть и обратная сторона: если по какой-либо причине произойдет сбой самой ОС, "рухнут" приложения во всех зонах, а не только в той, которая вызвала этот сбой.
Средства диагностики и восстановления
В новой версии средства диагностики претерпели кардинальные изменения. Одно из важнейших улучшений заключается в консолидации сообщений об ошибках. Теперь система фиксирует только первопричину ошибки, а не порождает лавину сообщений о различных неполадках, возникших в результате одного-единственного сбоя. Благодаря этому можно сэкономить многие часы кропотливого труда администраторов, пытающихся понять, что же послужило причиной ошибки.
ОС анализирует статистику работы аппаратуры и заранее прекращает использование подозрительных компонентов. Например, обнаружив возникновение корректируемых ошибок оперативной памяти, система оповестит об этом администратора, а сама постарается больше не использовать "умирающий" чип.
Наконец, Solaris 10 имеет средства самолечения (Predictive Self Healing). Заметив неполадки в работе приложений и сервисов, ОС автоматически перезапускает их, благодаря чему последствия случайных сбоев в основном устраняются за считанные секунды без вмешательства администратора.
Управление правами процессов
Одно из важнейших нововведений в Solaris 10 - возможность ограничения прав процессов только самыми необходимыми потребностями. Прежде, если процессу нужно было обеспечить доступ к системному файлу или привилегированному сетевому порту, единственным выходом был запуск этого процесса от имени суперпользователя, что давало ему полный доступ ко всем системным ресурсам. В результате, если злоумышленник взламывал этот процесс, он получал полный контроль над системой. В Solaris 10 администратор имеет возможность ограничить права доступа для конкретного процесса или группы процессов только теми привилегиями, которые ему реально необходимы. Таким образом, злоумышленник, даже захватив процесс, не сможет получить права суперпользователя.
Ролевой доступ
Система ролевого доступа (RBAC - Role Based Access Control), широко использовавшаяся в военных системах, предназначена для решения "проблемы суперпользователя" - ситуации, когда один пользователь имеет доступ ко всем ресурсам системы. Такой подход нельзя назвать безопасным, поэтому в Solaris введена возможность разделения прав суперпользователя между несколькими пользователями. Одному пользователю может быть предоставлено только право чтения системных журналов (например, для аудита), другому - право добавления новых пользователей, третьему - право подключения и конфигурирования внешних устройств. Рекомендации экспертов по безопасности говорят о том, что в идеале в системе вообще не должно быть суперпользователя, а все его права надо разделить между различными ролями.
Средства обеспечения режима безопасности
Важным свойством новой версии является обеспечение высокой степени защиты сразу же после установки. Для заказчиков, предъявляющих жесткие требования к безопасности, разработаны специальные процедуры и технические средства, позволяющие повысить защищенность системы до максимума. К таким средствам относятся Solaris Security Toolkit (также известный как JASS - JumpStart Architecture and Security Scripts) и BART - Basic Audit and Reporting Tool.
Solaris Security Toolkit был разработан специалистами Sun на основе многолетнего опыта обеспечения информационной безопасности в организациях заказчиков, использующих ОС Solaris. Это средство представляет собой набор скриптов и утилит, позволяющих администратору автоматизировать такие функции, как минимизация наборов сервисов, которые могут быть использованы для проникновения в систему, "упрочнение" системных настроек, минимизация прав доступа для процессов и пользователей, контроль и установка безопасных атрибутов файлов.
BART предназначен для контроля целостности файлов в операционной системе. Сразу же после установки BART генерирует эталонные контрольные суммы для файлов системы. Эта утилита настраивается системным администратором на периодическую проверку целостности файлов с целью выявления возможных случайных или злонамеренных модификаций.
Защита от переполнения буфера
Большинство атак на системы в той или иной мере используют методику переполнения буфера, чтобы получить доступ к привилегированным процессам. Solaris 10 включает специальное средство защиты от таких атак, помогающее предотвратить исполнение программных кодов, находящихся в системном стеке. Все привилегированные процессы по умолчанию снабжены такой защитой, и системный администратор может при необходимости устанавливать ее и на другие программы.
Обеспечение производительности
Чрезвычайно важным является обеспечение не только бесперебойной, но и производительной работы приложений. Чтобы облегчить разработчикам и администраторам анализ функционирования ПО в реальных условиях, компания Sun включила в новую версию своей ОС средство динамической трассировки задач (Dynamic Tracing, DTrace).
DTrace контролирует более 30 тыс. различных точек системы, так называемых "проб", позволяя администраторам собирать любую статистику: о частоте системных вызовов, объемах передаваемых данных, размерах стеков, о загрузке процессоров и т. п. Для создания специализированных сценариев контроля за работой системы DTrace имеет собственный язык программирования D.
Благодаря анализу работы реальной, а не тестовой системы отпадает необходимость при значительном снижении производительности приложения гадать на кофейной гуще, пытаясь понять причины этого явления. По заверениям корпорации Sun, суммарная производительность системы при точной настройке иногда возрастает в 30 раз.
Помимо введения средства динамической трассировки специалисты Sun серьезно улучшили уже имеющиеся компоненты системы. Так, очередным изменениям подверглась реализация многопоточности, был переработан стек драйверов протоколов TCP/IP.
Новая файловая система
Как известно, самые распространенные сейчас файловые системы фактически являются модернизированными вариантами своих предшественниц двадцатилетней давности. Наиболее яркий пример - FAT32, выросшая из FAT12/FAT16, однако ни NTFS, ни файловые системы Li-nux - не исключение. Главная их проблема заключается в поддержке носителей ограниченного объема, что стало следствием 32-разрядной адресации кластеров (а значительное увеличение размера кластера приводит к неэффективному расходу дискового пространства на хранение "воздуха").
В состав Solaris 10 входит новая файловая система ZFS (Zetabyte File System). По словам Павла Анни, начальника отдела продуктов и решений, представлявшего новую версию ОС, придуманное разработчиками слово "Zetabyte" должно подчеркнуть огромную емкость, поддерживаемую этой файловой системой (как известно, Z - последняя буква латинского алфавита). ZFS использует 128-разрядную адресацию, чего, как надеются ее создатели, должно хватить на ближайшие несколько десятков лет.
Новая файловая система очень удобна для администратора. Так, размеры выделенного под нее дискового пространства могут изменяться в процессе работы, причем предварительно снимать резервную копию всей хранящейся информации не требуется (конечно, резервное копирование не помешает, но нельзя сказать, что оно абсолютно необходимо).
Естественно, важнейшим требованием к ZFS остается надежность хранения информации. Для этого обеспечивается сквозной контроль всех данных по контрольным суммам, благодаря чему вероятность ошибки, по мнению специалистов Sun, не превышает 10-19.
Касаясь возможности использования Solaris на рабочих станциях, Павел Анни отметил, что эта ОС предназначена все-таки для серверов, на рабочих местах она "приемлема, но это не Mac". Тем не менее на ноутбуке г-на Анни она используется отнюдь не по прямому назначению и с не свойственными для нее задачами справляется, по его словам, очень даже неплохо.
Поставки новой версии ОС совместно с Java Enterprise Server (JES) начнутся с января 2005 г., сейчас доступна финальная бета-версия. С переходом к новой ОС произошел переход и на единую бизнес-модель. Предыдущие версии для платформы SPARC поставлялись бесплатно (стоимость системы как бы входила в стоимость "железа"), а для платформы x86 - за деньги. Лицензия на Solaris 10 с возможностью установки критических обновлений системы безопасности не будет стоить ни копейки независимо от платформы.
Раз в квартал планируется выпускать обновленные версии системы, включающие предыдущие исправления из "рекомендованного набора"; эти версии будут доступны для бесплатного самостоятельного скачивания с веб-сайта корпорации. Дополнительные патчи, не входящие в "рекомендованный набор", а также возможность получения консультаций будут доступны только по подписке. В США ее стоимость в зависимости от набора дополнительных услуг колеблется от 120 до 360 долл. в год на один физический процессор, в России цены будут, вероятно, несколько выше.