Kerberos инструкция по установке

Руководство по установке

Для установки пакета Kerberos V5 выполните следующие действия:

  • Если вам нужно программное обеспечение клиента, установите набор файлов bos.security.krb5.client
  • Если вам нужно программное обеспечение сервера, установите набор файлов bos.security.krb5.server
  • Если вам нужен полный пакет, установите bos.security.krb5

Во избежание конфликтов имен между командами DCE и Kerberos (т.е. между командами klist , kinit и kdestroy ), команды Kerberos устанавливаются в каталогах /usr/krb5/bin и /usr/krb5/sbin . Вы можете добавить эти каталоги в переменную PATH. Если вы этого не сделаете, то вам придется вводить полные пути к командам Kerberos.

Примечания:

  1. Устанавливать программное обеспечение серверов DCE и Kerberos в одной физической системе не рекомендуется. Если же это необходимо, то вы должны изменить стандартные номера портов Internet по умолчанию либо для клиентов и сервера DCE, либо для клиентов и сервера Kerberos. В обоих случаях такое изменение может повлиять на взаимодействие с уже установленными средствами DCE и Kerberos.
  2. В Kerberos V5 по умолчанию настроено отклонение запросов на выдачу паспортов, если они поступают от хостов, системное время которых отличается от времени сервера на больший интервал, чем допускается Контроллером домена Kerberos (KDC). По умолчанию отклонение не должно превышать 300 секунд (пяти минут). В Kerberos обязательна синхронизация времени сервера и клиентов в той или иной форме.

Для синхронизации времени рекомендуется применять демон xntpd или timed . Например, вы можете настроить синхронизацию с помощью демона timed следующим образом:


    Настройте сервер KDC в качестве сервера времени, запустив демон timed .

Запустите демон timed на каждом клиенте Kerberos.

Для настройки серверов KDC и kadmin Kerberos запустите команду mkkrb5srv . Для обеспечения взаимодействия пакета Kerberos с существующими средствами защиты выполните команду mkkrb5srv со следующими параметрами:

Для настройки пакета Kerberos в области UD3A на сервере sundial в домене austin.ibm.com введите следующую команду:

Примечание: Запуск kadmind и krb5kdc из каталога /etc/inittab произойдет спустя несколько минут.

Команда выполняет следующую последовательность операций:

  1. Создает файл /etc/krb5/krb5.conf . Значения области, административного сервера Kerberos и имени домена будут взяты из командной строки. Кроме того, команда обновляет пути к файлам протокола default_keytab_name , kdc и kadmin .
  2. Создает файл /var/krb5/krb5kdc/kdc.conf . Эта команда задает значение для kdc_ports , а также пути к имени базы данных, admin_keytab , acl_file , dict_file , key_stash_file и значения для kadmin_port , max_life , max_renewable_life , master_key_type и supported_enctypes .
  3. Создает файл /var/krb5/krb5kdc/kadm5.acl . Команда настраивает управлением доступом для субъектов администратора, пользователя root и хоста.
  4. Создает базу данных и один субъект администратора. Вам будет предложено задать главный ключ Kerberos, а также задать имя и пароль для идентификации субъекта администратора Kerberos. Важно, чтобы главный ключ и имя и пароль субъекта администратора хранились в надежном месте на случай восстановления после сбоя.

По окончании установки обычные пользователи не смогут не заметить, что в системе применяется технология Kerberos. Несмотря на то, что процесс входа в систему остался без изменений, существует побочный эффект, заключающийся в том, что теперь с процессами пользователей будут связаны начальные паспорта (TGT) Kerberos. Для настройки Kerberos в качестве основного средства идентификации пользователей в системах выполните команду mkkrb5clnt со следующими параметрами:

Эта команда выполняет следующие действия:

Создает файл /etc/krb5/krb5.conf . Значения области, административного сервера Kerberos и имени домена будут взяты из командной строки. Кроме того, команда обновляет пути к файлам протокола default_keytab_name , kdc и kadmin .

Так как задан флаг -i , команда настраивает полностью интегрированный вход в систему. Значение расположение_файлов указывает расположение субъектов Kerberos.

