[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Принципы управления системой: Операционная система и устройства


Обзор Защищенной компьютерной базы

Защищенная компьютерная база (TCB) - это часть системы, отвечающая за реализацию стратегии защиты информации. В TCB включается все аппаратное обеспечение компьютера, однако системный администратор отвечает прежде всего за программные компоненты TCB.

Многие функции TCB могут быть включены во время установки. Если для опции Установка защищенной компьютерной базы в меню Установка и настройка указать значение yes, то будет создан защищенный путь, защищенная оболочка и опция проверки целостности системы (команда tcbck). При указании значения no эти опции отключаются. Эти опции можно включать только при установке.

Программное обеспечение TCB состоит из:

Большинство файлов системы доступны только пользователю root; однако к некоторым из них имеют доступ и другие администраторы. Ядро операционной системы может быть изменено только пользователем root. TCB содержит следующие защищенные программы:

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

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

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

Программы проверки tcbck

Важной частью программы tcbck является атрибут program, который задается в файле /etc/security/sysck.cfg. Атрибут program вносит в список связанную программу, которая может проверять дополнительное состояние. Этот атрибут позволяет выполнять проверку более тщательно.

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

Например, предположим, что вы написали программу /etc/profile, которая проверяет, что права на изменение файлов .profile есть только у их владельцев. Программа должна иметь следующие характеристики:

Вы можете добавить свою программу /etc/profile в блок проверки системной защиты с помощью команды:

tcbck -a /etc/profile 
"program=/etc/profile" class=profiles \ owner group mode

Данная команда создает в базе данных следующую запись:

/etc/profile:
 
class = profiles
 
owner = root
 
group = system
 
mode = TCB,rwxr-x---
 
program = "/etc/profile"

Для проверки правильности установки программы /etc/profile и ее запуска выполните следующую команду tcbck:

tcbck -t profiles

Есть несколько требований к программам проверки tcbck:

Программы проверки TCB

Операционная система предоставляет следующие программы проверки TCB:

pwdck Проверяет файлы /etc/passwd и /etc/security/passwd на внутреннюю и взаимную согласованность.
grpck Проверяет файлы /etc/group и /etc/security/group на внутреннюю и взаимную согласованность.
usrck Проверяет правильность определений пользователей в файлах базы данных.

Установка и обновление защищенной системы

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

В простейшем случае установка программы может свестись к установке нового дерева подкаталогов (из /usr/lpp) и, возможно, к добавлению новых символьных связей в каталог /usr/bin. Однако существуют две проблемы:

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

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

Рекомендации по изменению принадлежности и прав доступа к файлам

Команды обычного пользователя

В командах обычного пользователя не требуется указывать действительного владельца или группу, поскольку они могут запускаться кем угодно и не устанавливают ИД пользователя (SUID) или ИД группы (SGID). Если предполагается, что команда будет выполняться в защищенном каталоге (например, команда vi, grep и cat), то необходимо установить ее бит TCB. Ниже приведен пример принадлежности и режимов:

владелец:  bin     r-x
группа:    bin     r-x
другие:            r-x

Команды администратора

Команды администратора могут выполняться только пользователями root, членами группы администраторов, а также пользователями, указанными в расширенном списке управления доступом (ACL). Так как обычно они выполняют привилегированные операции, то при запуске некоторых из этих команд может потребоваться задать привилегии (SUID). Ниже приведен пример принадлежности и режимов:

владелец: root   r-x (возможно, SUID)
группа: system r-x (возможно, SGID)
другие:(возможно, записи расширенного списка управления доступом)

В качестве примера сценария, включающего команды администратора, рассмотрим сетевые файлы, содержащие критические данные о конфигурации сети:

владелец:  root    rw-
группа:    netgroup         rw-
другие:                     ---

Для изменения сетевого файла предназначена команда changenet.

владелец: root       r-x
группа: netgroup   --s
другие:
(запись расширенного списка управления доступом)
permit r-x g:net
permit r-x u:john

В этом примере группа netgroup - это пустая группа, которой предоставлены права доступа администратора. Читать или записывать сетевые файлы могут только те процессы, которые были запущены группой netgroup (или пользователем root). Выполнение команды changenet ИД группы (SGID) которой равен netgroup, дает возможность пользователям изменять сетевые файлы. Эта команда может выполняться только пользователями root, членами группы net и пользователем john.

На приведенном ниже показано, каким образом расширенный список ACL связывается с командой, а не с самим файлом данных.

Рис. 3-1. Расширенные параметры ACL. . На приведенной ниже схеме показана группа пользователей 1-6, созданная с помощью ACL group net permit r-x. Еще один пользователь, Джон, обозначен расширенными ACL user john permit r-x . С помощью команды changenet пользователи получают доступ к сетевым файлам в зависимости от их расширенных ACL.

Figure basea7 not displayed.

Команда changenet играет роль шлюза для сетевых файлов конфигурации. Расширенный список управления доступом в команде changenet выполняет роль фильтра, с помощью которого через шлюз пропускаются только определенные пользователи.

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

Файлы конфигурации

В приведенном ниже примере группа admin - это пустая группа, которой предоставлены права администратора. Точное имя группы admin зависит от того, какой тип файла конфигурации применяется группой (например, контроль, идентификация и почта).

владелец:  root    rw-
группа:    admin   rw-
другие:            r--
режим:             TCB

Большинство файлов конфигурации читаются всеми пользователями. Исключение составляют данные контроля и идентификации.

Специальные файлы устройств

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

Защищенное соединение

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

Примечание: Если при первоначальной установке опция Установка защищенной компьютерной базы не была задана, то опция защищенного соединения будет отключена. Эта опция может быть включена только при повторной установке системы.

Защищенное соединение основывается не следующих принципах:

После нажатия SAK команда init запускает либо команду getty, либо команду shell, которые:

Такая процедура гарантирует, что доступ к терминалу получат только текущие команды getty или shell.

Защищенный интерпретатор команд

В ответ на нажатие SAK команда getty запускает команду shell только в том случае, если пользователь вошел в систему с данного терминала. Эта команда устанавливает режимы терминала и запускает защищенную оболочку (команда tsh).

Команда tsh выполняет подмножество функций стандартной оболочки (оболочки Korn). Защищенная оболочка выполняет только защищенные программы (например, программы, в которых установлен бит TCB). Встроенная команда shell позволяет пользователю прерывать защищенное соединение и запускать начальную оболочку пользователя.


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]