Россия, Владимир, Владимирский государственный университет, 2002 |
Функции безопасности Domino/Notes 6
11.10.4 Дополнительная информация
Изменения периода отсрочки и интервала изменения пароля следует выполнять с использованием действий процесса Adminp. Редактирование полей непосредственно в документе Person препятствует генерированию запросов Adminp и нарушает синхронизацию идентификатора пользователя Notes, что впоследствии приведет к проблемам с блокировкой.
Так как предупреждения на стороне клиента выводятся прежде, чем пользователь получит доступ к серверу (например, Warning: Your password will expire on dd/mm/yy ), отключение проверки пароля в документе Server не устранит эти предупреждения. Однако это позволит идентификатору пользователя Notes получить доступ к серверу даже после окончания срока действия пароля. Чтобы устранить предупреждения, пользователь должен изменять пароли с частотой, определяемой значениями Last Change Date (Дата последнего изменения), Grace Period (Период отсрочки) и Expiration Date (Дата окончания срока действия), сохраненными в идентификаторе.
Примечание. Недостаточно очистить значение Last Change Date (Дата последнего изменения) в документе Person, чтобы разблокировать идентификатор пользователя и дать ему возможность получить доступ к серверу.
Если администратору требуется заблокировать доступ определенного пользователя к серверу, он может отправить adminp-запрос Lockout the user (Блокировка пользователя). При обработке запроса процессом adminp вносятся изменения в документ Person; при этом в поле Check Passwords (Проверять пароли) устанавливается значение Lockout ID. Когда пользователь попытается получить доступ к серверу снова, он получит сообщение об ошибке, подобное показанному на рис. 11.20.
В данном примере описание относится к односерверной инсталляции. При многосерверной инсталляции существуют некоторые особенности, которые могут вызвать отклонение доступа пользователей к определенным серверам. Так как все изменения производятся в файле names.nsf на сервере администрирования, Domino осуществляет репликацию, чтобы другие серверы могли получить обновления. Изменение документа Person (например, очистка дайджеста пароля) для переустановки учетной записи пользователя на одном сервере даст возможность пользователю снова осуществлять доступ ко всем остальным серверам, на которых включена проверка паролей, но только после репликации изменений в Domino Directory.
Во время тестирования перед развертыванием работа системы может несколько отличаться от приведенного здесь описания. Проблема часто заключается в том, что результаты тестирования записываются до обработки adminp-запросов. Также не рекомендуется тестировать проверку паролей с периодом отсрочки и интервалом изменения в 1–2 дня. Перед каждым действием следует убедиться в том, что выполняется обработка незавершенных adminp-запросов. Это также относится и к рабочим серверам. Например, если пользователь изменяет свой пароль два раза, тогда оба adminp-запроса на изменение пароля должны быть обработаны перед записью финального результата. Если будет обработан только первый запрос на изменение, информация дайджеста не будет синхронизирована, пока второй запрос на изменение не выполнит обновление документа Person.
Предупреждение. Некоторые клиенты заменили задачу adminp собственным инструментом adminp. В этом документе описываются действия, выполняемые задачей adminp для обеспечения проверки паролей, однако собственная версия adminp может иметь нестандартное поведение, нарушающее синхронизацию идентификатора пользователя и документа Person.
11.10.5 iNotes и проверка паролей
Так как планируется использовать iNotes Web Access с серверами Domino, применение проверки паролей вызывает следующий вопрос: будет ли пользователям iNotes выдаваться запрос на изменение пароля, если их срок действия закончился в связи с включением проверки паролей?
Так как пользователи iNotes применяют интернет-пароль для доступа, им не будет выдаваться запрос на изменение пароля после истечения срока его действия при включенной проверке паролей на сервере. Когда эта функция включена на сервере, он делает недействительным пароль, связанный с идентификатором Notes. Если пользователь применяет и iNotes Web Access и клиент Notes, ему будет предложено сменить свой пароль для клиента Notes. В настоящее время не реализовано принудительное изменение интернет-пароля.
11.11 Таблицы управления доступом к базе данных
Базы данных и приложения Notes защищаются с использованием таблиц управления доступом (ACL), шифрования базы данных и защищенного употребления элементов дизайна базы данных для создания базы данных или приложения. В этом разделе рассматривается употребление ACL базы данных. Дополнительные сведения о функциях защиты дизайна приложений в Domino Designer 6 см. в руководстве из серии IBM Redbooks "Domino 6 Designer: A Developer's Handbook", SG24-6854.
Каждая база данных Domino и Notes содержит таблицу управления доступом, определяющую уровень доступа, который имеют пользователи и серверы к этой базе данных и к документам в базе данных. Уровни доступа, назначенные пользователям, определяют, какие задачи они смогут выполнять в базе данных, тогда как уровни доступа, назначенные серверам, определяют, какую информацию в базе данных серверы могут реплицировать.
Как администратор базы данных, вы выбираете уровень доступа, тип пользователя и привилегии уровня доступа для каждого пользователя или группы в базе данных. В качестве дополнительной настройки дизайнер базы данных может определить роли. Роль определяет набор пользователей и серверов и используется в элементах дизайна базы данных или функциях для ограничения доступа к этим элементам или функциям. Например, роль UserCreator в ACL Domino Directory должна назначаться тем администраторам, которым требуется создавать документы Person.
По умолчанию новая база данных содержит следующие записи в ACL:
- -Default-;
- Anonymous (Аноним);
- Имя пользователя создателя базы данных;
- LocalDomainServers (Серверы локального домена);
- OtherDomainServers (Серверы других доменов).
Изо всех применяемых по умолчанию записей ACL только Anonymous (Аноним) и имя пользователя создателя базы данных определены как Person в ACL.
ACL содержит две специальные записи: Anonymous (Аноним) и -Default-. Anonymous (Аноним) определяет заданный по умолчанию уровень доступа для неаутентифицированных пользователей. -Default- определяет заданный по умолчанию уровень доступа к базе данных для аутентифицированных и неаутентифицированных пользователей, если запись Anonymous (Аноним) не существует.
Anonymous (Аноним) и -Default- – единственные записи, относящиеся к базе данных и не связанные с записью в Domino Directory. Например, запись LocalDomainServers (Серверы локального домена) создается автоматически в Domino Directory и добавляется в ACL при создании базы данных. Запись Anonymous (Аноним) создается только при создании базы данных.
-Default-
Пользователи и серверы получают уровень доступа, определенный записью -Default-, если им не был назначен другой уровень доступа, либо индивидуально, либо в составе группы, либо с использованием записи-шаблона. Кроме того, если ACL базы данных не содержит записи Anonymous (Аноним), тогда пользователи, осуществляющие анонимный доступ к базе данных, получают уровень доступа -Default-. Заданный по умолчанию уровень доступа для записи -Default- зависит от дизайна шаблона базы данных и варьируется для различных шаблонов.
Уровень доступа, назначаемый записи -Default-, зависит от требуемого уровня безопасности базы данных. Выберите No Access (Нет доступа), если требуется, чтобы база данных была доступна для ограниченного числа пользователей. Выберите уровень доступа Author (Автор) или Reader (Читатель), чтобы сделать базу данных доступной для общего использования. Запись -Default- должна иметь тип пользователя Unspecified (Неопределенный).
Удаление записи -Default- из ACL невозможно.
Anonymous (Аноним)
Доступ к базе данных на уровне Anonymous (Аноним) назначается интернет-пользователям и пользователям Notes, не прошедшим аутентификацию на сервере.
Используемая по умолчанию ACL-запись Anonymous (Аноним) для всех шаблонов базы данных (.NTF-файлов) имеет уровень доступа Reader (Читатель), так что пользователи и серверы могут осуществлять чтение шаблона при создании или обновлении .NSF-файлов на основе шаблона.
Употребляемая по умолчанию ACL-запись Anonymous (Аноним) для файлов базы данных (.NSF-файлов) имеет уровень доступа No Access (Нет доступа).
Имя пользователя-создателя базы данных
Имя пользователя-создателя базы данных представляет собой иерархическое имя пользователя, создавшего базу данных. По умолчанию пользователю, создавшему базу данных, назначается уровень доступа Manager (Менеджер). Обычно для этого пользователя сохраняется уровень доступа Manager (Менеджер) или назначается уровень доступа Designer (Дизайнер).
LocalDomainServers (Серверы локального домена)
Группа LocalDomainServers (Серверы локального домена) содержит серверы из того же домена, что и сервер, на котором хранится база данных, и создается по умолчанию в каждом каталоге Domino Directory. При создании новой базы данных группа LocalDomainServers (Серверы локального домена) имеет уровень доступа Manager (Менеджер). Для осуществления репликации изменений в дизайне базы данных в пределах домена группа должна иметь доступ по меньшей мере на уровне Designer (Дизайнер). Для группы LocalDomainServers (Серверы локального домена) обычно устанавливается более высокий уровень доступа, чем для группы OtherDomainServers (Серверы других доменов).
OtherDomainServers (Серверы других доменов)
Группа OtherDomainServers (Серверы других доменов) содержит серверы, находящиеся вне домена сервера, на котором хранится база данных, и по умолчанию создается в каждом каталоге Domino Directory. При создании новой базы данных по умолчанию группа OtherDomainServers (Серверы других доменов) имеет уровень доступа No Access (Нет доступа).
Допустимые записи ACL
Записи-шаблоны
Чтобы разрешить общий доступ к базе данных, можно ввести в ACL иерархические имена с подстановочным символом (*). Можно использовать подстановочные символы в компонентах общего имени и имени подразделения. Пользователи и серверы, которые еще не имеют записи имени пользователя или группы в ACL и чьи иерархические имена включают компоненты, содержащие подстановочный символ, получают наивысший уровень доступа, определенный каждой совпадающей записью-шаблоном.
Ниже представлен пример ACL-записи в формате шаблона.
- */Illustration/Production/Acme/US
Эта запись назначает заданный уровень доступа следующим пользователям:
Эта запись не назначает заданный уровень доступа пользователям:
- Sandy Braun/Documentation/Production/Acme/US
- Alan Nelson/Acme/US
Подстановочный знак можно использовать только в самой левой позиции записи ACL. Например, нельзя применять запись
- */Illustration/*/Acme/US
для представления записей
При использовании записи-шаблона ACL следует установить тип пользователя Unspecified, Mixed Group или Person Group.
Имена пользователей
Можно добавлять в ACL имена пользователей с сертифицированными идентификаторами Notes или интернет-пользователей, осуществляющих аутентификацию с использованием имени и пароля или посредством SSL-аутентификации.
При добавлении пользователей Notes следует ввести полное иерархическое имя для каждого пользователя, например John Smith/Sales/Acme, вне зависимости от того, находится ли пользователь в одной иерархической организации с сервером, хранящим базу данных.
Для интернет-пользователей следует ввести имя, выводимое в качестве первой записи в поле User name (Имя пользователя) документа Person.
Примечание. В поле User name (Имя пользователя) можно ввести много синонимов, которые можно применять для аутентификации; однако только первое имя в списке используется для выполнения проверки авторизации безопасности. Это имя следует применять во всех ACL базы данных Domino, в параметрах безопасности в документе Server и в .ACL-файлах.
Имена серверов
Вы можете добавлять имена серверов в ACL для управления изменениями, получаемыми базой данных из реплики базы данных. Для обеспечения более высокого уровня безопасности, следует использовать полное иерархическое имя сервера (например, Server1/Sales/Acme ), вне зависимости от того, относится ли добавляемый сервер к другой иерархической организации по отношению к серверу, содержащему базу данных.
Имена групп
Добавление имени группы (например, Training) в ACL осуществляется для представления нескольких пользователей или серверов, требующих одинакового уровня доступа. Пользователи должны быть указаны в группах с основным иерархическим именем или с альтернативным именем. В качестве имен групп можно также указывать записи с шаблонами. Прежде чем использовать имя группы в ACL, необходимо создать группу в Domino Directory, в дополнительном каталоге Domino Directory или во внешнем LDAP-каталоге, настроенном на групповую авторизацию в базе данных Directory Assistance.
Группы представляют собой удобный способ администрирования ACL базы данных. Использование группы в ACL имеет следующие преимущества:
- Вместо добавления длинного списка отдельных имен в ACL можно добавить одно имя группы. Если группа указана в нескольких ACL, можно изменить документ группы в Domino Directory или LDAP-каталоге, вместо того чтобы добавлять и удалять отдельные имена в нескольких базах данных.
- Если вам требуется изменить уровень доступа для нескольких пользователей или серверов, это можно сделать один раз для целой группы.
- Использование имен групп позволяет отразить обязанности участников групп или организацию отдела или компании.
Замечание. Можно также использовать группы, чтобы разрешить определенным пользователям управлять доступом к базе данных, не назначая им уровень доступа Manager (Менеджер) или Designer (Дизайнер). Например, можно создавать группы в Domino Directory для каждого требуемого уровня доступа к базе данных, добавлять группы в ACL и разрешать определенным пользователям быть владельцами групп. Эти пользователи могут изменять группы, но не могут изменять дизайн базы данных.
Группа уволенных сотрудников
После ухода сотрудников из организации необходимо удалить их имена изо всех групп в Domino Directory и добавить их в группу Deny List Only, используемую для запрета доступа к серверам. Список Deny Access (Запрет доступа) в документе Server содержит имена пользователей и групп Notes, больше не имеющих доступа к серверам Domino. Вам следует также убедиться в том, что имена уволенных сотрудников удалены из ACL всех баз данных в вашей организации. При удалении сотрудника из Domino Directory, у вас есть вариант Add deleted user to deny access group [Добавить удаленного пользователя в группу Deny Access (Запрет доступа)], если такая группа была создана; если такой группы не существует, выводится диалоговое окно No Deny Access group selected or available [Группа Deny Access (Запрет доступа) не выделена или недоступна)].
Альтернативные имена
Альтернативное имя представляет необязательный синоним, назначаемый администратором зарегистрированному пользователю Notes. Допускается добавление альтернативных имен в ACL. Альтернативное имя обеспечивает такой же уровень безопасности, какой обеспечивает и основное иерархическое имя пользователя. Например, у пользователя с основным именем Sandra Brown/West/Sales/Acme альтернативное имя может иметь формат Sandra Smith/ANWest/ANSales/ANAcme, где AN – альтернативное имя.
Пользователи LDAP
Для аутентификации интернет-пользователей можно использовать дополнительный LDAP-каталог. Затем можно добавлять имена этих интернет-пользователей в ACL базы данных для управления доступом к базам данных.
Также в дополнительном LDAP-каталоге можно создавать группы, включающие имена интернет-пользователей, и затем добавить группы в качестве записей в ACL базы данных Notes. Например, интернет-пользователь может попытаться получить доступ к базе данных на Web-сервере Domino. Если Web-сервер осуществляет аутентификацию пользователя, и если ACL содержит группу с именем Web (Веб), сервер может посмотреть имя интернет-пользователя в группе Web (Веб), расположенной во внешнем LDAP-каталоге, помимо поиска записи в основном каталоге Domino Directory. Обратите внимание на то, что для того, чтобы этот сценарий работал, база данных Directory Assistance на Web-сервере должна включать документ LDAP Directory Assistance для LDAP-каталога с включенной опцией Group Expansion (Расширение групп). Эту функцию также можно применять для просмотра имен пользователей Notes, хранящихся в группах внешнего LDAP-каталога для проверки ACL базы данных.
При добавлении имени пользователя или группы LDAP-каталога в ACL базы данных следует использовать LDAP-формат имени, однако при этом в качестве разделителя необходимо применять слеш ( / ), а не запятую ( ,). Например, если имя пользователя в LDAP-каталоге имеет следующий вид:
uid=Sandra Smith,o=Acme,c=US
в ACL базы данных необходимо ввести следующее:
uid=Sandra Smith/o=Acme/c=US
При вводе имени для неиерархического имени группы LDAP-каталога в ACL следует вводить только значение атрибута без имени атрибута. Например, если неиерархическое имя LDAP-группы имеет вид
cn=managers
в ACL нужно ввести только
managers
При вводе имени для иерархического имени группы следует включать имена LDAP- атрибутов в записи ACL. Например, если иерархическое имя группы имеет вид
cn=managers,o=acme
в ACL следует ввести
cn=managers/o=acme
Обратите внимание на то, что, если заданные вами имена атрибутов точно соответствуют именам атрибутов, используемым в ( cn, ou, o, c ), ACL не отображает атрибуты.
Например, при вводе в ACL следующего имени:
cn=Sandra Smith/ou=West/o=Acme/c=US
так как атрибуты точно соответствуют используемым в Notes, имя отображается в ACL следующим образом:
Sandra Smith/West/Acme/US
Примечание. При аутентификации пользователей во внешнем LDAP-каталоге, при которой эти пользователи имеют соответствующие записи в Domino Directory, в Domino 6 может быть включена сопоставления имен в соответствии, при которой имена Domino можно использовать в ACL. Дополнительные сведения о постановке имен в соответствии см. в "Стратегии каталогов" .