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

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


Применение LDAP в подсистеме защиты

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

Поддержка LDAP в подсистеме защиты реализована в виде загрузочного модуля идентификации LDAP. Этот модуль аналогичен другим загрузочным модулям, таким как NIS, DCE и Kerberos 5. Загрузочные модули определены в файле /usr/lib/security/methods.cfg. Функции загрузочного модуля идентификации LDAP реализованы на уровне библиотек.

После активизации загрузочного модуля идентификации LDAP для предоставления информации о пользователях и группах все остальные средства управления системой, команды и высокоуровневые API работают в обычном режиме. В большинстве команд высокого уровня добавлен флаг -R, указывающий на необходимость применения нового загрузочного модуля. Например, для создания пользователя LDAP с именем joe необходимо ввести на клиентской машине следующую команду:

mkuser -R LDAP joe

С помощью атрибута SYSTEM в файле /etc/security/user клиентская система проверяет, является ли пользователь пользователем LDAP. Если в атрибуте SYSTEM пользователя указано значение LDAP, то идентификация этого пользователя выполняется только через LDAP. Если атрибуту SYSTEM в разделе по умолчанию указано значение LDAP, то все пользователи, для которых атрибут SYSTEM не задан, считаются пользователями LDAP. Ключевое слово LDAP может применяться и с другими значениями атрибута SYSTEM, как это описано в разделе Управление защитой. Клиент обращается к серверу с помощью демона secldapclntd. Демон принимает поступающие от приложений запросы (с помощью библиотечных API), запрашивает сервер LDAP и возвращает данные приложению. Кроме того, демон secldapclntd осуществляет кэширование данных.

Настройка сервера идентификационной информации LDAP

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

Для настройки сервера идентификационной информации LDAP можно воспользоваться командой mksecldap. Эта команда создает базу данных с именем ldapdb2, заносит в эту базу данных информацию о пользователях и группах локального хоста, а также настраивает DN (отличительное имя) и пароль администратора сервера ldap. Кроме того, эта команда позволяет настроить соединение SSL между клиентом и сервером. После этого команда mksecldap загружает модуль сервера (libsecldap.a) и запускает процесс сервера LDAP командой (slapd ). Кроме того, команда mksecldap добавляет в файл /etc/inittab запись автоматического запуска сервера LDAP при каждой перезагрузке системы. Команда mksecldap позволяет выполнить полную настройку сервера LDAP, внося необходимые изменения в файл slapd.conf (SecureWay Directory версии 3.1) или slapd32.conf (SecureWay Directory версии 3.2). Настраивать Web-интерфейс управления LDAP не нужно.

Вся информация о пользователях и группах хранится в ветви (суффиксе) AIX. Суффикс по умолчанию - 'cn=aixsecdb'. В команде mksecldap с помощью флага -d можно указать пользовательский суффикс. Если в первом RDN (относительном отличительном имени) пользовательского суффикса отсутствует 'cn=aixsecdb', то команда mksecldap добавляет к пользовательскому суффиксу суффикс 'cn=aixsecdb '. Ветвь AIX защищена с помощью ACL (списка управления доступом). Для работы с ветвью AIX клиент должен установить соединение с сервером LDAP в качестве администратора.

Команда mksecldap работает даже в том случае, если сервер LDAP был настроен для других целей, например, для хранения справочной информации о различных пользователях. В этом случае команда mksecldap добавляет в существующую базу данных ветвь AIX и сохраняет в ней идентификационную информацию. Защита этой ветви с помощью ACL организована независимо от остальных ветвей. В такой конфигурации сервер LDAP продолжает работать, как обычно, но в дополнение к своим повседневным функциям обрабатывает запросы сервера идентификационной информации. Настоятельно рекомендуется создать резервную копию существующей базы данных перед запуском команды mksecldap и настройкой сервера для использования существующей базы данных.

После успешной настройки сервера идентификационной информации LDAP необходимо также настроить систему сервера в качестве клиента.

