Механизмы аутентификации проверяют, что пользователи действительно имеют права на доступ в систему. Администратор может определить протокол аутентификации, на основании которого будет проверяться подлинность учетных записей пользователей и пользователям будет предоставляться доступ в систему. В ОС AIX уже имеются несколько модулей для выполнения идентификации и аутентификации. Идентификация и аутентификация пользователя выполняется на основе атрибутов его учётной записи в AIX. В этой статье рассматриваются атрибуты, используемые для аутентификации и идентификации, загрузка модулей, доступных в AIX, и новый атрибут для аутентификации, появившийся в версиях AIX 6.1 Tl07 и AIX 7.1 Tl1.

Ума М. Чандолу, разработчик программного обеспечения, IBM

фотография Ума ЧандолуУма М. Чандолу (Uma M. Chandolu) - разработчик AIX и специалист поддержки подсистемы безопасности AIX из IBM India Systems and Technology Lab. Он два года занимался практическими вопросами безопасности AIX. Ума специализируется на безопасности AIX и является экспертом по администрированию AIX и программированию ее подсистемы безопасности. С ним можно связаться по адресу электронной почты uchandol@in.ibm.com.



06.05.2013

Введение

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

Стандартный механизм аутентификации в AIX использует для проверки подлинности данных учётной записи пользователя функцию crypt. Эта функция использует для проверки правильности указанного пароля только первые восемь символов из пароля пользователя. В версиях AIX 5.3 Tl7 and AIX 6.1 был представлен алгоритм LPA (Loadable Password Algorithm – загружаемый алгоритм для паролей), который поддерживает новые алгоритмы для защищённого хеширования паролей, устраняет ограничение в 8 символов на длину пароля и поддерживает пароли длиной до 255 символов.

ОС AIX содержит загружаемые модули, которые могут использоваться для идентификации и аутентификации пользователей. Функции для аутентификации включают в себя возможности для проверки и изменения паролей. Функции для идентификации обеспечивают хранение, считывание и изменение информации в учётных записях пользователей или групп. Также AIX предлагает загружаемую инфраструктуру для выполнения идентификации и аутентификации. Используя этот интерфейс, пользователи могут создавать собственные модули для выполнения аутентификации и идентификации.

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

Обзор

Начиная с версии 4.1 ОС AIX поддерживает загружаемую инфраструктуру для аутентификации и идентификации. В AIX 5.1 были представлены составные модули, представляющие собой комбинацию модулей для аутентификации и модулей для работы c СУБД. Модули первого типа предоставляли службы для выполнения аутентификации, например, проверки паролей, а модули для работы с базами данных обеспечивали возможности для идентификации, отвечая за хранение атрибутов пользователя.

К загружаемым защитным модулям относятся такие компоненты, как LDAP, NIS, KRB5 и PAM, которые будут кратко описаны в следующих разделах. ОС AIX обеспечивает поддержку этих модулей начиная с версии 5.1.

Подсистема безопасности AIX направляет запросы на аутентификацию или идентификацию пользователей в соответствующие методы с помощью двух атрибутов: registry (реестр) и SYSTEM (система). Эти два атрибута играют важную роль в управлении учётными записями пользователей и групп в AIX и в их аутентификации. Каждый пользователь в AIX обладает собственными значениями для атрибутов registry и SYSTEM. Группы имеют значение только для атрибута registry.

Атрибут registry

Атрибут registry определяет, где именно хранится и как управляется информация, идентифицирующая пользователя или группу. Этот атрибут всегда имеет единственное значение. Информация, идентифицирующая пользователя, может быть определена на основе значения, указанного для атрибута registry.

Для локальных пользователей значение этого атрибута всегда равно "files", для удалённых пользователей значение атрибута может меняться в зависимости от того, где хранится информация о пользователе.

Установите значение атрибута registry для пользователя с помощью команды chuser, как показано ниже:

 chuser registry=<load module name> <username>

Обратите внимание, что для удалённых пользователей в команде chuser используется опция -R.

Атрибут SYSTEM

Атрибут SYSTEM определяет грамматику аутентификации для пользователя. Процесс аутентификации пользователя в системе зависит от выбранной грамматики. С помощью грамматики можно описать сразу несколько методов аутентификации или выбрать один метод из доступных вариантов.

Атрибут SYSTEM позволяет администратору определить узкоспециализированный метод или методы, которым пользователь должен соответствовать, чтобы пройти аутентификацию для доступа в систему.

