Лучшая система размещения статей
 Добавить в избранное |  Сделать стартовой 
Поиск По Сайту
Навигация
     Главная
     Форум
     Новости
     Обзор новостей
     Гостевая
     Статьи
     Файлы
     Магазин
     Пользователи
     Контакты
     О Проекте
     Карта Сайта
Вход
Логин:

Пароль:


Запомнить меня
Вам нужно Авторизоваться.
Забыли Пароль?
Регистрация
Атестат
Подписка на новости: Подписаться

ALTLinux Castle. Общие сведения

Автор: ALT Linux Team
Источник: www.altlinux.ru
Добавлено: 2006-03-04 15:47:54

Безопасность информации - сколько говорится о ней, сколько написано статей, сколько придумано подходов и методов. Кто же прав? Чей подход лучше? Наверное, никто не сможет ответить.

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

С нашей точки зрения, гораздо выгоднее сочетание этих двух подходов - из дистрибутива убраны очевидно ненужные или потенциально опасные программы, но, c другой стороны, их оставлено достаточно, чтобы можно было организовать не "полупустой" роутер, а полномасштабный web, файловый или даже build сервер.

Теперь разберемся с методами защиты. Для этого рассмотрим наиболее известные подходы.

LIDS - Использует расширенный вариант capabilities - больших "рубильников" на основных вызовах ядра. Система жестко фиксируется и получается защищенной в силу того, что для изменения нужно очень постараться. Таким образом, гибкость настроек оставляет желать лучшего - либо все либо ничего. Кроме того, не надо забывать, что root остается root и вся защита базируется на знании одного секретного элемента - пароля администратора LIDS.

Medusa - использует понятия виртуальных областей. Все процессы делятся на группы - например, на сугубо локальные и сетевые, и определяются правила взаимодействия между группами. Понятно, что данная архитектура ориентирована на сеть и значительно проигрыгрывает в гибкости локальных настроек. Основным элементом в системе защиты является специальный "неубиваемый" серверный процесс (daemon) Constable. Он считывает при запуске конфигурационный файл и забирает оттуда все параметры - опять налицо сложности с быстрым изменением настроек.

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

ACL ( Linux ACLs и Posix 1.e) - попытка добавить в файловую систему ext2 ACL по стандарту POSIX 1.e. В отличие от всех выше перечисленных систем, изменения происходят незамедлительно. C другой стороны, ACL реализуют только дискреционный механизм доступа и, несмотря на возможность настроить права "r-w-x" с точностью до пользователя, не пригодны для более серьезных случаев,где надо защищать информационные потоки.

Openwall Linux kernel patches - здесь главный упор делается на контроль за "недостойным" поведением программ. Сам по себе этот метод недостаточно обеспечивает защиту системы - утечка может происходить по вполне законным с точки зрения ядра каналам - но в силу своей легкости может легко комбинироваться и интегрироваться с другими подходами для достижения наилучшего результата. В нашем дистрибутиве данный подход будет обязательно присутствовать, хотя и не как базовый.

SELinux - интересная разработка самой страшной и засекреченной в мире организации - NSA. В распоряжение предоставляются достаточно сложные и гибкие модели, соответствующие последнему пиcку моды в теории защиты информации. К сожалению, сложность настройки и эксплуатации системы соответствующая. Опять-таки имеются серьезные проблемы с настройкой "на лету", а об организации готовых решений "из коробки" можно и не задумываться - даже сборка системы "на месте" - занятие не для слабонервных.

Наше основное решение заключается в применении самой гибкой и настраиваемой системы, каковой является RSBAC. В основе лежит архитектура GFAC, позволяющая одновременное использование нескольких политик: вам достаточно ACL - используйте их; захотели мандатные методы - к вашим услугам; задумались о самых новомодных ролевых моделях - милости просим. Более того, можно использовать все это одновременно - например закрыть каталог с помощью ACL, а внутри него использовать полномочное разграничение доступа. Все ненужные в данный момент модули могут быть отключены, а при необходимости загружены вновь. Если в поставке не обнаружилось нужной вам модели безопасности, можно сделать свою БЕЗ ПЕРЕСБОРКИ ЯДРА И ПЕРЕЗАГРУЗКИ СИСТЕМЫ.Таким образом, на лицо масштабируемость - от небольшой рабочей станции до самого сложного сервера.