Если настроить сервер идентификационной информации LDAP не удалось, то вы можете отменить настройку с помощью команды mksecldap с флагом -U. При этом будет восстановлена первоначальная версия файла slapd.conf (или slapd32.conf). После неудачной попытки настройки введите команду mksecldap с флагом -U, а затем повторите попытку настройки с помощью команды mksecldap. Если этого не сделать, то оставшаяся в файле конфигурации информация не позволит вам успешно завершить настройку. Операция отмены настройки не выполняет никаких действий с информацией базы данных, поскольку база данных могла существовать и до запуска команды mksecldap. Если база данных была создана командой mksecldap, то базу данных следует удалить вручную. Если команда mksecldap добавила данные в уже существующую базу данных, то вы должны самостоятельно решить, какие действия следует выполнить для восстановления после неудачной попытки настройки.

Более подробная информация о настройке сервера идентификационной информации LDAP приведена в документации по команде mksecldap.

Настройка клиента LDAP

На каждой клиентской системе должен быть установлен пакет клиента LDAP. Если требуется поддержка SSL, то необходимо также установить GSKit, создать ключ и добавить к этому ключу сертификат SSL сервера LDAP.

Для настройки клиента можно воспользоваться командой mksecldap. Для того чтобы клиент мог обращаться к серверу идентификационной информации LDAP, при настройке клиента необходимо указать имя сервера. Кроме того, для подключения клиента к ветви AIX базы данных необходимо указать отличительное имя и пароль администратора сервера. Команда mksecldap сохраняется отличительное имя и пароль администратора, имя сервера, отличительное имя ветви базы данных AIX, а также ключ и пароль SSL в файле /etc/security/ldap/ldap.cfg.

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

Клиент обращается к серверу идентификационной информации LDAP посредством демона (secldapclntd). Если загрузочный модуль LDAP активен, то все команды высокого уровня обращаются к этому демону через библиотечные API. Демон запрашивает сервер и возвращает полученную информацию клиенту.

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

При настройке клиента команде mksecldap можно передать список пользователей (с запятыми в качестве разделителей). Атрибуту SYSTEM этих пользователей будет присвоено значение LDAP. После этого идентификация перечисленных пользователей будет выполняться исключительно с помощью загрузочного модуля LDAP. Обратите внимание, что команда mksecldap не добавляет перечисленных пользователей в конфигурацию сервера идентификационной информации LDAP, что позволяет избежать совпадения идентификаторов в базе данных LDAP. Для создания пользователей на сервере LDAP рекомендуется воспользоваться командой mkuser с флагом -R LDAP.

На окончательном этапе настройки клиента команда mksecldap запускает демона клиента и добавляет в файл /etc/inittab запись, запускающую этого демона при каждой перезагрузке системы. Для проверки правильности настройке проверьте, активен ли процесс secldapclntd. Если настройка была выполнена успешна и сервер идентификационной информации LDAP работает, то этот демон должен быть активен.

Управление пользователями LDAP

С помощью команд высокого уровня вы можете управлять пользователями и группами, зарегистрированными на сервере идентификационной информации LDAP, с любого клиента LDAP. Флаг -R , предусмотренный в большинстве команд высокого уровня, позволяет управлять пользователями и группам LDAP так же, как при использовании других загрузочных модулей, например, DCE, NIS и Kerberos 5. Более подробная информация о флаге -R приведена в справке по командам управления пользователями и группами.

Для включения идентификации пользователя с помощью LDAP введите команду chuser, позволяющую присвоить атрибуту SYSTEM значение LDAP. После установки значения атрибута SYSTEM в соответствии с применяемым синтаксисом, идентификацию пользователя можно будет выполнять с помощью различных загрузочных модулей (например, compat и LDAP). Более подробная информация о задании способов идентификации пользователей приведена в разделе Управление защитой и в описании синтаксиса атрибута SYSTEM, определенного в файле /etc/security/user.

