Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Andronchik.pdf
Скачиваний:
678
Добавлен:
13.04.2015
Размер:
9.64 Mб
Скачать

194

Операционные системы семейства Windows встраиваются в среду Active Directory при помощи стандартного инструментария, при этом на рабочей станции запускаются необходимые сервисы, которые переадресуют запросы к локальной базе SAM на контроллеры домена (так же активизируется SSPIмодуль, отвечающий за аутентификацию по протоколу Kerberos). Для того чтобы увидеть этот процесс более подробно, рассмотрим интеграцию рабочей станции под управлением ОС Linux в среду Active Directory.

7.4.1.Технология PAM

Впервую очередь необходимо сменить режим аутентификации рабочей станции с традиционного (через файл «/etc/shadow»), на аутентификацию по протоколу Kerberos.

Для решения подобных задач уже довольно долгое время в Linux (и некоторых других Unix-системах) система аутентификации отделена от утилит, которым необходимо производить аутентификацию. Каждая такая утилита (например, login) запрашивает специальную библиотеку libpam для проведения аутентификации пользователя. Все, что должен обеспечить сервис, — это обратную связь между пользователем и библиотекой (для запроса пароля при необходимости, вывода служебных сообщений, например с просьбой приложить специальное устройство к считывателю и т. п.). Сама библиотека libpam

тоже не содержит конкретного функционала по аутентификации, весь функционал содержится в модулях PAM1. О том, какие модули необходимо загружать, библиотека узнает из файлов конфигурации, расположенных в каталоге «/etc/pam.d» (по файлу конфигурации на каждый сервис).

Файл конфигурации может содержать 4 типа записей: − auth — отвечают за процесс аутентификации;

− account — отвечают за то, что учетная запись актуальна (не заблокирована, не истек срок действия пароля и т. п.);

− password — отвечают за манипуляции с аутентификационными данными (например, смена пароля);

− session — выполняют некоторые действия, связанные с сеансом пользователя (установка переменных окружения, удаление кэша при выходе пользователя и т. п.).

Модуль аутентификации по протоколу Kerberos должен присутствовать в разделах auth и session (для создания кэша билетов и его удаления). Для того чтобы не было необходимости переписывать конфигурационные файлы для каждого из сервисов, в любом дистрибутиве Linux предусмотрены общие настройки PAM для всех сервисов. В дистрибутиве Debian — это файлы comonauth, common-password, common-account и common-session, в каждом описаны умолчания для соответствующих разделов. Именно сюда и необходимо доба-

вить модуль «pam_krb5.so».

1 PAM (Pluggable Authentication Modules) – подключаемые модули аутентификации.

195

ВЫПОЛНИТЬ!

28.На виртуальной машине WS-Linux обязательно произвести вход от имени суперпользователя в две или более виртуальных консоли.

29.Открыть в текстовом редакторе файл «/etc/pam.d/common-auth».

30.Поставить символ «#» в начале строки, подключающей модуль pam_unix.so (традиционный механизм, основанный на файлах

«/etc/passwd» и «/etc/shadow»).

31.Добавить строку «auth required pam_krb5.so».

32.На виртуальной машине DC создать пользователя «ws-linux_host» при по-

мощи оснастки «Active Directory Users and Computers».

33.Создать keytab-файл при помощи следующей команды:

ktpass –princ host/ws-linux.example.com@EXAMPLE.COM –crypto des-cbc-md5 +desOnly

–ptype KRB5_NT_PRINCIPAL –out c:\http.keytab +rndPass

–mapuser ws-linux_host@example.com –mapop set

34.Скопировать keytab-файл на виртуальную машину WS-Linux под именем

«/etc/krb5.keytab».

35.Сменить права доступа на keytab-файл командой:

chmod 400 /etc/krb5.keytab.

36.На одной из виртуальных консолей произвести выход из системы и вход в нее. Убедиться при помощи команды klist, что пользователь получил TGT. После того как модуль pam_krb5 был подключен к системе аутентифи-

кации, получилось следующее:

пользователь root способен осуществить вход в систему;

пользователь student не способен войти в систему, поскольку он не обладает учетной записью Kerberos;

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