Это еще не все - все вносимые вами изменения схватываются на "лету", что позволяет производить локальные изменения политики без прерывания работы критичных приложений сервера.

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

Еще один важный момент - жесткое разделение администратора системы и администратора безопасности. Теперь нет всевластного root - его полномочия ограничивает администратор безопасности, настраивая соответствующим образом политику. Таким образом, даже если случилось самое страшное - в систему проникнет злоумышленник и получит права root - то он все равно не сможет уничтожить защищаемую информацию или перевести систему в незащищенный режим. С другой стороны, и администратор безопасности - всего-лишь обычный пользователь и не может помешать функционированию системы. Что важно для таких серьезных применений как банковская сфера - такое разделение позволяет разграничивать ответственность и выполнять требование по обязательному присутствию нескольких лиц при принятии ответственных решений.

Конечно же, наша концепция защиты не ограничивается применением такой тяжелой артиллерии - все остальные части системы тоже выполнены в духе максимальной безопасности

Из всех пакетов, реализующих сходную функциональность, предпочтение отдается тем, которые разработаны более грамотно с точки зрения безопасности. Именно такие пакеты предлагаются для установки по умолчанию. Все пакеты этого класса подвергаются более тщательному анализу на предмет на предмет присутствия в коде разного рода уязвимостей.

Конфигурация большинства пакетов составлена таким образом, чтобы обеспечить наиболее безопасный режим функционирования. Это включает в себя, в частности, уменьшение и изолирование прав доступа, а также отказ от потенциально опасных возможностей (которые опытный администратор может настроить самостоятельно).