Пользователь может задан в качестве пользователя LDAP во время настройки клиента с помощью команды mksecldap с флагом -u в одном из следующих форматов:

  1. Run mksecldap -c -u пользователь-1,пользователь-2,..., где пользователь-1,пользователь-2,... - это список пользователей. Перечисленные в списке пользователи могут быть определены как локально, так и на удаленном сервере LDAP. В раздел каждого из перечисленных пользователей в файле /etc/security/user будет добавлена запись 'SYSTEM = LDAP'. Идентификация таких пользователей может выполняться только с помощью LDAP. С помощью команды chuser вы можете изменить атрибут SYSTEM и разрешить идентификацию пользователя с помощью нескольких методов (например, локальную идентификацию и LDAP). Перечисленные в списке пользователи должны быть зарегистрированы на сервере идентификационной информации LDAP; в противном случае они не смогут входить в систему с этого хоста.
  2. Введите команду 'mksecldap -c -u ALL'. Эта команда добавляет запись 'SYSTEM = "LDAP"' в раздел каждого локального пользователя в файле /etc/security/user. Идентификация таких пользователей будет выполняться только с помощью LDAP. Локальные пользователи должны быть зарегистрированы на сервере идентификационной информации LDAP; в противном случае они не смогут входить в систему с этого хоста. Пользователи, зарегистрированные на сервере LDAP, но не зарегистрированные в локальной системе, не смогут входить в систему с этого хоста. Для того чтобы пользователь, определенный в каталоге LDAP, смог входить в систему с данного хоста, выполните для этого пользователя команду chuser с атрибутом 'SYSTEM = "LDAP"'.

Другой способ заключается в том, чтобы разрешить вход в систему всех пользователей LDAP, независимо от того, зарегистрированы они в локальной системе или нет; для этого достаточно изменить способ идентификации по умолчанию для локального хоста на идентификацию LDAP, задав в разделе "default" файла /etc/security/user значение "LDAP". Идентификация всех пользователей, для которых не определено значение атрибута SYSTEM, будет выполняться с помощью раздела по умолчанию. Например, если в разделе по умолчанию указано 'SYSTEM = "compat"', то изменение этого значения на 'SYSTEM = "compat OR LDAP"' разрешит выполнять идентификацию таких пользователей как с помощью AIX, так и с помощью LDAP. Изменение раздела по умолчанию на 'SYSTEM = "LDAP"' разрешит выполнять идентификацию таких пользователей только с помощью LDAP. Если для пользователя явно определено значение атрибута SYSTEM, то раздел по умолчанию для этого пользователя игнорируется.

Контроль сервера идентификационной информации LDAP

IBM SecureWay Directory версии 3.2 обеспечивает стандартные средства ведения протокола контроля. После активации эти средства начинают вести протокол операций, выполняемых с сервером LDAP. Более подробная информация об этой функции приведена в документации по LDAP, в разделе Packaging Guide for LPP Installation.

Для удобства пользователей в AIX 5.1 и более поздних версий предусмотрена возможность контроля операций сервера идентификационной информации LDAP, называемая модуль контроля LDAP. Этот модуль не зависит от стандартной службы контроля IBM SecureWay Directory, поэтому вы можете применять как одну из перечисленных функций, так и обе одновременно. Модуль контроля LDAP, входящий в состав AIX, регистрирует только те события, которые связаны с обновлением или запросом информации, хранящейся на сервере идентификационной информации LDAP. Этот модуль работает в среде системных средств контроля AIX.

При использовании модуля контроля LDAP в файл /etc/security/audit/event заносятся следующие события:

Кроме того, в файле /etc/security/audit/config создается определение контрольного класса ldapserver, включающее все перечисленные выше события.

Для применения средств контроля сервера идентификационной информации LDAP добавьте следующую строку в раздел каждого пользователя в файле /etc/security/audit/config:

ldap = ldapserver

Поскольку модуль контроля сервера идентификационной информации LDAP реализован в рамках системной среды контроля AIX, он фактически является частью стандартной подсистемы контроля. Вы можете разрешить или запретить контроль сервера идентификационной информации LDAP с помощью системных команд управления контролем, например, 'audit start' и 'audit shutdown'. Все контрольные записи добавляются в системный контрольный след, который можно просмотреть с помощью команды auditpr. Дополнительная информация приведена в разделе Общие сведения о контроле.


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