Перейти к тексту

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент.

Вся введенная информация защищена.

  • Закрыть [x]

При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

Вся введенная информация защищена.

  • Закрыть [x]

Cлужба IBM Network Authentication Service: Обнаружение административных серверов и центров распределения ключей (KDC) с помощью LDAP в AIX

Випин Ратор, системный программист, IBM
Випин Ратор на протяжении двух последних лет работает в IBM India Software Lab, где занимается разработкой и поддержкой службы IBM Network Authentication Service (IBM Kerberos). В сферу его интересов входит интеграция Kerberos и LDAP, сетевая безопасность, протоколы аутентификации, а также PKI.
Сендип Рамеш Патил, штатный инженер по программному обеспечению, IBM
Сендип Рамеш Патил (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.

Описание:  В статье объясняется, как эффективным образом настроить службу IBM® Network Authentication Service (IBM NAS) на работу с протоколом LDAP (Lightweight Directory Access Protocol, облегченный протокол доступа к каталогам) в AIX®, что позволит сделать вашу Kerberos-среду максимально надежной и масштабируемой. Показано несколько способов установки гибкой и одновременно стойкой Kerberos-среды.

Дата:  27.01.2009
Уровень сложности:  средний
Активность:  3196 просмотров
Комментарии:  


Введение

Протокол 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 доступны три варианта конфигурации клиентов:

  1. С использованием обнаружения по умолчанию.
  2. С использованием обнаружения серверов IBM NAS при помощи сервера каталогов IBM Tivoli® Directory Server версии 5.2 (TDS).
  3. С использованием обнаружения серверов 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, при этом вмешательство в клиентскую часть не требуется. Указанная схема предполагает два этапа:

  1. Настройка сервера для занесения данных о сервере ключей и административном сервере под контроль TDS
  2. Настройка клиента для указания использовать обнаружение через TDS

Настройка сервера: добавление под контроль TDS данных о сервере ключей и об административном сервере

  1. Сначала необходимо добавить определения схемы 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.

  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
    

  3. Далее добавим описание 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
    

  4. Наконец, добавим в 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-средой, особенно когда меняются серверные настройки.


Ресурсы

Научиться

Получить продукты и технологии

Обсудить

Об авторах

Випин Ратор на протяжении двух последних лет работает в 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.

Помощь по сообщениям о нарушениях

Сообщение о нарушениях

Спасибо. Эта запись была помечена для модератора.


Помощь по сообщениям о нарушениях

Сообщение о нарушениях

Сообщение о нарушении не было отправлено. Попробуйте, пожалуйста, позже.


developerWorks: вход


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент.

Выберите ваше отображаемое имя

При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

(Должно содержать от 3 до 31 символа.)


Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Оценить эту статью

Комментарии

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=AIX и UNIX
ArticleID=366738
ArticleTitle=Cлужба IBM Network Authentication Service: Обнаружение административных серверов и центров распределения ключей (KDC) с помощью LDAP в AIX
publish-date=01272009
author1-email=vrathor1@in.ibm.com
author1-email-cc=
author2-email=rsandeep@in.ibm.com
author2-email-cc=

Теги

Help
Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Используйте ползунок, чтобы отразить больше или меньше тегов.

КнопкаПопулярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere).

Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).

Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Кнопка Популярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere). Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).