Система имен LDAP

Для того чтобы LDAP-клиент имел возможность получать данные от LDAP-сервера, необходимо указать конкретный объект в каталоге. Для этого служат специальные атрибуты, для которых схемой задается требование уни- кальности в пределах одного контейнера. Такие атрибуты называются отно- сительным различимым именем (relative distinguished name, rdn). Теперь для того, чтобы идентифицировать объект в пределах дерева, достаточно указать относительные различимые имена всех объектов в цепочке, начиная от корня дерева. Полученная последовательность различимых имен называется полным различимым именем (fully distinguished name, fdn). Для обозначения полного различимого имени принята запись

<имя   атр.1>=<знач. атр.1>,

<имя   атр.2>=<знач. атр.2>,..,

<имя   атр.N>=<знач. атр.N>

Например, контейнер, хранящий схему каталога Active Directory (в до- мене example.com), имеет следующее полное различимое имя: CN=Schema, CN=Configuration, DC=example, DC=com. Как видно из примера, атрибут, яв- ляющийся относительным различимым именем у каждого объекта может быть свой (здесь CN — у объектов-контейнеров Schema и Configuration, DC — у объектов example и com). Указание того, какой атрибут может выступать в роли различимого имени, задается в схеме для каждого класса.

7.2.3. Инструментарий для работы с LDAP-каталогом

Для работы с произвольными LDAP-каталогами существует огромное количество программ как бесплатных, так и коммерческих. В данном разделе будут рассмотрены два основных инструмента: оснастка MMC ADSI Edit (ко- торая обладает большим функционалом, если речь идет о LDAP-каталоге Ac- tive Directory), а также утилиты пакета ldap-utils (преимущество этих утилит в том, что они реализованы практически для каждой ОС).

Оснастка ADSI Edit входит в пакет Support Tools ОС Windows Server

2003. Для вызова этой утилиты необходимо в окне Start ? Run набрать «ad-

siedit.msc». Загрузится консоль управления Microsoft с оснасткой ADSI Edit,

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

Для того чтобы просмотреть содержимое раздела, достаточно раскры-

вать   соответствующие  узлы   (в   роли   узлов   будут   выступать   объекты-

контейнеры, обычные объекты будут отображаться в правом окне).

Рис. 7.2. Оснастка ADSI Edit

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

Пункт меню «Свойства» (Properties) позволяет редактировать свойства объекта при помощи редактора атрибутов (рис. 7.3), а также настраивать раз- решения на практически любое действие над атрибутами, объектом и его со- держимым (в случае объекта-контейнера).

Внешний вид редактора прав доступа представлен на рис. 7.4.

Основное применение оснастки ADSI Edit — детальное управление пра-

вами пользователей на объекты и атрибуты каталога, также ADSI Edit приме-

няется для редактирования тех атрибутов объектов, которые не редактируют- ся стандартными средствами администрирования Active Directory (в данном пособии это будут атрибуты Unix пользователя).

Рис. 7.3. Редактор атрибутов

Пакет ldap-utils включает в себя следующие основные утилиты:

?    ldapsearch — служит для поиска объектов в каталоге от указанного узла и на указанную глубину,

?    ldapmodify — служит для модификации объектов LDAP,

?    ldapadd — то же, что и ldapmdify с опцией -a (добавление),

?    ldapdelete — утилита для удаления объектов из каталога,

?    ldapmodrdn — утилита для смены имени объекта.

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

«/etc/ldap/ldap.conf», файла «~/.ldaprc» и опций командной строки. Основными параметрами являются:

?    пользователь LDAP, от имени которого будет происходить подключе-

ние (вообще говоря, это может быть любой объект каталога),

?    LDAP-сервер, к которому будет осуществляться подключение,

?    метод проверки подлинности,

?    количество выводимой отладочной информации,

?    учетные данные.

Рис. 7.4. Редактор прав доступа

Каждая из утилит имеет также собственные параметры. В случае с ути- литами ldapmodify и ldapadd – это LDIF-файл, который описывает необходи- мые изменения. Информация о формате LDIF содержится в RFC 2849. Утили- та ldapsearch ожидает параметры фильтра для запросов, а также список атри- бутов,  которые  возвратит  сервер  для  каждого  объекта,  удовлетворяющего фильтру (по умолчанию возвращаются все атрибуты).

Фильтры LDAP определены в самом протоколе и описаны в RFC 4515.

Например, пусть необходимо найти в LDAP-каталоге объект-компьютер, у ко-

торого имя начинается на win-. Тогда соответствующий фильтр будет иметь вид: (&(objectClass=computer)(cn=win-*))1.

Полностью запрос приведен на рис. 7.5. В  данном примере утилита ldapsearch вызвана с наиболее часто употребляемыми опциями: -h <server> — задает LDAP-сервер (по имени или IP-адресу), -b <dn> — задает различимое

имя объекта, с которого начнется поиск, -D <dn> — задает различимое имя объекта LDAP, от имени которого производятся запросы к серверу (с точки зрения стандарта LDAP это может быть абсолютно любой объект, в Active Di- rectory только пользователь или компьютер), -x — задает режим аутентифика-