Если значение атрибута SYSTEM равно "files", то пользователь аутентифицируется с помощью локальной аутентификации. Когда значение этого атрибута равно "compat", пользователь может пройти локальную аутентификацию или сетевую аутентификацию на основе NIS или LDAP.

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

  • когда значение атрибута SYSTEM равно "compat" AND "LDAP":
    • пользователь должен пройти аутентификацию с помощью методов compat и LDAP. Если оба метода сигнализируют об успешной аутентификации, то пользователю разрешается войти в систему.
    • Если пользователь не будет аутентифицирован хотя бы одним модулем, то ему отказывают в доступе в систему.
  • когда значение атрибута SYSTEM равно "compat AND (LDAP[UNAVAIL] OR LDAP[SUCCESS])":
    • пользователь обязан пройти аутентификацию с помощью модуля compat. Если пользователю также удаётся успешно аутентифицироваться в LDAP или служба LDAP недоступна, пользователю разрешается войти в систему.

Атрибуты SYSTEM и registry хранятся в файле /etc/security/user. Во время входа пользователя в систему значения этих атрибутов извлекаются из данного файла. Для удалённых пользователей, например, хранящихся в LDAP, значение атрибута SYSTEM также извлекается из файла /etc/security/user.

Значение атрибута SYSTEM для пользователя можно установить с помощью команды chuser, как показано ниже:

chuser SYSTEM=<load module name> <username>

Для удалённых пользователей в команде chuser используется опция -R.

Обратите внимание, что такие загружаемые модули, как LDAP, Kerberos, PAM и NIS, должны быть определены в файле /usr/lib/security/methods.cfg или в файле /etc/methods.cfg. Если определение модуля отсутствует в файле methods.cfg, то грамматика, в которой используется этот модуль, не позволит пользователям войти в систему.

Атрибут authcontroldomain

В версиях AIX 6.1 Tl07 и 71 Tl01 был представлен альтернативный атрибут для управления аутентификацией - "authcontroldomain". Когда этот атрибут установлен, значения атрибутов SYSTEM и registry хранятся и считываются из базы данных. Но для локальных пользователей значения атрибутов SYSTEM и registry хранятся в файле /etc/security/user независимо от значения атрибута authcontroldomain.

Значением атрибута authcontroldomain должно быть имя загружаемого модуля, объявленного в файле /etc/methods.cfg или /usr/lib/security/methods.cfg. Этот атрибут должен быть объявлен в файле в разделе usw.

Значение атрибута authcontroldomain для всей системы можно установить с помощью команды chsec, как показано ниже:

chsec -f /etc/security/login.cfg -s usw -a authcontroldomain=LDAP

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

Модули аутентификации AIX

ОС AIX включается в себя следующие модули для выполнения аутентификации:

  • Network Information Service (NIS)
  • Light weight Directory Access protocol (LDAP)
  • Kerberos
  • Pluggable Authentication Module (PAM)

Network Information Service (NIS)

Сетевая информационная служба (NIS), иногда называемая также службой имён (Name Service), функционирует наподобие справочника-каталога "Жёлтые страницы". Она построена на архитектуре клиент-сервер; информация хранится на NIS-серверах в наборах файлов, которые называются отображениями (maps). Эти отображения содержат информацию о пользователях, группах и информацию о хостах. NIS-клиенты используют эти файлы, чтобы получать от NIS-сервера информацию о пользователях, группах или хостах. В разделе "Ресурсы" приведена дополнительная информация по конфигурированию NIS-сервера и NIS-клиентов.

Основным преимуществом при использовании NIS является удобное управление данными, хранящимися на NIS-сервере.

К недостаткам NIS можно отнести следующие особенности:

  • NIS хранит информацию в неструктурированной файловой системе;
  • NIS не подходит для управления сетевой инфраструктурой с большим количеством хостов;
  • NIS-серверы должны обновлять файлы с отображениями при каждом изменении информации о пользователях, группах или хостах;
  • вся информация передаётся по сети открытым текстом без шифрования.

Lightweight Directory Access Protocol (LDAP)

Облегчённый протокол службы каталогов (LDAP) основан на архитектуре клиент-сервер для распределённых вычислений. Он предоставляет целостный набор служб для аутентификации и авторизации, необходимых для построения универсальной системы контроля доступа. LDAP хранит информацию в древовидном каталоге (directory information tree) на LDAP-сервере. Протокол, используемый для обмена информацией с LDAP-сервером, основан на TCP/IP: LDAP-клиенты подключаются к серверу с помощью своих учётных записей в каталоге LDAP.

Модуль безопасности, использующий LDAP, реализован в AIX начиная с версии 4.3. Этот модуль полностью интегрирован с ОС AIX и выступает в качестве интерфейса между демоном LDAP-клиента и библиотекой AIX Security.

