Информационные технологииStfw.Ru 🔍

Настройка клиентов Kerberos

🕛 19.06.2009, 17:01
Для того чтобы пользователь мог работать с системой Kerberos, надо в первую очередь создать принципала для этого пользователя. Принципалы пользователей имеют вид имя_ п оль зователя%амя_ о бла слш,и для их создания применяются утилиты kadmi n и kadmin. local. После создания принципала пользователь может обращаться к серверам с помощью клиентов, ориентированных на работу в системе Kerberos. Вам, как системному администратору, необходимо установить соответствующие клиентские программы. Пользователям также потребуются утилиты, предназначенные для получения TGT и управления ими. Если вы захотите, чтобы средства Kerberos использовались для управления регистрацией на отдельных рабочих станциях, вам надо модифицировать обычные инструменты регистрации.

Обеспечение доступа к серверам Kerberos

На первый взгляд может показаться, что для обращения к серверам приложений Kerberos достаточно иметь соответствующие клиентские программы. На самом деле ситуация выглядит несколько сложнее. Прежде всего, в процессе обмена участвуют специальные утилиты: пользователь должен иметь возможность получить TGT и при необходимости изменить пароль Kerberos. Кроме того, к самим клиент-программам Kerberos предъявляются специальные требования; без поддержки специфических возможностей клиенты Kerberos превращаются в обычные клиентские программы, не обеспечивающие повышенный уровень защиты.
Использование сетевых утилит Kerberos
В состав пакета Kerberos входят утилиты, предназначенные для управления паролями и билетами Kerberos. Наиболее важные из них перечислены ниже.
- kinit. Эта программа получаетTGT. Ее действие можно представить себе как "регистрацию" пользователя в области Kerberos; до запуска kinit воспользоваться клиентами Kerberos невозможно. При выполнении программа kinit обращается к KDC для получения TGT. Как было сказано в начале данной главы, TGT используется керберизованными приложениями для получения разрешения на пользование серверами приложений Kerberos. По умолчанию в качестве основы идентификатора принципала применяется имя пользователя; в этом же идентификаторе указывается имя области, принятое по умолчанию. Если вам необходимо, чтобы использовался другой идентификатор принципала, его надо указать при вызове программы. Соответствующая команда может иметь вид kinit minerva@PANGAEA.EDU. Программа kinit также поддерживает и другие опции. Подробную информацию о них можно получить, обратившись к страницам справочной системы, посвященным kinit.
- klist. Данная программа выводит список билетов (в том числеТСТ), выданных на текущий момент, а также информацию о сроке их действия. Если программа kinit еще не запущена, klist не выведет сведений ни об одном билете.
- kpasswd. Программа kpasswd не имеет отношения к поддержке конкретных сеансов Kerberos; она позволяет изменять пароль принципала в базе данных Kerberos. Эта программа по сути представляет собой аналог passwd. Для использования kpasswd необходимо иметь TGT.
- kdestroy. Данная программа удаляет все билеты из кэша пользователя. Обычно она вызывается перед окончанием сеанса работы в системе или в том случае, если пользователь твердо знает, что в ближайшем будущем он не будет работать с серверами Kerberos. Несмотря на то что билеты автоматически удаляются по истечении срока их действия, рекомендуется после окончания работы с билетами вызывать программу kdestroy. Это снизит вероятность того, что злоумышленник сможет обнаружить недостатки в системе защиты и использовать их в своих целях.
СОВЕТ Желательно включать вызов kdestroy в состав . logout, . xinitrc и других ^f стандартных файлов, которые выполняются по окончании сеанса работы пользователя в системе. При использовании модулей РАМ (они будут рассматриваться далее в этой главе) kdestroy вызывается автоматически.