Так как задан флаг -K , команда настраивает Kerberos в качестве схемы идентификации по умолчанию. Это позволяет идентифицировать пользователей с помощью Kerberos в момент их входа в систему.

Флаг -A добавляет в базу данных Kerberos инструкцию о назначении пользователя root администратором Kerberos.

Флаг -T указывает, что следует принять основанный на TGT паспорт администратора сервера.

При установке системы в домене DNS, отличном от домена KDC, необходимо выполнить следующие дополнительные действия:

  1. Добавьте новую запись после [domain realm] в файле /etc/krb5/krb5.conf .
  2. Отобразите другой домен в свою область.

Например, если вы хотите добавить хост trojan.pok.ibm.com в свою область UD3A , добавьте в файл /etc/krb5/krb5.conf следующую запись:

Ниже перечислены ошибки, которые могут произойти при выполнении команды mkkrb5srv :

  • Если файл krb5.conf , kdc.conf или kadm5.acl уже существует, то команда оставит значения без изменения. Будет выдано предупреждающее сообщение о том, что файл уже существует. Любые значения конфигурации можно изменить, отредактировав файл krb5.conf , kdc.conf или kadm5.acl .
  • Если вы ошибетесь при вводе и база данных создана не будет, удалите созданные файлы конфигурации и выполните команду повторно.
  • Если база данных несовместима со значениями конфигурации, удалите базу данных в /var/krb5/krb5kdc/* и выполните команду повторно.
  • Убедитесь, что в вашей системе запущены демоны Make sure kadmind и krb5kdc . Для этого воспользуйтесь командой ps . Если запустить демоны не удается, просмотрите файл протокола.

Ниже перечислены ошибки, которые могут произойти при выполнении команды mkkrb5clnt :

  • Неправильные значения в файле krb5.conf можно исправить, отредактировав файл /etc/krb5/krb5.conf .
  • Неправильные значения для флага -i можно исправить, отредактировав файл /usr/lib/security/methods.cfg .

Команда mkkrb5srv создает следующие файлы:

  • /etc/krb5/krb5.conf
  • /var/krb5/krb5kdc/kadm5.acl
  • /var/krb5/krb5kdc/kdc.conf

Команда mkkrb5clnt создает следующие файлы:

  • /etc/krb5/krb5.conf

Ниже приведен пример вывода при выполнении команды mkkrb5srv :

Ниже приведен пример вывода при выполнении команды mkkrb5clnt :

Источник

Настройка Kerberos-аутентификации с использованием смарт-карт

В продолжение давней темы про использование двухфакторной аутентификации в ОС GNU/Linux позвольте рассказать про схему работы и настройку аутентификации с помощью Kerberos. В этой статье мы рассмотрим процесс настройки MIT Kerberos для аутентификации пользователей по сертификатам и ключевым парам, находящимся на USB-токене. Также материалы, изложенные в статье, можно использовать для настройки аутентификации в домене Windows.

Краткое введение

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

Стоит отметить, что Kerberos в первую очередь является протоколом, а не конкретной системой аутентификации. Его реализации используются в различных операционных системах, в том числе и в Windows, как метод аутентификации пользователей в домене. Существует несколько open source реализаций протокола Kerberos, например оригинальная MIT Kerberos и Heimdal. Такой зоопарк возник из-за ограничений США на экспорт криптографических средств защиты информации, на сегодня эта ситуация вокруг MIT Kerberos уже улеглась. В статье мы рассмотрим процесс настройки для MIT Kerberos V5.

Терминология Kerberos

  • Билет (ticket) – временные данные, выдаваемые клиенту для аутентификации на сервере, на котором располагается необходимая служба.
  • Клиент (client) – некая сущность в сети (пользователь, хост или сервис), которая может получить билет от Kerberos.
  • Центр выдачи ключей (key distribution center, KDC) – сервис, выдающий билеты Kerberos.
  • Область (realm) – сеть, используемая Kerberos, состоящая из серверов KDC и множества клиентов. Имя realm регистрозависимо, обычно пишется в верхнем регистре и совпадает с именем домена.
  • Принципал (principal) – уникальное имя для клиента, для которого разрешается аутентификация в Kerberos. Записывается в виде root[/instance]@REALM.

Файлы настроек Kerberos

На сервере:
  • /etc/krb5kdc/kdc.conf — настройки KDC
На клиенте и сервере:
  • /etc/kbr5.conf — настройки сервера аутентификации (описание realms, доменных имен и других настроек)

Настройка рабочего окружения

Для начала необходимо развернуть среду, в которой будет производиться аутентификация. Наиболее просто это сделать, взяв две виртуальные машины, находящиеся в одной подсети. Достаточно установить на одну виртуальную машину какую-нибудь Ubuntu (это будет наш сервер), а затем клонировать ее и получить клиента. При написании статьи я воспользовался свежей Ubuntu 12.10 (x86) и виртуальной машиной от VMWare. Чтобы виртуальным машинам было удобнее видеть друг друга по сети, стоит переключить сетевые карты в Bridged-режим.
Важно! Следите за тем, чтобы время на клиенте и сервере было синхронизировано, это необходимо для корректной работы Kerberos.

Настройка сети

Клиенты Kerberos ищут свои сервера по доменным именам, поэтому необходимо настроить DNS и убедиться, что имена серверов успешно разрешаются. В нашем примере достаточно занести доменное имя сервера в /etc/hosts, что я и сделал. Схема «сети» изображена ниже.

Установка необходимых пакетов

На сервере нам потребуются:
  • krb5-kdc – сервис KDC
  • krb5-admin-server – административный сервер Kerberos (он ведет контроль учетных записей пользователей)
  • krb5-pkinit – модуль расширения Kerberos для аутентификации по сертификатам

На клиент надо поставить следующие пакеты:
  • krb5-user – базовый набор утилит для работы клиентской аутентификации
  • krb5-config – файлы настроек Kerberos
  • krb5-pkinit
  • libpam-krb5 – модуль PAM для использования Kerberos-аутентификации
  • pcscd, opensc, libengine-pkcs11-openssl – пакеты, необходимые для работы с токенами

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

  • Default realm: AKTIV-TEST.RU
  • Имена серверов (admin server и KDC): aktiv-test.ru (он же прописан в /etc/hosts на клиенте)
  • Пользователь: testuser@AKTIV-TEST.RU

Настройка Kerberos

Базовые настройки

Настройка аутентификации по открытому ключу

На сервере:

Создадим ключевую пару и сертификат нашего «УЦ». Здесь мы сгененируем ключ УЦ и создадим самоподписанный сертификат с помощью openssl. В реальном мире ключ естественно надо надежно защитить от попадания в чужие руки.
Создадим ключевую пару для KDC, заявку на сертификат и выпишем его сами себе.
Здесь нам потребуется специальный файл расширений OpenSSL (pkinit_extensions), в котором будут указаны дополнительные поля сертификатов, используемых в Kerberos. В частности, мы зададим:

  • Extended Key Usage (EKU) – идентификатор (OID), говорящий о том, как планируется использовать сертификат
  • otherName – поле, задающее нашего принципала, для которого выписывается сертификат

После этого перенесем следующие файлы в /var/lib/krb5kdc/:

  • kdc.pem
  • kdckey.pem
  • cacert.pem

На сервере отредактируем настройки Kerberos (файл /etc/krb5kdc/kdc.conf) для использования ключей и сертификатов сервера и УЦ:
Далее на сервере необходимо включить предварительную аутентификацию для нашего пользователя.

Дальнейшие действия будем выполнять на клиенте

Настройка PAM-аутентификации с использованием Kerberos

Ранее при настройке клиентской машины мы поставили пакет libpam-krb5. Он поможет нам выполнить аутентификацию в Kerberos при входе в систему, а также в приложениях, использующих системную аутентификацию (например login, lightdm и проч.). Для подключения модуля PAM достаточно выполнить команду
и выбрать в диалоге необходимые модули аутентификации. Для более тонкой настройки можно заглянуть в файл /etc/pam.d/common-auth и отредактировать его по желанию. Структуру файла я описывал в предыдущей статье.

Заключение

Применение протокола Kerberos для централизованной аутентификации в связке с централизованным созданием хранением и раздачей учетных записей (например, посредством каталога на базе OpenLDAP) позволяет создать «домен UNIX», полностью состоящий из машин под управлением свободного программного обеспечения. Такое решение может применяться в корпоративном секторе, а аутентификация по смарт-картам будет приятным бонусом как для администраторов, так и для пользователей сети компании.

Источник

Kerberos инструкция по установке

Центральной частью схемы аутентификации Kerberos является третья доверенная сторона — Key Distribution Center (KDC), которая является централизованным хранилищем информации о пользователях. Перед разворачиванием Kerberos, должен быть выбран сервер, который будет выполнять роль KDC. Физическая и сетевая безопасность критичны для этого сервера, так как его компрометация ведет к компрометации всего realm.

Выбор хорошего имени для realm так же важен. По правилам, имя realm это доменное имя сайта в верхнем регистре. Например, для сайта или доменной зоны example.com рекомендуется выбрать EXAMPLE.COM в качестве имени realm.

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

Host Names

Каждый сервер внутри Kerberos realm должен иметь Fully Qualified Domain Name (FQDN).

Kerberos так же ожидает, что FQDN сервера является reverse-resolvable. Если выяснение доменного имени по IP недоступно, то установите значение переменной rdns в значение false на клиентах в файле krb5.conf.

Active Directory сильно зависит от DNS, поэтому весьма вероятно что ваш Active Directory Domain Controller уже имеет роль DNS. В этом случае убедитесь в том, что каждый сервер имеет свое FQDN перед выполнением тестов, описанных ниже в этом разделе.

Если сервер уже имеет назначенное FQDN, проверьте корректность обнаружения forward и reverse выполнив на клиенте следующие команды:

Если вы используете Astra Linux (или другой дистрибутив), то для установки программы nslookup, вам необходимо установить пакет dnsutils.

Вы можете воспользоваться Synaptic Package Manager или выполнить из командной строки $ apt-get install dnsutils

Вывод первой команды должен содержать IP адрес сервера. Вывод второй команды должен содержать FQDN сервера.

Если у сервера нет назначенного FQDN и сервис DNS не доступен, то вы можете отредактировать локальные файлы hosts (обычно они находятся в /etc) на сервере добавив туда следующую строку:

А на каждом клиенте добавить строку

Где IP-address — это IP адрес сервера. В нашем примере это будет 10.0.0.1.

После этого проверьте работу локальных DNS имен используя команду nslookup как показано выше.

Наличие соединения

Для проверки соединения между хостами, выполните ping для каждого хоста по его FQDN:

Вывод команды ping показывает успешное определение IP адреса по FQDN, и простой ответ от сервера. Ответ от сервера является подтверждением того, что между хостом и сервером есть соединение.

Проблемы при работе ping указывают на проблемы настройки сервера или клиента.

Синхронизация времени

Протокол Kerberos требует синхронизации времени сервера и клиента: если системные часы клиентов и сервера расходятся, то аутентификация не будет выполнена. Простейший способ синхронизировать системные часы — использование Network Time Protocol (NTP) сервера. Некоторый линуксы, например, Astra Linux по-умолчанию синхронизирует время с российскими NTP-серверами. Для настройки собственного NTP-сервера смотрите документацию на ваш дистрибутив (например, UbuntuTime для Ubuntu).

Брандмауэры

Так же как и все остальные сетевые службы, Kerberos должен иметь возможность проходить через любые брандмауэры между хостами. Инструкция Kerberos System Administration Manual имеет детальное описание портов, которые необходимо открыть при настройке брандмауэров.

Проверка модели устройства

  1. Подключите USB-токен к компьютеру.
  2. Для определения названия модели USB-токена откройте Терминал и введите команду:

В результате в окне Терминала отобразится название модели USB-токена:

Убедитесь, что используете: Aktiv Rutoken ECP

Источник

Читайте также:  Должностные инструкции машиниста технологических установок
Поделиться с друзьями
Инструкции360