AIX LDAP-клиент поддерживает схемы AIX, rfc2307, rfc2307aix и SFU, и поэтому в гетерогенной среде может быть сконфигурирован для работы с любым LDAP-сервером.

Установка и настройка LDAP

Для настройки LDAP-сервера или клиента на OC AIX используется команда mksecldap. В разделе "Ресурсы" имеется раздел, посвящённый настройке серверов и клиентов LDAP.

Пакеты с файлами, необходимыми для работы LDAP, поставляются с основным дистрибутивом AIX. Названия этих пакетов (filesets) начинаются с idsldap. В AIX 5.3 также имеются пакеты для работы с LDAP 5.2; названия этих пакетов начинаются с ldap.

Преимущества LDAP

  • LDAP-сервер хранит информацию в формате дерева в базе данных, поэтому LDAP-клиенты могут легко получить к ней доступ;
  • протокол LDAP работает с помощью TCP/IP и SSL;
  • при использовании LDAP можно легко перенести базу с одного сервера на другой;
  • этот протокол подходит для управления сетями с масштабной инфраструктурой.

Недостатки LDAP

  • При использовании LDAP информация передаётся по сети открытым текстом.
  • LDAP не подходит для динамических транзакций, например, банковских операций.

Kerberos

Kerberos – это название сетевого протокола для аутентификации компьютеров, который позволяет участникам безопасно подтвердить друг другу свою подлинность при общении в незащищённой сети. Kerberos основан на симметричной криптографии и требует наличия посредника, которому доверяют оба участника.

Модуль Kerberos (KRB5), обеспечивающий аутентификацию пользователей, присутствует в AIX начиная с версии 4.3. Этот модуль может использоваться только для аутентификации и поэтому должен интегрироваться с другими модулями, отвечающими за работу c БД.

ОС AIX предлагает пакет bos.rte.security, который по умолчанию устанавливается в систему и содержит команды для настройки Kerberos-клиента и Kerberos-сервера.

Для настройки Kerberos-сервера на AIX-системе необходимо выполнить следующие действия:

  • с помощью команды smit install установить в систему пакет krb5.server.rte (этот пакет можно найти на установочном диске AIX);
  • выполнить настройку Kerberos-сервера с помощью команды mkkrb5srv.

Для настройки Kerberos-сервера запустите следующую команду:

 mkkrb5srv -r <realm name> -d <domain name> -a <admin user>/<admin
    user's passwd>

Эта команда создаст файлы /etc/krb5/krb5.conf, /var/krb5/krb5kdc/kdc.conf и /etc/krb5/ krb5_cfg_type.

Файл /etc/krb5/krb5.conf содержит подробную информацию о Kerberos-сервере и список алгоритмов шифрования. В файле /etc/krb5/krb5_cfg_type задаётся тип системы: master (основной), slave (подчинённый), client (клиент).

В файле /var/krb5/krb5kdc/kdc.conf определяются значения переменных kdc_ports, kadmind_port, max_life, max_renewable_life, master_key_type и supported_enctypes. В этом файле также задаются пути для переменных database_name, admin_keytab, acl_file, dict_file и key_stash_file.

Команда mkkrb5srv предлагает пользователю ввести пароль для учётной записи основного (master) администратора. Эта команда запускает в системе двух демонов: krb5kdc и kadmind. Демон kadmind используется как основной инструмент для администрирования и управления Kerberos-сервером.

Для конфигурации Kerberos-клиента на AIX-системе необходимо выполнить следующие действия:

  • с помощью команды smit install установить пакеты krb5.client.rte и krb5.toolkit.adt;
  • выполнить настройку Kerberos-клиента с помощью команды mkrkb5clnt.

Для настройки Kerberos-клиента запустите следующую команду:

 mkkrb5clnt -r <realm name> -c <KDC server> -s <Kerberos server> -a <admin user 
    /admin user's passwd> -d <domain name> 
-i <database name> -A -K -T