ции simple bind (пароль передается открытым текстом), -w <password> — за-

дает пароль.

Также при  вызове ldapsearch указано, что  сервер должен возвратить только атрибуты cn у найденных объектов.

Рис. 7.5. Использование утилиты ldapsearch

Рассмотрим ответ LDAP-сервера (рис. 7.5). Для удобства чтения, а так- же дальнейшего использования ldapsearch отображает информацию, получен- ную от сервера, в виде LDIF-файла (строки, начинающиеся с «#», являются комментариями). Сначала перечисляются объекты и их атрибуты, которые вернул сервер на посланный запрос. В нашем примере это компьютеры win-

1 Важно отметить, что использование метасимволов в фильтре возможно не для каждого атрибута (в Active Directory метасимволы в запросах доступны для атрибутов с флагом in- dexed, который задается в схеме).

ws1 и win-ws2, затем идет несколько особых ответов, которые называются re- ferral или external reference (внешние ссылки). Эти ссылки содержат указатели на другие разделы каталога (здесь раздел — это некоторая часть каталога, ко- торая может храниться на другом сервере). Внешняя ссылка приведена в виде URL, имеющего формат ldap[s]://<сервер>/<dn>, где ldap или ldaps обычный или SSL-вариант протокола соответственно.

Конечной целью данной главы является интеграция рабочей станции под управлением ОС Linux в среду Active Directory, данная операция требует целого ряда настроек, в частности расширения схемы каталога для хранения

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

Кроме того, для дальнейшей работы создадим специального вспомога- тельного пользователя и группу для рабочих станций под управлением ОС Linux. Дело в том, что при авторизации рабочая станция должна иметь воз-

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

вателя,  поэтому  необходимо  создать  специального  непривилегированного пользователя, от имени которого рабочие станции будут осуществлять доступ.

ВЫПОЛНИТЬ!

5.   Запустить виртуальную машину DC.

6.   Добавить в схему каталога атрибуты для Unix-пользователей. Расширение схемы взято из пакета MS services for Unix:

a.  Запустить оболочку cmd.exe

b.  При помощи команды cd перейти в каталог «\schema»

c.  Схема сохранена в виде ldif-файла, чтобы ее добавить в каталог,

необходимо воспользоваться стандартной утилитой для манипу-

ляции с ldif файлами — ldifde. Для этого необходимо выполнить команду (здесь опция -i обозначает, что будет происходить им- порт данных, -k позволяет выполнять импорт даже после появле- ния некоторых некритических ошибок, опция -f указывает, что данные необходимо брать из файла):

ldifde –i –k –f schema.ldf

7.   Создать специального пользователя для рабочих станций под управлением

ОС Linux:

a.  Запустить оснастку управления пользователями в Active Directory

(Start ? Programs ? Administrative tools ? Active Directory Users

and Computers).

b.  В контекстном меню контейнера «Users» выбрать пункт «New»,

объект «User».

c.  В качестве «First name» и «Users logon name» указать «proxyuser», задать пароль «P@ssw0rd», снять опцию «User must  change pass- word at next logon» и выставить опции «User cannot  change pass- word» и «Password never expires».

d.  В контекстном меню контейнера «Users» выбрать пункт «New»,

объект «Group».

e.  Указать имя группы «proxygroup», остальные опции оставить  по умолчанию.

f.  В окне свойств пользователя открыть закладку «Member Of», до-

бавить группу «proxygroup», сделать эту группу основной (нажать кнопку «Set as primary»), удалить группу «Domain Users». Тем са- мым мы добились того, что пользователь «proxyuser» не обладает никакими правами на объекты каталога.

8.   Настроить ограниченные права пользователя «proxyuser» на объекты ката-

лога:

a.  Запустить оснастку ADSI Edit (Start ? Run adsiedit.msc).

b.  Перейти на закладку «Security» свойств контейнера «Users», на-

жать кнопку «Advanced».

c.  В появившемся окне нажать кнопку «Add». Указать «proxygroup»

в качестве объекта.

d.  В  появившемся  окне  выбрать  в  разделе  «Apply  onto»  вариант

«This object and all child objects».

e.  Назначить права «List contents» и «Read all properties».

9.   Запустить виртуальную машину WS-Linux.

10. Получить список групп, членом которых является пользователь «Adminis- trator»,  зарегистрировавшись на  LDAP-сервере с  правами  пользователя

«proxyuser». Для чего на виртуальной машине WS-Linux запустить коман-

ду:

ldapsearch –h dc –b cn=Users,dc=example,dc=com -D

cn=proxyuser,cn=Users,dc=example,dc=com –w P@ssw0rd

–x “(&(objectClass=user)(cn=Administrator))”

memberOf

11. Убедиться, что  список групп присутствует в выводимой на экран инфор-

мации.

Источник: Андрончик А. Н., Богданов В. В., Домуховский Н. А., Коллеров А. С., Синадский Н. И., Хорьков Д. А., Щербаков М. Ю., Защита информации в компьютерных сетях. Практический курс

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий