Как настроить клиент FreeIPA в CentOS 7

Вступление

FreeIPA - это решение безопасности с открытым исходным кодом для Linux, которое обеспечивает управление учетными записями и централизованную аутентификацию, аналогично Microsoft Active Directory. FreeIPA построен на основе нескольких проектов с открытым исходным кодом, в том числе 389 Directory Server, MIT Kerberos и SSSD.

У FreeIPA есть клиенты для CentOS 7, Fedora и Ubuntu 14.04 / 16.04. Эти клиенты довольно просто добавляют машины в ваш домен IPA. Другие операционные системы могут аутентифицироваться на FreeIPA с использованием SSSD или LDAP.

В этом руководстве мы будем настраивать компьютер CentOS 7 для аутентификации на существующем сервере FreeIPA. Как только ваш клиент будет настроен, вы сможете управлять тем, какие пользователи и группы пользователей могут войти в систему. Кроме того, вы сможете указать, какие пользователи могут использовать + sudo +.

Предпосылки

Чтобы следовать этому уроку, вам понадобится:

  • Один сервер CentOS 7 с установленным программным обеспечением сервера FreeIPA, который вы можете настроить, следуя https://www.digitalocean.com/community/tutorials/how-to-set-up-centralized-linux-authentication-with-freeipa- on-centos-7 [это руководство FreeIPA по CentOS 7].

  • Другой сервер CentOS 7, который будет использоваться в качестве клиента FreeIPA, настроен следующим образом: this руководство по установке CentOS 7 , включая брандмауэр. Однако, поскольку мы будем использовать FreeIPA для управления пользователями, нет необходимости вручную добавлять пользователя sudo без полномочий root. Вы можете просто следовать этому уроку от имени * root *.

  • Следующие записи DNS настроены для вашего клиента IPA. Вы можете следовать thutorial этого имени хоста для получения подробной информации о том, как их добавить.

  • Запись A с вашим именем сервера (например, ++) указывает на IPv4-адрес вашего клиентского сервера.

  • Запись AAAA с именем вашего сервера, указывающим на IPv6-адрес вашего клиентского сервера, если вы хотите, чтобы ваш сервер был доступен через IPv6.

  • По желанию, текстовый редактор + nano + устанавливается вместе с + yum install nano +. CentOS поставляется с текстовым редактором + vi + по умолчанию, но + nano + может быть более удобным для пользователя.

В этом учебном пособии мы будем использовать + ipa-client.example.com + в качестве примера домена для вашего IPA-клиента и + ipa.example.com + для вашего IPA-сервера (в соответствии с обязательным учебным пособием).

Шаг 1 - Подготовка клиента IPA

Прежде чем мы начнем что-либо устанавливать, нам нужно сделать несколько вещей, чтобы убедиться, что ваш клиентский компьютер готов к запуску клиента FreeIPA. В частности, мы установим имя хоста сервера, обновим системные пакеты и проверим, распространяются ли записи DNS из предварительных условий.

Для начала имя хоста вашего клиента должно соответствовать вашему полному доменному имени (FQDN), чтобы клиент FreeIPA работал правильно. В этом уроке мы будем использовать ++ в качестве полного доменного имени.

Если это новый сервер, вы можете установить имя хоста при создании сервера.

Если у вас уже есть сервер, вы можете использовать команду + hostname +, как показано ниже. Обратите внимание, что вы должны быть * root *, чтобы изменить имя хоста существующей системы, потому что имя хоста является системным параметром и не может быть изменено обычными пользователями.

hostname

Если вы изменяете имя хоста вашего сервера с помощью команды + hostname +, неплохо также изменить его вручную в файле + / etc / hostname +.

nano /etc/hostname

В файле должна быть только одна строка с исходным именем хоста вашего сервера:

/ и т.д. / хосты

Измените его на полное FQDN вашего клиента.

/ и т.д. / хосты

Затем сохраните и закройте файл.

Как только имя хоста вашего сервера будет установлено правильно, обновите систему.

yum update

Наконец, нам нужно убедиться, что DNS-имена разрешаются правильно. Мы можем использовать команду + dig + для этого. CentOS 7 не поставляется с какими-либо утилитами DNS из коробки. Нам нужно установить их из пакета + bind-utils +.

yum install bind-utils

Сначала используйте + dig +, чтобы проверить запись A.

dig +short  A

Это должно вернуть ++.

Если у вас включен IPv6, вы можете проверить запись AAAA таким же образом.

dig +short  AAAA

Это должно вернуть ++.

Мы также можем проверить обратный поиск. Это проверяет, можем ли мы разрешить имя хоста с IP-адреса.

dig +short -x
dig +short -x

Они оба должны возвращать +. +

Теперь, когда сервер подготовлен, мы можем установить и настроить клиентский пакет FreeIPA.

Шаг 2 - Установка клиента FreeIPA

В CentOS 7 клиент FreeIPA включен в репозитории по умолчанию.

yum install freeipa-client

Затем запустите команду установки FreeIPA. Это запустит скрипт, который проведет вас через настройку FreeIPA для аутентификации на вашем сервере CentOS FreeIPA.

ipa-client-install --mkhomedir

Флаг + - mkhomedir + указывает FreeIPA создавать домашние каталоги для пользователей IPA при первом входе в систему на компьютере. Если вы не хотите такого поведения, вы можете опустить этот флаг.

Установщик сначала запросит у вас домен IPA. Он устанавливается при настройке сервера.

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

Provide the domain name of your IPA server (ex: example.com):

Затем вам нужно будет ввести доменное имя сервера IPA. Он должен совпадать с URL-адресом, который вы используете для доступа к веб-интерфейсу IPA. Если вы выполнили предварительные требования к руководству по серверу, оно будет таким же, как домен IPA.

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

Provide your IPA server name (ex: ipa.example.com):

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

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

Autodiscovery of servers for failover cannot work with this configuration.
If you proceed with the installation, services will be configured to always access the discovered server for all operations and will not fail over to other servers in case of failure.
Proceed with fixed values and no DNS discovery? [no]:

Убедитесь, что все параметры верны, и продолжайте.

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

Continue to configure the system with these values? [no]:

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

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

User authorized to enroll computers: admin

Наконец, введите пароль для вашего администратора IPA. Это было установлено во время настройки сервера FreeIPA.

После ввода пароля клиент FreeIPA настроит систему. Последняя строка вывода будет + Конфигурация клиента завершена. + Это указывает на успешную установку.

Теперь нам нужно убедиться, что наша система отображается в веб-интерфейсе IPA.

Шаг 3 - Проверка подлинности

Перейдите к своему веб-интерфейсу IPA, который является + https: // +. Войдите в веб-интерфейс с учетной записью администратора IPA, которую вы использовали ранее. Вы увидите следующий экран:

изображение: https: //assets.digitalocean.com/articles/freeipa-client/aqxSqYs.jpg [ipa login]

Перейдите на вкладку * Hosts *. Вы должны увидеть свой IPA-сервер в списке, а также клиент, который вы только что настроили. Нажмите на запись для вашего клиента IPA. Это приведет вас к обзору хоста.

На этом экране вы можете ввести информацию о клиентской машине, а также об управлении группами и ролями для машины.

изображение: https: //assets.digitalocean.com/articles/freeipa-client/WMAcK07.jpg [вид клиента]

Вы также можете попробовать войти в систему с IPA-пользователем с локального терминала.

ssh admin@

Вы войдете в свою машину как пользователь IPA. После успешного подключения вы можете выйти из этого соединения.

Пользователи IPA будут иметь базовый доступ, но sudo отключен. На следующем шаге мы включим sudo.

Шаг 4 - Включение и проверка правил sudo (необязательно)

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

FreeIPA позволяет вам указать, какие пользователи и группы пользователей могут запускать команды sudo на каких машинах. Также возможно ограничить команды, которые пользователь может запускать с помощью sudo, и пользователей, которых он может выдавать.

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

  1. В веб-интерфейсе IPA нажмите * Services *, а затем нажмите * sudo *. Должно появиться выпадающее меню.

  2. В раскрывающемся меню нажмите * sudo rules *, затем нажмите * add * и введите имя для правила в поле * Rule name *. Здесь мы будем использовать * admin *, потому что мы разрешаем sudo для группы администраторов.

  3. Далее нажмите * добавить и редактировать *. Это поднимет полный набор опций для правила.

  4. В разделе * Кто * и * Группы пользователей * нажмите * + добавить *. Выберите группу администраторов и щелкните стрелку, чтобы переместить ее с * Доступно * на * Перспективно *. Затем нажмите * Добавить *.

  5. В разделе * Доступ к этому хосту * выберите * Любой хост *. В разделе «Выполнить команды» выберите «Любая команда». В разделе * От кого * выберите * Любой * и * Любая группа *. Здесь вы можете ограничить эти машины, на которых включен sudo, команды, которые можно запускать с помощью sudo, и какие пользователи могут выдавать себя за другого.

  6. Наконец, прокрутите до верхней части страницы и нажмите * Сохранить *.

Ваше правило должно быть активным; однако для распространения может потребоваться некоторое время, и вам может потребоваться перезапустить службу + sshd, чтобы правила sudo вступили в силу. Для этого вы можете запустить + systemctl restart sshd.service на клиенте IPA.

Как только это будет сделано, давайте проверим, есть ли у нас доступ sudo на клиентском компьютере. С локального компьютера попробуйте войти на клиент с правами администратора IPA. Этот пользователь по умолчанию входит в группу администраторов.

ssh admin@

После входа попытайтесь запустить интерактивную подсказку sudo.

sudo -i

Приглашение должно измениться на + root @ ipa-client +. Вы можете просто набрать + exit +, чтобы вернуться к обычному приглашению.

Если вам отказано в доступе к sudo, вы можете перезагрузить компьютер и убедиться, что ваше правило sudo настроено правильно.

Заключение

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

FreeIPA - чрезвычайно универсальный инструмент аутентификации, и то, что вам нужно будет делать дальше, во многом зависит от того, как вы собираетесь его использовать. Для получения дополнительной информации на веб-сайте FreeIPA имеется list ресурсов документации.

Related