Как используются перечисленные выше утилиты на практике? В большинстве случаев программы kinit и kdestroy вызываются соответственно в начале и в конце сеанса работы. Чтобы определить текущее состояние билетов, можно использовать утилиту klist. Рассмотрим следующий пример:
$ kinit
Password for fluffy@THREEROOMCO.COM:
$ klist
Ticket cache: FILE:/tmp/krb5cc_500
Default principal: fluffy@THREERO0MCO.COM
Valid starting Expires Service principal
10/09/02 14:38:57 10/10/02 00:38:57 krbtgt/THREEROOMCO.COM@\
THREER00MC0.COM
Kerberos 4 ticket cache: /tmp/tkt500
klist: You have no tickets cached
$ kpasswd
Password for fluffy@THREER00MC0.COM:
Enter new password:
Enter it again:
Password changed.
$ kdestroy
$ klist
klist: No credentials cache file found (ticket cache
FILE:/tmp/krb5cc_500)
Kerberos 4 ticket cache: /tmp/tkt500 klist: You have no tickets cached
Программа kinit, вызываемая в начале работы, получает TGT, который затем отображается при вызове утилиты klist как krbtgt. Программа klist выводит также время выдачи билета и окончания его действия; в данном случае билет действителен в течение десяти часов (в зависимости от системы это значение может изменяться). Если вызвать klist после использования керберизованного клиента, данная утилита выведет сведения о другом билете. Для изменения пароля надо сначала указать текущий пароль, а затем дважды ввести новый. Как и при работе с kinit, символы, составляющие пароль, не отображаются на экране. После вызова kdestroy все билеты удаляются.
Использование керберизованных клиентов
Клиент-программы, ориентированные на работу с Kerberos, выполняются так же, как и их аналоги, не обеспечивающие дополнительную защиту. В большинстве случаев для вызова клиент-программы надо ввести ее имя и имя сервера, с которым необходимо установить соединение. Иногда для использования средств Kerberos приходится задавать некоторые параметры. Например, чтобы избавить пользователя от необходимости указывать имя и пароль при работе с клиентом telnet, этой программе надо предоставить дополнительные данные. Особенности вызова керберизованных клиентов описаны ниже.
- telnet. Программа telnet, ориентированная на работу с Kerberos, отличается от стандартной программы telnet лишь некоторыми опциями. Если вы вызовете программу с помощью команды telnet удаленный_узел, вам придется ввести пользовательское имя и пароль. Чтобы воспользоваться преимуществами однократной регистрации, вы должны задать опции -а (автоматическая регистрация) и -f (перенаправление билетов).
- rlogin. Стандартная программа rlogin может создавать серьезную угрозу безопасности системы (этот вопрос будет подробно рассмотрен в главе 13). Работая с керберизованной версией этой программы, можно воспользоваться средствами аутентификации Kerberos, для чего необходимо задать опцию -f. Результат получится приблизительно такой же, как при вызове telnet с опциями -а и -f.
- ftp. При вызове без дополнительных опций данная программа использует средства аутентификации Kerberos, но пользователю приходится подтверждать регистрационное имя (имя пользователя отображает программа, для подтверждения достаточно нажать клавишу <Enter>).
Программа ftp, поставляемая в составе пакета Kerberos, в процессе установления соединения отображает более подробную информацию, чем другие клиенты Kerberos. Если у вас возникли проблемы с установкой конфигурации Kerberos, эта информация поможет разрешить их.
- rsh. Данная утилита позволяет запускать на другом компьютере программы, выполняющиеся в текстовом режиме, без использования telnet, rlogin и других подобных средств. Как и при работе с прочими керберизованными инструментами, при вызове данной программы надо задавать опцию -f.
- rep. Стандартная программагер предназначена для передачи файлов; керберизо-ванная версия данного инструмента поддерживает средства аутентификации Kerberos.
- Прочие программы. Здесь рассмотрены лишь описания сетевых инструментов, поставляемых в составе стандартного пакета Kerberos V5. В настоящее время доступны другие керберизованные системы. Очевидно, что для работы с ними необходимо, чтобы средства Kerberos поддерживались как клиентами, так и серверами.

В справочной системе приведена дополнительная информация о керберизованных клиентских программах, в том числе сведения о различных опциях, которые задаются при их вызове. В особенности внимательно надо прочитать документацию на программы, не входящие в стандартный пакет поставки Kerberos. Некоторые из них обеспечивают минимальное взаимодействие с Kerberos (например, поддерживают аутентификацию, но не осуществляют кодирование), другие реализуют полный набор функций защиты. Говоря о средствах Kerberos, следует особо отметить кодирование данных, которое должно поддерживаться всеми стандартными клиентами Kerberos. Если при вызове такого клиента вы укажете в командной строке опцию -х, данные будут передаваться в зашифрованном виде. Эта возможность чрезвычайно полезна в том случае, если необходимо передавать важные данные по Internet или даже по локальной сети. Например, если вы собираетесь зарегистрироваться на компьютере с помощью средств Telnet, а затем использовать команду зидля выполнения административных функций, то, вероятно, захотите передавать данные в зашифрованном виде и защитить таким образом пароль пользователя root. Это позволит .сделать команда ksu, которая будет рассмотрена ниже в этой главе.
При установке системы Kerberos, поставляемой в виде исходных кодов, пользовательские программы по умолчанию размещаются в каталоге /usr/local/bin (инструменты, предназначенные для администрирования, располагаются в /usr/local/sbin). Некоторые пакеты, распространяемые в виде двоичных кодов, используют другие каталоги. Например, Kerberos для Red Hat помещает пользовательские программы в каталог /usr/kerberos/bin. Для того чтобы использовать керберизованные инструменты вместо стандартных программ, надо включить каталоги, в которых размещены эти инструменты, в состав строки, задаваемой в качестве значения переменной окружения PATH, и убедиться, что они находятся перед каталогами со стандартными программами. (Значение переменной окружения PATH обычно указывается в файле /etc/prof ile, а для пользователей, работающих с оболочкой Bash, - в файле . bashrc.
Применение Kerberos для регистрации пользователей
При обсуждении средств поддержки сеанса Kerberos предполагалось, что пользователь уже зарегистрирован в системе. Однако подобный подход крайне неудобен, так как пользователю приходится регистрироваться дважды: один раз в начале работы на компьютере, а второй раз при работе с серверами Kerberos (при запуске программы kinit). Решением этой проблемы могло бы быть использование программы, одновременно решающей обе задачи. В составе пакета Kerberos обычно поставляются два подобных инструмента: login. krb5 и ksu. Они предназначены для регистрации пользователя в текстовом режиме. Регистрацию можно было бы организовать и по-другому, модифицировав библиотеки Linux для работы с Kerberos. Такое решение сложнее в реализации, но обеспечивают большую гибкость.
ВНИМАНИЕ Рекомендуется перед использованием login. krb5 сначала проверить програм-f му kinit для основных учетных записей, в том числе для записи root. Если kinit не работает, не будет работать и login. krb5, следовательно, вам не удастся зарегистрироваться с консоли в текстовом режиме. Желательно также зарегистрироваться под именем root с одного из виртуальных терминалов. В случае, если у вас возникнут проблему с использованием login. krb5, вы сможете изменить конфигурацию программы. Аналогичному подходу необходимо следовать и при работе с другими инструментами регистрации.

Сетевые средства Linux   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