Главная » Безопасность » Защита4 » Принципы распределения прав и ответственности

Принципы распределения прав и ответственности

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

1. Распределение ответственности (англ. separation of duties). Этот принцип означает, что в системе (пространстве) не должно быть субъекта, который мог бы самостоятельно от начала до конца выполнить операцию, которая может нанести ущерб безопасности. Например, если пользователь А выполняет некую транзакцию, имеющую существенное значение для системы, то она должна вступить в силу только после того, как пользователь Б проверит и подтвердит ее корректность. Таким образом, ни А, ни Б не могут по отдельности произвести данную транзакцию, один может только формировать данные для нее, другой — только авторизовать ее (то есть в данном случае отправить на выполнение), — без этих двух процедур транзакция не будет иметь результата.

Если конкретная операция в системе построена таким образом, что она не может быть разделена между двумя пользователями, значит, при ее критической важности, она должна быть выполнена одним пользователем только в присутствии другого. Это может быть достигнуто, например, разделением пароля на аутентификацию пользователя, от имени которого запускается функция, на две (или более) части. Иногда можно встретить другое определение такого принципа — «в четыре глаза» (англ. four eyes).

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

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

2. Минимизация привилегий (англ. least privelegies). Этот принцип означает, что пользователю предоставляется ровно столько прав, сколько ему необходимо для выполнения работы, т. е. если в обязанности пользователя входит формирование отчетов по всей базе данных, то он должен иметь доступ ко всем данным, но только на чтение. Если пользователь должен выполнять транзакции, изменяющие состояние двух групп объектов, то он должен иметь доступ на модификацию (в зависимости от конкретной задачи, возможно, на создание и/или удаление) только к этим двум объектам.

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

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