Протокол LDAP (Lightweight Directory Access Protocol, облегченный протокол доступа к каталогам) уже стал промышленным стандартом для хранения разного рода данных с возможностью выборки. Существует множество программных продуктов, которые поддерживают LDAP для хранения статической информации, метаданных, либо информации, которая редко изменяется, но часто запрашивается. Система IBM® AIX версии 5.3 также поддерживает LDAP, с помощью которого хранит данные о пользователях, авторизационные данные и т.д. (см. Ресурсы). В IBM AIX версии 5.3 все модули входа в систему, поддерживающие Kerberos-регистрацию, равно как и различные сервисы, использующие Kerberos (например, FTP, OpenSSH, rlogin, а также файловая система AIX NFS версии 4, которая использует LDAP для Kerberos-аутентификации), могут быть успешно настроены на работу с LDAP.
IBM NAS оснащен двумя LDAP-средствами:
- Обнаружение клиентами серверов IBM NAS при помощи LDAP.
- Плагин для хранения данных аутентификации IBM NAS в LDAP-каталогах.
В данной статье рассматривается использование LDAP для обнаружения клиентами серверов IBM NAS. Будут описаны возможности IBM NAS, которые позволяют клиентам IBM NAS находить серверы IBM NAS (а именно, центры распределения ключей – KDC и административные серверы) при помощи LDAP-запросов. Будут показаны различные варианты настройки NAS-клиентов. Наконец, статья продемонстрирует превосходство конфигурации IBM NAS с LDAP над обычной конфигурацией, что должно помочь вам понять преимущества LDAP-запросов.
Различные методы настройки клиентов IBM NAS
В IBM NAS версии 1.4 доступны три варианта конфигурации клиентов:
- С использованием обнаружения по умолчанию.
- С использованием обнаружения серверов IBM NAS при помощи сервера каталогов IBM Tivoli® Directory Server версии 5.2 (TDS).
- С использованием обнаружения серверов IBM NAS при помощи TDS, но с возможностью отката к механизму по умолчанию.
Ниже будет описан подробно каждый из этих вариантов, однако предлагаю сначала изучить необходимые команды настройки IBM NAS.
Для настройки клиентов IBM NAS на любой из приведенных вариантов применяется команда /usr/krb5/sbin/config.krb5, которая доступна после установки клиента. Также имеется команда /usr/sbin/mkkrb5clnt – обертка команды config.krb5, которую также можно использовать для настройки. Для получения более детальной информации о команде mkkrb5clnt обратитесь к справочнику AIX 5.3 Commands Reference, поставляемому с AIX версии 5.3. Во всех примерах данной статьи мы будем использовать команду config.krb5.
Пример, приведенный ниже, иллюстрирует синтаксис команды config.krb5:
bash-2.05b# /usr/krb5/sbin/config.krb5
To configure a Server:
Usage: /usr/krb5/sbin/config.krb5 -h | -S [-a admin] -d domain -r realm [[-l
{ ldapserver | ldapserver:port }] [-u ldap_DN -p ldap_DN_pw] [-f {keyring |
keyring:entry_dn} -k keyring_pw] [-m masterkey_location] [-b bind_type]
[-R ldap_replica_list]]
To configure a slave KDC:
On a slave KDC machine:
Usage: /usr/krb5/sbin/config.krb5 -h | -E -d domain -r realm -s server { [-a admin] | -l
{ ldapserver | ldapserver:port } -u ldap_DN -p ldap_DN_PW [-f {keyring |
keyring:entry_dn} -k keyring_pw] [-b bind_type]
[-R ldap_replica_list] }
On a master server machine:
Usage: /usr/krb5/sbin/config.krb5 -h | -P -r realm -d domain -e slave_KDC -g
To configure a Client:
Usage: /usr/krb5/sbin/config.krb5 -h | [-C] -r realm -d domain { -c KDC -s server | -l
{ ldapserver | ldapserver:port_number } [-c KDC -s server] }
|
Как видно, с помощью этой команды возможно настраивать как клиент, так и сервер IBM NAS. В этой статье мы остановимся на настройке клиента. За детальной информацией о команде config.krb5 обратитесь к руководству администратора IBM NAS 1.4 (Administrator's Guide) и руководству пользователя (User's Guide), которые доступны на дисках Expansion Pack для AIX версии 5.3. Далее подробно рассмотрены все возможные конфигурации клиентов IBM NAS и их преимущества.
Ниже показаны настройки и условия, при которых запускались примеры данной статьи.
Сервер TDS 5.2
Узел: fsaix11.in.ibm.com Порт: 389
ОС: AIX 5.3
Kerberos-домен
ISL.IN.IBM.COM
Учетная запись администратора Kerberos:
admin/admin
Сервер IBM NAS 1.4 KDC
Узел: huntcup.in.ibm.com Порт: 88
ОС: AIX 5.3
LDAP-клиент: TDS 5.2
Административный сервер IBM NAS 1.4.0.6
Узел: huntcup.in.ibm.com Порт: 749
ОС: AIX 5.3
LDAP-клиент: TDS 5.2
Клиент IBM NAS 1.4.0.6
Узел: land.in.ibm.com
ОС: AIX 5.3
LDAP-клиент: TDS 5.2
Примечания:
- Сервер IBM NAS 1.4 доступен только для AIX, в то время как клиент поддерживается в Solaris, Linux® и Windows®. (Пакет установки клиента IBM NAS для Linux и Solaris поставляется с базой данных IBM DB2® Universal Database. Дополнительная информация об обеспечении безопасности в IBM DB2 Universal Database доступна по ссылкам из раздела Ресурсы.)
- На данный момент IBM NAS версии 1.4 поддерживает только серверы каталогов IBM Tivoli Directory Server версий 5.1 и 5.2 и SunONE Directory Server версий 5.1 и 5.2.
- Для детальной информации об установке и настройке TDS обратитесь к документации IBM Tivoli Directory Server версии 5.2.
Обнаружение серверов клиентом IBM NAS в конфигурации по умолчанию
Конфигурация клиента IBM NAS по умолчанию подразумевает наиболее простой путь – явно указать имя или IP-адрес сервера распределения ключей Kerberos и административного сервера. Чтобы задать эти серверы, можно вручную отредактировать файл /etc/krb5/krb5.conf, либо использовать команду config.krb5. Именно в файле /etc/krb5/krb5.conf хранится вся конфигурация клиента IBM NAS. Каждый раз, когда клиент IBM NAS (или любой основанный на Kerberos сервис, например интегрированный вход в AIX, FTP с поддержкой Kerberos и.т.п.) делает запрос к Kerberos-серверу, из этого файла считываются настройки.
В приведенном ниже листинге мы указываем машине с клиентом IBM NAS (land.in.ibm.com) использовать определенный сервер IBM NAS (huntcup.in.ibm.com). Для это применяем команду config.krb5:
bash-2.05b# hostname land.in.ibm.com bash-2.05b# /usr/krb5/sbin/config.krb5 -C -d in.ibm.com -r ISL.IN.IBM.COM -c huntcup.in.ibm.com -s huntcup.in.ibm.com Initializing configuration... Creating /etc/krb5/krb5_cfg_type... Creating /etc/krb5/krb5.conf... The command completed successfully. |
После успешного выполнения команды config.krb5 получаем файл /etc/krb5/krb5.conf. Взглянем на его содержимое на машине land.in.ibm.com:
bash-2.05b# hostname
land.in.ibm.com
bash-2.05b# cat /etc/krb5/krb5.conf
[libdefaults]
default_realm = ISL.IN.IBM.COM
default_keytab_name = FILE:/etc/krb5/krb5.keytab
default_tkt_enctypes =\
des3-cbc-sha1 arcfour-hmac aes256-cts des-cbc-md5 des-cbc-crc
default_tgs_enctypes =\
des3-cbc-sha1 arcfour-hmac aes256-cts des-cbc-md5 des-cbc-crc
[realms]
ISL.IN.IBM.COM = {
kdc = huntcup.in.ibm.com:88
admin_server = huntcup.in.ibm.com:749
default_domain = in.ibm.com
}
[domain_realm]
.in.ibm.com = ISL.IN.IBM.COM
huntcup.in.ibm.com = ISL.IN.IBM.COM
[logging]
kdc = FILE:/var/krb5/log/krb5kdc.log
admin_server = FILE:/var/krb5/log/kadmin.log
default = FILE:/var/krb5/log/krb5lib.log
|
Обратите внимание на секцию [realms], где содержатся данные, необходимые для нахождения серверов IBM NAS. В нашем примере видно, что адреса и порты сервера распределения ключей (параметр "kdc" секции [realms]) и административного сервера (параметр "admin_server" секции [realms]) указывают на конкретные машины. Задание этих параметров – это и есть настройка по умолчанию.
Теперь убедимся с помощью команд IBM NAS, что настроенный только что клиент способен соединиться с сервером распределения ключей и запросить авторизационные данные:
bash-2.05b# hostname
land.in.ibm.com
bash-2.05b# /usr/krb5/bin/kinit admin/admin
Password for admin/admin@ISL.IN.IBM.COM:
bash-2.05b# /usr/krb5/bin/klist
Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0
Default principal: admin/admin@ISL.IN.IBM.COM
Valid starting Expires Service principal
08/01/07 22:28:27 08/02/07 22:28:27 krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
Renew until 08/03/07 03:52:47
|
Видно, что нам удалось получить Kerberos-билет, а значит, клиент успешно связался с сервером ключей.
Затем проверим с помощью утилиты kadmin, что наш клиент соединяется с административным сервером NAS и выводит список принципалов:
bash-2.05b# hostname land.in.ibm.com bash-2.05b# /usr/krb5/sbin/kadmin -p admin/admin Authenticating as principal admin/admin with password. Password for admin/admin@ISL.IN.IBM.COM: kadmin: getprincs K/M@ISL.IN.IBM.COM admin/admin@ISL.IN.IBM.COM admin/sales@ISL.IN.IBM.COM john@ISL.IN.IBM.COM kadmin/admin@ISL.IN.IBM.COM kadmin/changepw@ISL.IN.IBM.COM kadmin/history@ISL.IN.IBM.COM kadmin/huntcup.in.ibm.com@ISL.IN.IBM.COM krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM mack_correct@ISL.IN.IBM.COM one-minute-sandy@ISL.IN.IBM.COM sachin/guest@ISL.IN.IBM.COM tester@ISL.IN.IBM.COM vipin@ISL.IN.IBM.COM kadmin:q |
Таким образом, мы успешно настроили клиент IBM NAS по схеме по умолчанию, согласно которой серверы задаются явно в файле /etc/krb5/krb5.conf на машине клиента.
Так зачем же существует нахождение сервером через LDAP, ведь конфигурация по умолчанию справляется с поставленной задачей?
Необходимость в обнаружении центров распределения ключей и административных серверов при помощи TDS
Представим себе сеть производственного масштаба, в которой тысячи клиентов IBM NAS настроены на сервер IBM NAS по схеме по умолчанию, как было описано выше. В таком случае, если вы решили использовать в качестве NAS другой мощный сервер, либо захотели переименовать хост существующего сервера NAS, вам придется вручную редактировать настройки в файле /etc/krb/krb5.conf на каждой машине.
В таких случаях, используя обнаружение серверов IBM NAS при помощи TDS, вам потребуется внести минимум изменений, например, подправить имя сервера IBM NAS в единственной базе данных LDAP. В отличие от способа по умолчанию, здесь не нужно изменять какие-либо настройки на стороне клиентов: все клиенты IBM NAS продолжают непрерывную работу, как будто ничего не менялось.
Далее будет рассказано, какие шаги нужно проделать, чтобы настроить описанную только что схему, при которой клиенты воспринимают изменения "на лету".
Настройка обнаружения серверов посредством TDS
Данный метод настройки предполагает, что данные о размещении серверов IBM NAS хранятся централизованно в базе данных LDAP. Все клиенты IBM NAS конфигурируются таким образом, чтобы каждый раз обращаться к базе LDAP для нахождения нужного сервера. Поэтому при изменении DNS-имени сервера требуется всего лишь обновить запись в LDAP, при этом вмешательство в клиентскую часть не требуется. Указанная схема предполагает два этапа:
- Настройка сервера для занесения данных о сервере ключей и административном сервере под контроль TDS
- Настройка клиента для указания использовать обнаружение через TDS
Настройка сервера: добавление под контроль TDS данных о сервере ключей и об административном сервере
- Сначала необходимо добавить определения схемы IBM NAS в каталог LDAP. Эти схемы нужны TDS для поиска информации о сервере ключей и об административном сервере. В IBM NAS 1.4 файлы со схемами имеют формат LDIF (LDAP Data Interchange Format, формат обмена данными LDAP) и находятся в каталоге /usr/krb5/ldif. Нас интересует файл /usr/krb5/ldif/IBM.service.schema.ldif, содержащий схему, которая нужна IBM NAS 1.4 для взаимодействия с IBM Tivoli Directory Server версии 5.2.
Для добавления схемы используется команда
ldapmodify, что и показано ниже:#hostname huntcup.in.ibm.com #ldapmodify -h fsaix11.in.ibm.com -D cn=root -w secret -f /usr/krb5/ldif/IBM.service.schema.ldif -v -c ldap_init(fsaix11.in.ibm.com, 389) add attributetypes: BINARY (93 bytes) ( 1.3.18.0.2.4.818 NAME 'ibmCom1986-Krb-kerberosRealm' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) add ibmattributetypes: BINARY (63 bytes) ( 1.3.18.0.2.4.818 DBNAME( 'kerberosRealm' 'kerberosRealm' ) ) modifying entry cn=schema ldap_modify: Type or value exists ldap_modify: additional info: attribute type '1.3.18.0.2.4.818' already exists, add operation failed. replace attributetypes: BINARY (202 bytes) ( 1.3.18.0.2.4.818 NAME ('ibmCom1986-Krb-kerberosRealm' 'KerberosRealm' ) DESC 'Kerberos realm name' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE USAGE userApplications ) replace ibmattributetypes: BINARY (94 bytes) ( 1.3.18.0.2.4.818 DBNAME( 'kerberosRealm' 'kerberosRealm' ) ACCESS-CLASS normal LENGTH 256 ) modifying entry cn=schema add objectclasses: BINARY (69 bytes) ( 1.3.18.0.2.6.173 NAME 'ibmCom1986-Krb-kerberosService' STRUCTURAL ) modifying entry cn=schema ldap_modify: Type or value exists ldap_modify: additional info: object class '1.3.18.0.2.6.173' already exists, add operation failed. replace objectclasses: BINARY (258 bytes) ( 1.3.18.0.2.6.173 NAME ( 'ibmCom1986-Krb-kerberosService' 'KerberosService' ) DESC 'A kerberosService object is created for each host system within the realm.' SUP eService STRUCTURAL MUST ( ibmCom1986-Krb-kerberosRealm ) MAY ( ipServicePort $ seeAlso ) ) modifying entry cn=schema
Во время добавления схемы из LDIF-файла возможно появление сообщений о том, что атрибуты и идентификаторы объектов уже существуют. Эти сообщения можно спокойно игнорировать. Редактировать вручную файл /usr/krb5/ldif/IBM.service.schema.ldif необходимости нет.
Для получения детальной информации о команде
ldapmodifyобратитесь к документации IBM Tivoli Directory Server 5.2. - После того как нужная схема внесена, необходимо добавить в каталог LDAP суффикс корневого доменного имени. Так как в нашем примере Kerberos-домен называется ISL.IN.IBM.COM, то мы добавляем суффикс "COM". Для этого зарегистрируемся на TDS-машине (в нашем примере – fsaix11.in.ibm.com), остановим TDS-сервис, добавим суффикс, а затем перезапустим TDS-сервис. Эти шаги показаны ниже:
[root@fsaix11 ldif ]# hostname fsaix11.in.ibm.com [root@fsaix11 ldif ]# ibmdirctl -D cn=root -w secret stop Stop operation succeeded [root@fsaix11 ldif ]# ldapcfg -s dc=COM -n You have chosen the following actions: Suffix 'dc=COM' will be added to the configuration file. Adding suffix: 'dc=COM'. Added suffix: 'dc=COM'. IBM Tivoli Directory Server Configuration complete. [root@fsaix11 ldif ]# ibmdirctl -D cn=root -w secret start Start operation succeeded
- Далее добавим описание Kerberos-домена в каталог LDAP. Для каждого компонента в имени Kerberos-домена должна быть соответствующая запись в каталоге LDAP. Опишем наш Kerberos-домен, открыв файл /usr/krb5/ldif/service_add.ldif, который входит в состав сервиса IBM NAS и находится на сервере IBM NAS (в нашем случае – huntcup.in.ibm.com). Сделаем следующие изменения:
:
dn: dc=COM dc: COM objectClass: top objectClass: domain description: Domain realm COM dn: dc=IBM, dc=COM dc: IBM objectClass: domain description: Domain realm IBM.COM dn: dc=IN, dc=IBM, dc=COM dc: IN objectClass: domain description: Domain realm IN.IBM.COM dn: dc=ISL, dc=IN, dc=IBM, dc=COM dc: ISL objectClass: domain description: Domain realm ISL.IN.IBM.COM
Ниже показано, что мы добавляем в LDAP-каталог информацию из приведенного только что файла с помощью команды
ldapmodify, запускаемой на сервере:#hostname huntcup.in.ibm.com #ldapmodify -h fsaix11.in.ibm.com -D cn=root -w secret -f /usr/krb5/ldif/service_add.ldif -v -c -a ldap_init(fsaix11.in.ibm.com, 389) add dc: BINARY (3 bytes) COM add objectClass: BINARY (3 bytes) top BINARY (6 bytes) domain add description: BINARY (16 bytes) Domain realm COM adding new entry dc=COM add dc: BINARY (3 bytes) IBM add objectClass: BINARY (6 bytes) domain add description: BINARY (20 bytes) Domain realm IBM.COM adding new entry dc=IBM, dc=COM add dc: BINARY (2 bytes) IN add objectClass: BINARY (6 bytes) domain add description: BINARY (23 bytes) Domain realm IN.IBM.COM adding new entry dc=IN, dc=IBM, dc=COM add dc: BINARY (3 bytes) ISL add objectClass: BINARY (6 bytes) domain add description: BINARY (27 bytes) Domain realm ISL.IN.IBM.COM adding new entry dc=ISL, dc=IN, dc=IBM, dc=COM
- Наконец, добавим в LDAP-каталог записи о центре распределения ключей и об административном сервере нашего Kerberos-домена. Для этого запустим команду
/usr/krb5/sbin/ksetup. Эта команда управляет различными записями, связанными с NAS, которые хранятся в LDAP-каталоге, отвечающем за некую сеть под управлением NAS.ksetupвключает в себя подкоманды для добавления, удаления и вывода этих записей. Для подробной информации о командеksetupобратитесь руководству администратора (Administrator's Guide) и руководству пользователя (User's Guide) IBM NAS 1.4, которые поставляются на дисках Expansion Pack для AIX версии 5.3.Далее показано, как с помощью команды
ksetupмы добавим huntcup.in.ibm.com в качестве сервера распределения ключей и административного сервера для домена ISL.IN.IBM.COM:#hostname huntcup.in.ibm.com # /usr/krb5/sbin/ksetup -h fsaix11.in.ibm.com -n cn=root -p secret ksetup> addadmin huntcup.in.ibm.com ISL.IN.IBM.COM ksetup> addkdc huntcup.in.ibm.com ISL.IN.IBM.COM ksetup> listkdc huntcup.in.ibm.com:88 ksetup> listadmin huntcup.in.ibm.com:749 ksetup> exit
Обратите внимание, что утилита
ksetupназначает стандартные номера портов для сервера ключей и административного сервера. Для задания других значений портов укажите их при запуске подкомандaddadminиaddkdc, например, так:addadmin huntcup.in.ibm.com:99 ISL.IN.IBM.COM.На этом серверная часть настройки обнаружения серверов IBM NAS закончена. Теперь необходимо настроить клиенты IBM NAS, чтобы они использовали сервер каталогов IBM для нахождения серверов NAS.
Настройка клиента для включения обнаружения серверов IBM NAS посредством TDS
На данном этапе самое главное, чтобы TDS-клиент был установлен на всех машинах с клиентами IBM NAS. Для настройки обнаружения серверов IBM NAS посредством LDAP также используется команда /usr/krb5/sbin/config.krb5, но уже на стороне клиента и с другими параметрами. Пример приведен ниже:
bash-2.05b# hostname land.in.ibm.com bash-2.05b# config.krb5 -C -r ISL.IN.IBM.COM -d in.ibm.com -l fsaix11.in.ibm.com Initializing configuration... Creating /etc/krb5/krb5_cfg_type... Creating /etc/krb5/krb5.conf... The command completed successfully. |
Для перенастройки клиента IBM NAS на использование другой конфигурации необходимо вначале деактивировать существующую настройку запуском команды /usr/krb5/sbin/unconfig.krb5 на клиентской машине.
Обратите внимание, что был использован параметр -l <ldap_server>, указывающий клиенту IBM NAS, что нужно использовать сервер TDS для нахождения сервера ключей и административного сервера. Ниже показано, как выглядит конфигурационный файл клиента:
bash-2.05b# hostname
land.in.ibm.com
bash-2.05b# cat /etc/krb5/krb5.conf
[libdefaults]
default_realm = ISL.IN.IBM.COM
default_keytab_name = FILE:/etc/krb5/krb5.keytab
default_tkt_enctypes = \
des3-cbc-sha1 arcfour-hmac aes256-cts des-cbc-md5 des-cbc-crc
default_tgs_enctypes = \
des3-cbc-sha1 arcfour-hmac aes256-cts des-cbc-md5 des-cbc-crc
use_ldap_lookup = 1
ldap_server = fsaix11.in.ibm.com
[realms]
ISL.IN.IBM.COM = {
default_domain = in.ibm.com
}
[domain_realm]
.in.ibm.com = ISL.IN.IBM.COM
[logging]
kdc = FILE:/var/krb5/log/krb5kdc.log
admin_server = FILE:/var/krb5/log/kadmin.log
default = FILE:/var/krb5/log/krb5lib.log
|
Обратите внимание на запись use_ldap_server = 1 в конфигурационном файле. Она указывает клиенту IBM NAS, что для обнаружения NAS-серверов необходимо использовать именно сервер TDS. При этом запись ldap_server = fsaix11.in.ibm.com содержит имя TDS-сервера, с которым будет производиться соединение. Примечание. В секции [realms] отсутствуют параметры "kdc" и "admin_server", которые имели место для схемы по умолчанию.
Проверим настройки, запустив команду kinit, а затем – команду klist:
bash-2.05b# hostname
land.in.ibm.com
bash-2.05b# /usr/krb5/bin/kinit admin/admin
Password for admin/admin@ISL.IN.IBM.COM:
bash-2.05b# /usr/krb5/bin/klist
Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0
Default principal: admin/admin@ISL.IN.IBM.COM
Valid starting Expires Service principal
08/17/07 07:04:53 08/18/07 07:04:53 krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
Renew until 08/18/07 07:05:02
|
Как можно видеть, соединение с центром распределения ключей прошло успешно, и был получен начальный Kerberos-билет. Также не мешает проверить, что клиент способен соединяться с административным сервером при помощи TDS:
bash-2.05b# hostname land.in.ibm.com bash-2.05b# /usr/krb5/sbin/kadmin -p admin/admin Authenticating as principal admin/admin with password. Password for admin/admin@ISL.IN.IBM.COM: kadmin: getprincs K/M@ISL.IN.IBM.COM admin/admin@ISL.IN.IBM.COM admin/sales@ISL.IN.IBM.COM john@ISL.IN.IBM.COM kadmin/admin@ISL.IN.IBM.COM kadmin/changepw@ISL.IN.IBM.COM kadmin/history@ISL.IN.IBM.COM kadmin/huntcup.in.ibm.com@ISL.IN.IBM.COM krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM mack_correct@ISL.IN.IBM.COM one-minute-sandy@ISL.IN.IBM.COM sachin/guest@ISL.IN.IBM.COM tester@ISL.IN.IBM.COM vipin@ISL.IN.IBM.COM kadmin:q |
Мы убедились, что соединение с обоими серверами NAS при помощью TDS проходит гладко.
Перечислим утилиты, которые задействуют обнаружение серверов распределения ключей и административных серверов посредством LDAP:
-
kadmin— утилита получает с LDAP-сервера имя kadmin-сервера и соответствующий порт. -
kinit— утилита получает с LDAP-сервера имя сервера распределения ключей и соответствующий порт. -
kpasswd— утилита получает с LDAP-сервера имя сервера смены пароля и соответствующий порт. -
ksetup— утилита записывает данные об административных серверах и серверах ключей в LDAP-каталог.
Существует один недостаток приведенной выше конфигурации: если сервер TDS окажется недоступен, то клиенты IBM NAS не смогут обнаружить и соединиться ни с одним сервером IBM NAS. Для устранения данного недостатка в IBM NAS существует еще один тип конфигурации, при которой клиент IBM NAS изначально использует TDS для обнаружения серверов. Но если соединиться с TDS-сервером не удается, то клиент возвращается к обнаружению через локальный конфигурационный файл. Давайте посмотрим, каким образом работает такая схема.
Конфигурация клиента IBM NAS для обнаружения посредством TDS с возможностью отката
Как и для предыдущей схемы, для начала необходимо убедиться, что на клиентской машине инсталлирован TDS-клиент и IBM NAS.
После этого настроим клиент IBM NAS для обнаружения посредством TDS с возможностью отката:
bash-2.05b# hostname land.in.ibm.com bash-2.05b# /usr/krb5/sbin/config.krb5 -C -r ISL.IN.IBM.COM -d in.ibm.com -l fsaix11.in.ibm.com -c huntcup.in.ibm.com -s huntcup.in.ibm.com Initializing configuration... Creating /etc/krb5/krb5_cfg_type... Creating /etc/krb5/krb5.conf... The command completed successfully. |
Заметьте, что в этот раз мы указали несколько опций при запуске команды config.krb5: -l, -c и -s.
А теперь посмотрим на содержимое конфигурационного файла на машине клиента:
bash-2.05b# hostname
land.in.ibm.com
bash-2.05b# cat /etc/krb5/krb5.conf
[libdefaults]
default_realm = ISL.IN.IBM.COM
default_keytab_name = FILE:/etc/krb5/krb5.keytab
default_tkt_enctypes = \
des3-cbc-sha1 arcfour-hmac aes256-cts des-cbc-md5 des-cbc-crc
default_tgs_enctypes = \
des3-cbc-sha1 arcfour-hmac aes256-cts des-cbc-md5 des-cbc-crc
use_ldap_lookup = 1
ldap_server = fsaix11.in.ibm.com
[realms]
ISL.IN.IBM.COM = {
kdc = huntcup.in.ibm.com:88
admin_server = huntcup.in.ibm.com:749
default_domain = in.ibm.com
}
[domain_realm]
.in.ibm.com = ISL.IN.IBM.COM
huntcup.in.ibm.com = ISL.IN.IBM.COM
[logging]
kdc = FILE:/var/krb5/log/krb5kdc.log
admin_server = FILE:/var/krb5/log/kadmin.log
default = FILE:/var/krb5/log/krb5lib.log
|
Как можно заметить, данный способ конфигурации характерен как указанием LDAP-сервера, так и опций "kdc" и "admin_server" в файле настроек. Свяжемся с сервером распределения ключей с помощью TDS, запустив команды kinit и klist:
bash-2.05b# hostname land.in.ibm.com bash-2.05b# /usr/krb5/bin/kinit admin/admin Password for admin/admin@ISL.IN.IBM.COM: bash-2.05b# /usr/krb5/bin/klist Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0 Default principal: admin/admin@ISL.IN.IBM.COM Valid starting Expires Service principal 08/17/07 07:08:32 08/18/07 07:08:32 krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM |
Видно, что нам был успешно выдан начальный Kerberos-билет посредством TDS. Далее проверим, доступен ли административный сервер IBM NAS:
bash-2.05b# hostname land.in.ibm.com bash-2.05b# /usr/krb5/sbin/kadmin -p admin/admin Authenticating as principal admin/admin with password. Password for admin/admin@ISL.IN.IBM.COM: kadmin: getprincs K/M@ISL.IN.IBM.COM admin/admin@ISL.IN.IBM.COM admin/sales@ISL.IN.IBM.COM john@ISL.IN.IBM.COM kadmin/admin@ISL.IN.IBM.COM kadmin/changepw@ISL.IN.IBM.COM kadmin/history@ISL.IN.IBM.COM kadmin/huntcup.in.ibm.com@ISL.IN.IBM.COM krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM mack_correct@ISL.IN.IBM.COM one-minute-sandy@ISL.IN.IBM.COM sachin/guest@ISL.IN.IBM.COM tester@ISL.IN.IBM.COM vipin@ISL.IN.IBM.COM kadmin: q |
Итак, клиент IBM NAS настроен на обнаружение посредством TDS с возможностью отката. Для того чтобы удостовериться, работает механизм отката или нет, остановим TDS-сервис на соответствующем сервере:
[root@fsaix11 ldif ]# hostname fsaix11.in.ibm.com [root@fsaix11 ldif ]# ibmdirctl -D cn=root -w secret stop Stop operation succeeded |
Далее вернемся к только что настроенному клиенту и попытаемся, как и раньше, получить начальный Kerberos-билет, как показано ниже:
bash-2.05b# hostname land.in.ibm.com bash-2.05b# /usr/krb5/bin/kinit admin/admin connect: A remote host refused an attempted connect operation. The ldap_simple_bind_s system function detects an error. LDAP_CONNECT_ERROR. connect: A remote host refused an attempted connect operation. The ldap_simple_bind_s system function detects an error. LDAP_CONNECT_ERROR. Password for admin/admin@ISL.IN.IBM.COM: connect: A remote host refused an attempted connect operation. The ldap_simple_bind_s system function detects an error. LDAP_CONNECT_ERROR. connect: A remote host refused an attempted connect operation. The ldap_simple_bind_s system function detects an error. LDAP_CONNECT_ERROR. bash-2.05b# /usr/krb5/bin/klist Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0 Default principal: admin/admin@ISL.IN.IBM.COM Valid starting Expires Service principal 08/17/07 07:12:01 08/18/07 07:11:54 krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM |
Обратите внимание, что система дает выполнить команду kinit даже в том случае, когда TDS-сервер недоступен. Если обратиться к административному серверу IBM NAS, то поведение клиента будет таким же, как и при получении начального билета:
bash-2.05b# /usr/krb5/sbin/kadmin -p admin/admin Authenticating as principal admin/admin with password. connect: A remote host refused an attempted connect operation. The ldap_simple_bind_s system function detects an error. LDAP_CONNECT_ERROR. connect: A remote host refused an attempted connect operation. The ldap_simple_bind_s system function detects an error. LDAP_CONNECT_ERROR. connect: A remote host refused an attempted connect operation. The ldap_simple_bind_s system function detects an error. LDAP_CONNECT_ERROR. Password for admin/admin@ISL.IN.IBM.COM: connect: A remote host refused an attempted connect operation. The ldap_simple_bind_s system function detects an error. LDAP_CONNECT_ERROR. connect: A remote host refused an attempted connect operation. The ldap_simple_bind_s system function detects an error. LDAP_CONNECT_ERROR. kadmin: getprincs K/M@ISL.IN.IBM.COM admin/admin@ISL.IN.IBM.COM admin/sales@ISL.IN.IBM.COM john@ISL.IN.IBM.COM kadmin/admin@ISL.IN.IBM.COM kadmin/changepw@ISL.IN.IBM.COM kadmin/history@ISL.IN.IBM.COM kadmin/huntcup.in.ibm.com@ISL.IN.IBM.COM krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM mack_correct@ISL.IN.IBM.COM one-minute-sandy@ISL.IN.IBM.COM sachin/guest@ISL.IN.IBM.COM tester@ISL.IN.IBM.COM vipin@ISL.IN.IBM.COM kadmin: q |
Итак, мы успешно настроили клиент IBM NAS на обнаружение серверов NAS посредством TDS, а также убедились в работоспособности механизма отката.
Данная статья осветила все необходимые шаги для настройки обнаружения серверов ключей и административных серверов при помощи TDS. Были рассмотрены все возможные методы конфигурации клиентов IBM NAS, что поможет вам более эффективно настраивать и управлять Kerberos-средой, особенно когда меняются серверные настройки.
Научиться
- Оригинал статьи (EN)
- "Управление пользователями AIX 5L с помощью LDAP (developerWorks, апрель 2006 г.): прочтите эту статью на developerWorks и изучите управление пользователями AIX при помощи LDAP.
-
Настройка Kerberos-аутентификации для IBM Network Authentication Service в AIX 5L (EN): прочтите данное руководство и узнайте, как применить Kerberos в качестве одного из методов аутентификации в AIX.
- Безопасность DB2 UDB, часть 3: использование механизмов безопасности плагинов GSS-API (SPKM / LIPKEY) (EN) (developerWorks, декабрь 2005 г.): в этой статье Сендип Патил демонстрирует, как настроить плагины безопасности IBM DB2 Universal Database (UDB) и реализовать аутентификацию на основе открытых ключей.
- "Введение в Kerberos (EN) (developerWorks, ноябрь 2001 г.): статья знакомит с технологией Kerberos и приложениями, работающими в распределенных вычислительных средах.
-
Популярные материалы (EN): узнайте, что больше всего интересует ваших коллег в AIX и UNIX®.
- AIX и UNIX: раздел developerWorks об AIX и UNIX содержит множество информации, касающейся всех аспектов администрирования UNIX, а также поможет углубить UNIX-навыки.
- AIX и UNIX для новичков: посетите этот раздел, чтобы познакомиться с AIX и UNIX.
-
AIX-вики (EN): совместно пополняемый ресурс с технической информацией об AIX.
- Ищите нужную информацию об AIX и UNIX в соответствующих разделах:(EN)
- Системное администрирование
- Разработка приложений
- Производительность
- Портирование
- Безопасность
- Советы
- Инструменты и утилиты
- Технология Java™
- Linux
- Open source
-
Книжный интернет-магазин Safari (EN): посетите эту электронную библиотеку и найдите нужную техническую информацию.
- Оставайтесь в курсе при помощи технических событий и Web-кастов от IBM (EN)
- Подкасты (EN): настройтесь и будьте на связи с техническими экспертами IBM.
Получить продукты и технологии
-
Утилита графического администрирования службы Network Authentication Service от IBM (EN): решайте задачи настройки IBM NAS с помощью графического интерфейса. Загрузите утилиту сейчас с IBM alphaWorks.
-
Пакет Expansion Pack для AIX 5L и пакет Web Download Pack (EN): загрузите прямо сейчас.
-
Пробное ПО от IBM (EN): загрузите ПО прямо с developerWorks и разработайте с его помощью ваш следующий проект.(EN)
Обсудить
- Примите участие в обсуждении материала на форуме.
- Примите участие в блогах developerWorks (EN) и вступите в ряды сообщества developerWorks.
- Обсуждайте AIX и UNIX на форумах: (EN)
- Технический форум по AIX
- AIX 6 Open Beta (EN)
- Форум по AIX для разработчиков (EN)
- Система управления кластерами (EN)
- Инструмент IBM Support Assistant (EN)
- Техническое обсуждение средств анализа производительности (EN)
- Техническое обсуждение средств виртуализации IBM (EN)
- Различные форумы по AIX и UNIX
Випин Ратор на протяжении двух последних лет работает в IBM India Software Lab, где занимается разработкой и поддержкой службы IBM Network Authentication Service (IBM Kerberos). В сферу его интересов входит интеграция Kerberos и LDAP, сетевая безопасность, протоколы аутентификации, а также PKI.
Сендип Рамеш Патил (Sandeep Ramesh Patil) работает штатным инженером по программному обеспечению в IBM India Software Labs. Последние пять лет его работа в IBM в основном связана с распределенными технологиями, включая DCE, SARPC, и продуктами по обеспечению безопасности, такими как IBM Network Authentication Services (IBM Kerberos). В данный момент он работает над новым RFC по безопасности для IBM Network Authentication Service параллельно с поддержкой этих продуктов. Сендип имеет степень бакалавра в области информационных технологий и технологий, полученную в университете Пуны, Индия. С ним можно связаться по e-mail rsandeep@in.ibm.com.