В направлении разграничения прав доступа впервые реализована как неотъемлемая часть дистрибутива технология создания и поддержки т.н. "chrooted environments" - изолированных сред выполнения. Влияние программ, работающих в таких средах, на другие программы и систему в целом, минимально; даже в случае обнаружения уязвимости программа, запущенная в такой среде, не представляет угрозы для безопасности остальных компонент системы. В дистрибутиве следующие серверы работают chrooted: postfix, bind, MySQL, junkbuster. С помощью отработанной технологии в дальнейшем планируется chroot`изация других серверов, входящих в дистрибутив.

В состав дистрибутива все еще входит большой обьем ПО, не подвергнутого столь же тщательному аудиту, что и базовые компоненты системы. Чтобы свести к минимуму риски, возникающие при использовании такого софта, применяются меры по общей защите системы, включая использование закрытых личных каталогов для хранения временных файлов и безопасных методов их создания с целью избежания т.н. "race conditions", впервые включен crypt_blowfish в качестве основного алгоритма хеширования паролей, и др.

В дистрибутив интегрированы современные средства, обеспечивающие безопасное хранение ( Kernel International Crypto patch) и передачу информации ( Secure Shell, Gnu Privacy Guard). Мы рекомендуем их использование во всех случаях, когда встает вопрос безопасности данных.

В заключение отметим самое главное достоинство дистрибутива - впервые все предлагаемые решения в полном объеме готовы к использованию прямо из коробки - как говорится, plug-and-play.
Конфигурация RSBAC

Основные предлагаемые модули следующие:

AUTH(Authentification) - головной модуль. Следит за сменой владельца у процессов. В обычной среде процессы, запускаемые от имени администратора, могут менять владельца на кого им заблагорассудится, и в результате администратор может менять владельца на любого пользователя без указания пароля, что неблагоприятно сказывается на конфиденциальности информации. Теперь же процессы могут менять владельца только на конкретных разрешенных пользователей или некоторый диапазон пользователей. Оставлена возможность некоторым процессам вести себя как раньше в силу их особенностей. К последним относится login - ей требуется производить смену на всех входящих в систему пользователей. Также можно упорядочить смену владельца при помощи некоторой программы-посредника - при успешной проверке она будет раздавать разрешения на смену владельца, при этом сама не будет иметь возможности на смену.
FF(File Flags) - очень простая модель. Позволяет быстро и просто настроить права на целые древа каталогов (только чтение, только запуск, только чтение и запуск ...) и отключать при необходимости наследование этих прав на определенные файлы (внутри каталога настроенного только на чтение могут быть файлы в которые необходимо обеспечить запись). Очень удобна эта модель для создания замкнутой программной среды, в которой исполняемые программы и их библиотеки не подлежат изменению, а пользователи не могут запускать посторонние программы из своих домашних каталогов. Если возникнет необходимость обновления программного обеспечения, то администратор безопасности может временно снять ограничения, а так как количество выставляемых прав очень невелико, то сделает он это достаточно быстро.
ACL(Access Control Lists) - обычные списки доступа. Но обычные до того момента, как вы ознакомитесь с ними подробнее. Количество возможных прав доступа (свыше 30) удовлетворит самого искушенного администратора, а помимо возможности задавать права для пользователя и ACL-группы возможно задавание прав для RC-ролей, о которых будет сказано чуть ниже.
RC (Role Compatibility) - ролевая модель. Определяются RC-роли и RC-типы, а затем определяется, что может делать та или иная роль с тем или иным типом. Таким образом, создается некоторая абстрактная модель, которая затем привязывается к реальным пользователям, программам и файлам. Независимость модели от реальных субъектов и объектов позволяет производить мгновенную перенастройку политики безопасности быстрым перепривязыванием ролей и/или типов. Кроме того, это очень удобно для создания готовых решений, например, распределение ролей и типов для защиты содержимого страниц Web-узла. Интересной особенностью является возможность запускать программы с ролью, отличной от роли пользователя, производящего запуск. В результате, можно, например, произвести такие настройки, что прямой доступ к диску будут иметь только разрешенные программы, а все остальные пользователи системы (включая администратора) будут лишены такой возможности.
REG (Module Registration) - это собственно уже не модель, а подсистема, позволяющая подключать на лету модули собственного изготовления. Вы можете описать свою модель доступа, подключить ее и использовать.

При первом старте ядра RSBAC создается следующая базовая конфигурация защиты:

Все ключевые каталоги с программами и библиотеками переводятся в режим доступа только для запуска либо только для чтения.
Файлы конфигурации, ответственные за добавление пользователей, изменение конфигурации файловой системы и загрузчиков, также доступны только для чтения.
Доступ в каталог /home, где по умолчанию размещены домашние каталоги пользователей, открыт только для пользователей и администратора безопасности (последний конечно же не может заходить в личные каталоги пользователей, так как они закрыты обычными правами системы).
Домашний каталог администратора безопасности вынесен отдельно из /home, закрыт для всех, кроме владельца и при необходимости в нем может быть размещена собственная доверенная программная среда.
В каталоге администратора безопасности размещен набор готовых сценариев на : разрешение/запрет добавления пользователей, разрешение/запрет добавления программ. А также пример сценария для организации защиты Web сервера.

Понравилась статья? Поделись с друзьями!
Facebook Опубликовать в LiveJournal Tweet This


Оглавление   |  ?? ????

Оглавление        Вернуться к Статье

Скачай CMS сейчас!
Текущая версия системы управления сайтом WebCodePortalSystem:
v.7.1.00
Скачать CMS v.7.1.00
Обновление с версии 6.2.01

Сайт разработчика:
Новые бета версии

На Сайте
Гостей: 9
Пользователей: 0


10 новых статей
Наши Партнеры


Copyright WebCode-Command © 2003-2012
Работает под управлением WebCodePortalSystem v. 6.2.01
Rambler's Top100