Для того чтобы обеспечить вход для пользователя student достаточно создать для него соответствующую учетную запись в Active Directory. Чтобы разрешить вход администратору, надо каким-то образом перенаправить остальные модули на получение информации о пользователе не из файла

«/etc/passwd», а из LDAP каталога Active Directory.

7.4.2.Технология NSS

Сцелью универсального изменения источников различных данных для приложений (информация о пользователях, группах, компьютерах и т. п.) в Unix-системах используется технология Name Service Switch (NSS). Техноло-

196

гия эта похожа на PAM, т.е. при выполнении определенных стандартных функций специальная библиотека (здесь это библиотека языка C) переадресовывает вызов некоторому специальному модулю, который указывается в конфигурационном файле.

Настройка системы NSS производится через файл «/etc/nsswitch.conf», который содержит информацию об объектах и источниках данных о них. Например, в файле содержится строка hosts, которая задает поведение функции gethostbyname. В качестве источника данных для этой функции указаны file и dns, т. е. сначала будет произведен поиск в файле «/etc/hosts», а потом при помощи системы DNS.

Для того чтобы обеспечить получение авторизующей информации из Active Directory, необходимо изменить настройки для объектов users и groups, указав в качестве источника ldap. Однако соответствующая библиотека также требует определенной настройки, а именно ей необходимо указать, как интерпретировать объекты в нашей схеме LDAP.

ВЫПОЛНИТЬ!

37.Настройка модуля nss_ldap на виртуальной машине ws-linux

a.Открыть в текстовом редакторе файл «/etc/libnss-ldap.conf»

b.Указать следующие параметры

#адрес ldap сервера host 192.168.0.1

#база поиска

base dc=example,dc=com

#версия протокола ldap_version 3

#учетная запись для соединения с сервером binddn cn=proxyuser,cn=users,dc=example,dc=com

#пароль учетной записи

bindpw P@ssw0rd

#глубина поиска scope sub

#Настройки схемы:

#контейнер с объектами с информацией о пользователе nss_base_passwd CN=users,DC=example,DC=com

#контейнер с информацией о группах

nss_base_group CN=users,DC=example,DC=com

#указать аналог класса posixAccount

#(класс posixAccount содержится в стандартной схеме,

#определенной в RFC 2307)

nss_map_objectclass posixAccount user

# аналог атрибута uid nss_map_attribute uid sAMAccountName

197

# аналог атрибута homeDirectory

nss_map_attribute homeDirectory msSFUHomeDirectory

#указать аналог класса posixGroup nss_map_objectclass posixGroup group

#аналог атрибута uniqueMember

nss_map_attribute uniqueMember member

Остальные параметры оставить по умолчанию.

c.Открыть текстовым редактором файл «/etc/nsswitch.conf». Добавить метод ldap в строках passwd и group.

38.Задать атрибуты для Unix систем пользователя root.

a.Запустить оснастку ADSI Edit.

b.Открыть редактор атрибутов для группы Domain Users. Задать атрибуту gidNumber значение 2000.

c.Открыть редактор атрибутов для пользователя root. Задать сле-

дующие значения атрибутов: uid — 0, gidNumber — 2000, loginShell — «/bin/bash», msSFUHomeDirectory — «/root».

39.С помощью текстового редактора удалить запись о пользователе root из файла «/etc/passwd».

40.Проверить получение авторизующей информации из каталога AD.

a.Выполнить команду getent passwd и убедиться, что пользователь root присутствует в выводе.

b.Выполнить команду getent group и убедиться, что в выводе присутствует группа Domain Users.

c.Выполнить команду id root и убедиться, что такой пользователь существует, его uid — 0, основная группа — Domain Users.

41.Конфигурация PAM.

a.Открыть в текстовом редакторе файл «/etc/pam.d/common-auth» и поставить символ «#» в начале строки, описывающей модуль pam_unix.

b.Перейти в новую виртуальную консоль и убедиться, что пользователь root по-прежнему способен войти в систему.

42.Сделать также учетные записи student и Administrator Unixпользователями (учтите, что пользователю Administrator необходимо создать домашний каталог).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]