Основные понятия

В этом разделе перечислены основные понятия, используемые в рамках семейства политик te.

Полномочия (permissions)

Полномочие – идентификатор некоего действия или действий. Например, rw можно использовать как полномочие на чтение и запись.

Список полномочий задается статически в конфигурации безопасности экземпляра семейства te в элементе permissions.

...

"permissions": ["rw", "r"]

...

Типы (types)

Тип – идентификатор, который может быть ассоциирован с доменами безопасности с помощью политик семейства te. В реализации семейства te тип может быть ассоциирован как с субъектом (например, сущностью), так и с объектом действия (например, файлом).

Список типов задается статически в конфигурации экземпляра семейства te в элементе types.

...

"types": ["file", "file_readonly", "process.user", "process.root"]

...

Матрица полномочий (allows)

Матрица полномочий – матрица, которая описывает, какие полномочия имеют домены одного типа (субъекты) при обращении к доменам другого типа (объектам).

Матрица полномочий задается статически в конфигурации экземпляра семейства te в элементе allows. Если взаимодействие между типами доменов не задано, то считается, что полномочия на это взаимодействие отсутствуют.

...

"allows" : [{ "process.root": { "file_readonly": ["rw"] }},

{ "process.user": { "file_readonly": ["r"] }},

{ "process.root": { "file": ["rw"] }},

{ "process.user": { "file": ["rw"] }}]

...

Прообразы (images)

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

Список прообразов задается статически в конфигурации экземпляра семейства te в элементе images.

...

"images": ["login_image", "passwd_image", "create_file"]

...

Матрица наследования (transitions)

Матрица наследования – матрица, которая описывает, какой тип может быть присвоен домену безопасности доменом другого типа.

Матрица наследования задается статически в конфигурации экземпляра семейства te в элементе transitions. Матрица задается как массив, каждый элемент которого содержит информацию о типе родителя, прообразе и массиве возможных типов потомка. Допустимо использование специального символа "*" (wildcard).

Использование символа "*" в качестве типа родителя соответствует любому из объявленных типов в элементе types. Аналогично для прообразов. Тип родителя и прообраз являются ключом, по которому определяются допустимые типы потомка.

Использование символа "*" в качестве типа потомка соответствует значению, указанному в типе родителя.

...

"transitions":[

{ "process.root": { "login_image": ["process.user"] }},

{ "process.user": { "passwd_image":["process.root"] }},

{ "*": { "create_file": ["file",

"file_readonly"] }},

{ "*": { "*": ["*"] }}]

...

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

Например, правило {"*":{"*":["*"]}} означает, что для любого прообраза разрешено унаследовать тип родителя. Однако указанная выше матрица запрещает родителю с типом process.user присвоить тот же тип потомку, если в качестве прообраза указано значение passwd_image, потому что в матрице уже задано правило наследования для этого случая: { "process.user": { "passwd_image":["process.root"] }.

Назначение типа

Назначение типа происходит с помощью инициализирующих политик семейства te. Эти политики инициализируют контекст безопасности для указанного домена, ассоциируя SID домена с одним из типов. Назначенный тип нельзя изменить.

Политики initialize_direct и initialize_direct_ напрямую назначают домену переданный тип.

Политики initialize_transition_check и initialize_transition_check_ назначают домену переданный тип, если это разрешено матрицей наследования типов.

Политики initialize_transition_auto и initialize_transition_auto_ автоматически назначают домену первый тип из разрешенных матрицей наследования.

Проверка полномочий

Политика validate проверяет наличие полномочий при обращении одного домена безопасности к другому. Проверка осуществляется на основе матрицы полномочий, заданной в конфигурации экземпляра семейства te.

В начало