Эта команда создаст файл /etc/krb5/krb5.conf, содержащий информацию об имени защищаемой области (realm name), сервере KDC (KDC server), Kerberos-сервере (Kerberos server), параметрах учётной записи администратора Kerberos-сервера (admin user / admin user's passwd) и имени домена (domain name). Значения всех этих параметров нужно указать при вызове команды.

Стоит отметить, что Kerberos-клиент можно настроить для работы с несколькими защищаемыми областями и KDC-серверами. В разделе "Ресурсы" приведена ссылка на материал, описывающий процесс настройки Kerberos-клиента для работы с несколькими Kerberos-областями.

Преимущества Kerberos:

  • Kerberos можно использовать в незащищённой среде;
  • Kerberos использует алгоритмы симметричного шифрования;
  • Kerberos передаёт информацию по сети в зашифрованном виде.

Недостатки Kerberos:

  • возможности Kerberos ограничены аутентификацией, поэтому при проведении идентификации он зависит от других модулей;
  • механизм аутентификации, используемый в Kerberos, требует наличия доверенного посредника, и если посредник будет скомпрометирован, возникнут проблемы;
  • Похитивший токен службы Kerberos (TGT - kerberos service ticket) злоумышленник сможет использовать этот токен в сети до тех пор, пока не истёчет срок его действия.

Подключаемые модули аутентификации

Подключаемые модули аутентификации (PAM - pluggable authentication module) предоставляют администраторам интерфейс для интеграции механизма аутентификации, встроенного в систему AIX, с любым сервисом для выполнения аутентификации. Поддержка PAM доступна в AIX, начиная с версии 5.1, и полностью реализована в версии AIX 5.3, в которой все существующие службы были интегрированы с PAM. В разделе "Ресурсы" приведены ссылки на материалы по конфигурацию и активации поддержки PAM и PAM-служб в системе AIX.

Преимущества PAM:

  • PAM-модули могут быть интегрированы со всеми сервисами для выполнения аутентификации;
  • один и тот же механизм выполнения аутентификации может использоваться в различных приложениях.

Недостатки PAM

  • PAM – это модуль для выполнения аутентификации, поэтому он не может обеспечить выполнение идентификации.

Загружаемые алгоритмы для паролей

В версии ОС AIX 5.3 Tl07 и последующих появилась возможность настраивать пароли пользователей с использованием различным алгоритмов шифрования. Это позволило устанавливать для пользователей пароли длиной до 255 символов. По умолчанию пароль пользователя шифруется с помощью алгоритма DES.

Начиная с версий AIX 5.3 Tl07 и AIX 6.1 для шифрования паролей стали доступны следующие алгоритмы:

  • MD5
  • SHA
    • SHA1
    • SHA 256
    • SHA 512
  • Blowfish

Алгоритмы для шифрования паролей определяются в файле /etc/security/pwdalg.cfg. Выбранные алгоритмы необходимо внести в раздел usw в файле /etc/security/login.cfg. Используйте следующую команду для установки выбранного алгоритма для шифрования паролей.

 chsec -f /etc/security/login.cfg -s usw -a pwd_algorithm=<algorithm name>

В разделе "Ресурсы" приведена дополнительная информация об алгоритмах хеширования паролей.

Отметим, что после того, как вы установите в системе новый алгоритм для шифрования паролей, пароль пользователя будет зашифрован этим алгоритмом только при следующей смене пароля.

Поддержка длинных имён учетных записей пользователей

В AIX 5.3 длина имени для учетной записи отдельного пользователя или группы пользователей была увеличена с 8 до 255 символов. Чтобы узнать максимальную длину имени пользователя в вашей системе, используйте показанную ниже команду:

 lsattr -El sys0 -a max_logname

Чтобы изменить максимальную длину для имени учётной записи пользователя или группы, используйте следующую команду,:

 chdev -l sys0 -a max_logname=255

Это изменение вступит в силу после следующей перезагрузки системы.

Заключение

Защитные механизмы аутентификации в ОС AIX действуют на уровне пользователей. Важную роль в процессе аутентификации пользователя играют такие атрибуты учётной записи пользователя в AIX, как registry и SYSTEM. Загружаемые модули безопасности предоставляют сервисы для аутентификации и идентификации пользователей и групп.

Ресурсы

Научиться

  • Security authentication mechanism in AIX: оригинал статьи (EN).
  • AIX Security Guide (EN): документ, содержащий подробную информацию о модулях для выполнения аутентификации в ОС AIX.
  • LDAP configuration management and troubleshooting on AIX (EN) (developerWorks, май 2007 г.): обзорная статья о настройке и администрировании LDAP-сервера.
  • AIX pluggable authentication module (EN) (developerWorks, июль 2011 г.): статья с обзором встраиваемых модулей и служб для выполнения аутентификации.
  • Network information Service (EN) (developerWorks, ноябрь 2007 г.): статья с пошаговой инструкцией по конфигурации NIS-сервера и NIS-клиента.
  • Configuring an AIX client with multiple Kerberos realms (EN) (developerWorks, октябрь 2009 г.): статья с подробным описанием процесса настройки Kerberos-клиента для одновременной работы с несколькими защищаемыми областями.
  • Loadable Password Algorithms (EN): статья с дополнительной информацией об алгоритмах для хеширования паролей, доступных в ОС AIX.

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


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


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

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

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

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

Выберите имя, которое будет отображаться на экране



При первом входе в 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=928836
ArticleTitle=Способы аутентификации в AIX
publish-date=05062013