Как установить FreeIPA Identity Management System на Rocky Linux 9

FreeIPA — это решение для управления идентификацией с открытым исходным кодом для операционных систем Linux/Unix. Это проект upstream от RedHat Identity Management System, который предоставляет решения по аутентификации и авторизации для Linux/Unix систем.

FreeIPA построен на основе множества компонентов, включая сервер каталогов, DNS, Kerberos, PKI, Certmonger, NTP Server, пользовательский интерфейс веб-администрирования и т.д. Он обеспечивает централизованный источник учетных данных пользователей и контроль доступа. FreeIPA позволяет администраторам легко управлять идентификацией в централизованной среде и обеспечивает мониторинг пользователей, аутентификацию и контроль доступа.

В этом руководстве вы установите и настроите FreeIPA на сервере Rocky Linux 9. Вы установите серверные пакеты FreeIPA и настроите развертывание FreeIPA. Затем вы также настроите пользователя FreeIPA. В конце вы также узнаете, как установить и настроить клиент FreeIPA на хосте Rocky Linux и добавить его к серверу FreeIPA.

Предварительные условия

Чтобы завершить этот учебник, вы должны обладать следующими требованиями:

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

  • Два или более сервера Rocky Linux 9 — В этом руководстве вы используете два хоста Rocky Linux для сервера FreeIPA и клиента FreeIPA.
  • Пользователь, не являющийся пользователем root, с правами администратора sudo/root.
  • SELinux работает в разрешительный режим.

Для этой демонстрации мы будем использовать два сервера Rocky Linux 9 со следующими характеристиками:

Hostname    IP Address      Used as
--------------------------------------------
ipa         192.168.5.25    FreeIPA Server
client      192.168.5.80    FreeIPA Client

Когда эти требования готовы, можно приступать к установке FreeIPA.

Настройка FQDN и часового пояса

В этом руководстве вы сначала настроите FQDN (полное доменное имя) и часовой пояс по умолчанию на вашем сервере FreeIPA.

Введите следующее ‘hostnamectl‘, чтобы настроить fqdn в вашей системе. В этом примере сервер FreeIPA должен иметь fqdn ‘ipa.hwdomain.lan‘.

sudo hostnamectl set-hostname ipa.hwdomain.lan

Теперь откройте файл ‘/etc/hosts’ с помощью следующей команды редактора nano.

sudo nano /etc/hosts

Добавьте в файл следующую строку и не забудьте изменить имя хоста, fqdn и IP-адрес на имя вашего сервера FreeIPA.

# ip - fqdn - hostname
192.168.5.25    ipa.hwdomain.lan    ipa

Сохраните и закройте файл после завершения работы.

Далее введите следующую команду, чтобы проверить fqdn вашей системы. Затем убедитесь, что fqdn разрешен в ваш внутренний IP-адрес.

sudo hostname -f
sudo ping -c3 ipa.hwdomain.lan

В случае успеха вы должны увидеть, что ваш fqdn указывает на внутренний IP-адрес вашего сервера. В этом примере fqdn ‘ipa.hwdomain.lan‘ указывает на IP-адрес ‘192.168.5.25‘.

настройка fqdn и файла hosts

Теперь введите следующее ‘timedatectl‘, чтобы установить часовой пояс по умолчанию для вашего сервера. В этом примере время для сервера FreeIPA будет ‘Европа/Стокгольм‘.

sudo timedatectl set-timezone Europe/Stockholm

Теперь введите следующую команду, чтобы установить ‘/etc/localtime‘ файл для вашего сервера в нужный часовой пояс. Список файлов часовых поясов хранится по адресу ‘/usr/share/timezone/‘ каталог, вы должны создать симлинк соответствующего файла часового пояса на ‘/etc/localtime’.

sudo unlink /etc/localtime
sudo ln -s /usr/share/timezone/Europe/Stockholm /etc/localtime

настройка часового пояса

Настроив fqdn и часовой пояс, настройте firewalld и откройте несколько портов, которые будет использовать сервер FreeIPA.

Настройка Firewalld

В дистрибутивах на базе RHEL по умолчанию установлено программное обеспечение брандмауэра — firewalld, которое автоматически запускается и работает. В этом разделе вы добавите в firewalld службу FreeIPA и некоторые дополнительные службы, такие как NTP и DNS.

Введите следующее ‘firewall-cmd‘ добавит FreeIPA, DNS и NTP в firewalld. Затем перезагрузите firewalld, чтобы применить изменения. Вывод ‘успех‘ подтверждает, что операция выполнена успешно.

sudo firewall-cmd --add-service={freeipa-ldap,freeipa-ldaps,dns,ntp,http,https,kerberos} --permanent
sudo firewall-cmd --reload

Далее выполните следующую команду, чтобы проверить состояние firewalld и список включенных служб и портов.

sudo firewall-cmd --list-all

Вы должны получить следующее сообщение — Служба FreeIPA, NTP и DNS добавлены в firewalld.

настройка firewalld

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

Установка и настройка сервера FreeIPA

В последней версии Rocky Linux 9 сервер FreeIPA доступен по умолчанию в репозитории ‘appstream’. Поэтому вам не нужно добавлять сторонний репозиторий для установки пакета сервера FreeIPA.

В этом разделе вы установите сервер FreeIPA, а затем настроите интерактивное развертывание FreeIPA с помощью командной строки ‘ipa-server-install’, которая предоставляется пакетом FreeIPA.

Введите следующую команду ‘dnf install’ для установки пакетов FreeIPA server, FreeIPA DNS и FreeIPA client. Когда появится запрос, введите y подтвердите и нажмите ENTER, чтобы продолжить.

sudo dnf install freeipa-server freeipa-server-dns freeipa-client

установка сервера freeipa

После установки FreeIPA введите следующую команду ‘ipa-server-install’, чтобы начать интерактивное развертывание вашего сервера FreeIPA. В этом примере вы используете параметр ‘—setup-dns’, который также установит DNS-сервер на ваш сервер FreeIPA.

sudo ipa-server-install --setup-dns

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

настройка сервера freeipa

Сначала ‘ipa-server-install’ проверит fqdn вашей системы и убедится, что fqdn вашего сервера указывает на правильный IP-адрес (через DNS или /etc/hosts). В этом примере fqdn ‘ipa.hwdomain.lan‘ настраиваются через /etc/hosts файл, так что вы готовы к работе.

Для доменного имени по умолчанию и имени области оба имени будут следовать за fqdn хоста. Таким образом, fqdn ‘ipa.hwdomain.lan‘ даст вам стандартное доменное имя ‘hwdomain.lan’ с именем сферы ‘HWDOMAIN.LAN‘.

Нажмите ENTER, чтобы использовать значения по умолчанию для имени хоста (fqdn), имени домена и имени области.

setup hostname realm fqdn

Теперь введите новый пароль для менеджера каталогов и пользователя IPA admin. Обязательно используйте более 8 символов и надежный пароль.

настройка пароля ipa admin и manager

Далее вам будет предложено настроить DNS-форвардеры по умолчанию для вашего сервера FreeIPA и настроить обратный DNS (rDNS) для IP-адреса вашего сервера FreeIPA. Нажмите ENTER, чтобы подтвердить конфигурацию по умолчанию для обеих настроек.

Оставьте значение по умолчанию для конфигурации доменного имени NetBIOS и нажмите ENTER. Для настроек NTP введите нет.

настройка resolver netbios ntp

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

подтвердить установку

После успешной установки сервера FreeIPA вы должны получить сообщение типа ‘Установка завершена — команда ipa-server-install выполнена успешно‘. Вы также увидите инструкцию для следующих шагов, а именно настройку брандмауэра для открытия некоторых портов и получение билета Kerberos для администратора.

установка завершена

На этом базовая настройка сервера FreeIPA с помощью ‘ipa-server-install‘. На следующем шаге вы пройдете аутентификацию в Kerberos и получите билет администратора, который позволит вам настроить FreeIPA с вашего терминала.

Аутентификация администратора Kerberos и панель FreeIPA Web UI Dashboard

После настройки сервера FreeIPA с помощью ‘ipa-server-install’, Теперь вы проверите установку FreeIPA, получив билет администратора от Kerberos и войдя в панель веб-администрирования FreeIPA.

Введите следующую команду ‘kinit‘ команда для аутентификации на сервере Kerberos через ‘admin‘ пользователь. Когда вас попросят ввести пароль, введите пароль администратора IPA.

kinit admin

Теперь проверьте аутентификацию и список полученных билетов Kerberos, введя следующее ‘klist‘ команда.

klist

Если аутентификация Kerberos прошла успешно, вы должны получить вывод кэшированного билета для основного принципала ‘[email protected]‘, как показано на следующем снимке экрана.

тестовый аутентификатор

Далее вы проверите сервер FreeIPA, зайдя в панель администрирования с вашего локального компьютера. Прежде чем начать, откройте ‘/etc/hosts‘ на локальном компьютере с помощью следующей команды редактора nano.

sudo nano /etc/hosts

Добавьте в файл следующую строку и не забудьте изменить IP-адрес доменного имени на данные вашего сервера FreeIPA.

# ip - domain
192.168.5.25  ipa.hwdomain.lan ipa

Сохраните и закройте файл после завершения работы.

Далее откройте веб-браузер и посетите доменное имя сервера FreeIPA (т.е: https://ipa.hwdomain.lan/). Вы должны увидеть страницу входа в систему FreeIPA.

Введите стандартного пользователя admin и свой пароль FreeIPA, затем нажмите кнопку ‘Войти‘.

страница входа в систему freeipa

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

панель управления freeipa

Итак, вы успешно установили и настроили сервер FreeIPA на Rocky Linux 9. В следующем шаге вы узнаете, как управлять сервером FreeIPA, добавив нового пользователя и группу через терминал, а затем добавить новую хост-машину Linux с помощью клиентского пакета FreeIPA.

Настройка первого пользователя и группы FreeIPA

В этом разделе вы узнаете, как использовать команду ‘ipa’ для управления пользователями и группами. Вы будете использовать команду ‘ipa’ с различными параметрами для создания пользователя, проверки списка пользователей, создания группы, проверки списка групп и добавления пользователя FreeIP в определенную группу. И, наконец, вы проверите список пользователей и групп через панель администрирования FreeIPA.

Введите следующую команду ‘ipa config-mod’, чтобы изменить стандартную оболочку для пользователей FreeIPA на ‘/bin/bash‘. При выполнении этой команды будут выведены и другие пользовательские настройки по умолчанию для FreeIPA.

ipa config-mod --defaultshell=/bin/bash

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

настройка пользователя по умолчанию

Далее введите следующее ‘ipa user-add‘, чтобы добавить нового пользователя FreeIPA. В этом примере вы создадите нового пользователя ‘rocky‘. Когда появится запрос на ввод пароля, введите и проверьте новый пароль для своего пользователя.

ipa user-add rocky --first=Rocky --last=Linux --password

добавить пользователя firsdt

Теперь проверьте данные пользователя ‘скалистый‘, введя команду ‘ipa user-find’, приведенную ниже. Когда вы увидите подробную информацию о пользователе ‘rocky‘, это означает, что вы успешно создали пользователя FreeIPA.

ipa user-find rocky

найти пользователя

Вы также можете использовать команду ‘ipa user-show’, чтобы показать подробную информацию о пользователях FreeIPA.

ipa user-show --raw rocky

Вывод:

show user raw

Далее введите следующее ‘ipa group-add‘ создайте новую группу под названием ‘development’. Затем проверьте группу ‘разработка , введя ‘ipa group-find’ , чтобы убедиться, что группа создана.

ipa group-add --desc='Development Team' development
ipa group-find development

Выход ‘1 группа совпала подтверждает, что группаразработка‘ добавлена и доступна на сервере FreeIPA.

добавить группу

Теперь введите следующее ‘ipa group-add-member’ команда для добавления пользователя FreeIPA ‘rocky‘ в группу ‘разработка‘.

ipa group-add-member --user=rocky development

Выход ‘Количество добавленных членов 1‘ подтверждает, что пользователь ‘скалистый‘ добавлен в группу ‘разработка‘.

добавить пользователя в группу

Теперь вернитесь на панель администрирования FreeIPA, нажмите на меню ‘Identity’ и щелкните на ‘Пользователи‘ вкладка. Теперь вы должны увидеть нового пользователя FreeIPA ‘rocky‘ создан и доступен на сервере FreeIPA.

список пользователей

Наконец, нажмите на кнопку ‘Группы‘, чтобы проверить список групп на FreeIPA. Новая группа ‘development’ доступна на сервере FreeIPA. Щелкните на группе ‘разработка‘, чтобы получить подробную информацию, и вы должны увидеть пользователя ‘скалистый‘ добавлен и доступен в разделе ‘разработка‘ группа.

список групп

На этом этапе вы создали пользователя и группу FreeIPA в терминале с помощью инструмента управления командой ‘ipa’. Кроме того, вы убедились, что пользователь и группа добавлены через панель веб-администрирования FreeIPA. На следующем этапе вы узнаете, как добавить хост/машину Linux на сервер FreeIPA.

Добавление хостов на сервер FreeIPA: Rocky Linux

FreeIPA предоставляет самый простой способ добавления нового хоста на сервер FreeIPA, что можно сделать с помощью клиентского пакета FreeIPA, который предоставляет программу ‘ipa-client-install’ утилита. В этом разделе вы добавите машину Rocky Linux 9 на сервер FreeIPA ‘ipa.hwdomain.lan‘.

Ниже перечислены действия, которые необходимо выполнить для добавления нового хоста на сервер FreeIPA:

  • Добавление DNS-записей хоста с сервера FreeIPA
  • Настройте файл /etc/hosts и файл /etc/resolv.conf
  • Установка клиента FreeIPA и добавление хоста с помощью ‘ipa-client-install’

Теперь давайте приступим к добавлению хоста Rocky Linux на сервер FreeIPA.

Добавление записей DNS

Сначала необходимо добавить DNS-запись клиентской машины на сервер FreeIPA. Это можно сделать с помощью команды ‘ipa dnsrecord-add‘ команда, которую можно выполнить с сервера FreeIPA.

Введите следующую команду ‘ipa dnsrecord-add‘ чтобы добавить новую запись DNS для хост-машины ‘клиент‘ с IP-адресом ‘192.168.5.80‘. При этом клиентская машина будет иметь доменное имя ‘client.hwdomain.lan‘.

В этом примере вы определите запись A для хоста под названием ‘client’ с IP-адресом ‘192.168.5.80‘. Домен ‘hwdomain.lan‘ — это доменное имя по умолчанию вашего сервера FreeIPA.

ipa dnsrecord-add hwdomain.lan client --a-rec 192.168.5.80

Теперь проверьте DNS-запись ‘клиент‘, введя команду ‘ipa dnsrecord-find‘ команду ниже. Вы должны увидеть ‘клиент‘ машина с записью A, разрешенной в IP-адрес ‘192.168.5.80‘.

ipa dnsrecord-find hwdomain.lan client

добавить dns-запись

Наконец, введите следующую команду ‘dig’, чтобы проверить DNS доменное имя клиентской машины ‘client.hwdomain.lan‘.

dig client.hwdomain.lan

В случае успеха вы должны получить следующее сообщение — Доменное имя клиентской машины ‘client.hwdomain.lan‘ указывает на IP-адрес сервера ‘192.168.5.80‘.

проверка записи dns

Теперь вы готовы настроить «клиентскую» машину и добавить ее к серверу FreeIPA.

Настройка FQDN, /etc/hosts и resolver

Теперь подключитесь к ‘клиент‘ машина для настройки основных параметров системы перед установкой клиентских пакетов FreeIPA.

В этом разделе вы настроите ‘/etc/hosts’ файл и определите доменное имя и IP-адрес сервера FreeIPA. Затем вы измените файл ‘/etc/resolv.conf’ файл, чтобы настроить DNS-резольвер по умолчанию на клиентской машине с помощью DNS-резольвера сервера FreeIPA. Это обеспечит доступ клиентской машины к серверу FreeIPA через доменное имя.

Введите следующую команду редактора nano, чтобы открыть файл ‘/etc/hosts‘ файл.

sudo nano /etc/hosts

Добавьте в файл следующие строки и не забудьте изменить IP-адрес и доменное имя с вашим сервером FreeIPA.

# ip - fqdn/domain - hostname
192.168.5.25    ipa.hwdomain.lan    ipa

Сохраните и выйдите из файла после завершения работы.

Далее откройте файл ‘/etc/resolv.conf‘ с помощью следующей команды редактора nano.

sudo nano /etc/resolv.conf

Добавьте следующую строку в начало строки и не забудьте изменить IP-адрес на IP-адрес вашего сервера FreeIPA.

# list resolver
nameserver 192.168.5.25

Сохраните и закройте файл после завершения работы.

Наконец, введите следующую команду ‘ping‘, чтобы проверить доменное имя сервера FreeIPA и доменное имя клиентской машины.

ping -c3 ipa.hwdomain.lan
ping -c3 client.hwdomain.lan

Вы должны получить следующее сообщение — Доменное имя сервера FreeIPA ‘ipa.hwdomain.lan’ будет указывать на IP-адрес ‘192.168.5.25‘ как определено на ‘/etc/hosts‘ файл.

И доменное имя клиентской машины ‘client.hwdomain.lan‘ будет направлен на правильный IP-адрес ‘192.168.5.80‘, который настраивается через DNS-сервер FreeIPA и подтверждает правильность настроек DNS-резольвера.

настройка резольвера fqdn

После этого вы можете установить клиентский пакет FreeIPA и добавить клиентскую машину к серверу FreeIPA.

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

Сначала введите следующую команду ‘dnf install’ для установки клиентского пакета FreeIPA и дополнительного пакета ‘oddjob-mkhomedir’. Когда появится запрос, введите y для подтверждения и нажмите ENTER, чтобы продолжить.

sudo dnf install freeipa-client oddjob-mkhomedir

установка клиентов freeipa

Когда установка будет завершена, введите следующее ‘ipa-client-install‘, чтобы добавить клиентскую машину к серверу FreeIPA. Обязательно измените параметр ‘—server=ipa.hwdomain.lan‘ с вашим сервером FreeIPA, а также параметр ‘-домен hwdomain.lan’ и ‘—realm HWDOMAIN.LAN‘ параметры.

ipa-client-install --hostname=`hostname -f` \
--mkhomedir \
--server=ipa.hwdomain.lan \
--domain hwdomain.lan \
--realm HWDOMAIN.LAN

Ввод ‘да‘, чтобы перейти к фиксированному значению данных сервера FreeIPA. а для настроек NTP-сервера введите ‘нет‘.

добавление клиента на сервер freeipa

Теперь просмотрите конфигурацию клиента, затем введите ‘да‘ для подтверждения.

подтверждение настроек клиента

Теперь вам будет предложено пройти аутентификацию пользователя на сервере Kerberos. Это необходимо, поскольку билет Kerberos должен кэшироваться при добавлении нового хоста на сервер FreeIPA.

Введите пользователя по умолчанию ‘admin‘ и введите свой пароль. После успешного завершения вы должны получить следующее сообщение — Процесс должен начаться.

авторизация как администратор kerberos

По завершении процесса вы должны получить результат, подобный ‘Настройка клиента завершена — команда ipa-client-install выполнена успешно‘.

клиент добавлен

Итак, вы добавили клиентскую машину Rocky Linux на сервер FreeIPA с помощью команды ‘ipa-client-install’ утилита, предоставляемая клиентским пакетом FreeIPA. Теперь вы также можете войти на клиентскую машину, используя добавленного пользователя FreeIPA.

Вход в клиент через пользователя FreeIPA

В этом разделе вы проверите установку сервера и клиента FreeIPA, подключившись к клиентской машине через пользователя FreeIPA. Вы подключитесь к хост-машине ‘client.hwdomain.lan‘ с пользователем FreeIPA ‘скалистый‘ через SSH.

Вернитесь на свой сервер FreeIPA и выполните приведенную ниже команду ‘ssh’ для подключения к ‘client.hwdomain’lan‘ с пользователем FreeIPA ‘скалистый‘. Вход ‘да‘, чтобы принять отпечаток пальца SSH хост-машины.

ssh [email protected]

Когда вас попросят ввести пароль, введите пароль пользователя FreeIPA ‘rocky‘. Когда вы введете правильный пароль, вам будет предложено сменить текущий пароль на новый.

Введите текущий пароль, затем введите новый пароль для пользователя ‘rocky‘ и повторите пароль. После успеха вы должны войти в систему ‘client.hwdomain.lan‘ машина через ‘скалистый‘ Пользователь FreeIPA. Кроме того, домашний каталог для пользователя FreeIPA создается автоматически в процессе входа в систему.

Введите следующую команду, чтобы проверить текущее состояние вашего соединения. Вы должны увидеть, что используемый вами пользователь ‘rocky‘, который является частью ‘разработка‘ группа. Также видно, что fqdn клиентской машины — ‘client.hwdomain.lan‘.

id
whoami
hostname -f

тестовый клиент для входа в систему

Наконец, с помощью панели веб-администрирования проверьте список хостов/машин, доступных на сервере FreeIPA.

Вернитесь в панель администрирования FreeIPA и нажмите кнопку ‘Идентификация‘ меню, затем выберите пункт ‘Хозяева‘ вкладка. Вы должны увидеть ‘client.hwdomain.lan’ добавлена и доступна на сервере FreeIPA.

список хостов

Теперь нажмите на ссылку ‘client.hwdomain.lan‘, чтобы получить подробную информацию о хосте. Вы должны получить подробную информацию о хост-машине, как показано на следующем снимке.

детализировать хост

Таким образом, вы успешно установили сервер FreeIPA на Rocky Linux 9, а также добавили клиентский хост Rocky Linux с помощью клиента FreeIPA.

Заключение

В этом руководстве вы узнали, как установить и развернуть сервер FreeIPA на сервере ROcky Linux 9. Вы настроили сервер FreeIPA на Rocky Linux с включенным DNS через Bind и настроенным firewalld.

Кроме того, вы изучили базовое использование команды ‘ipa’ для создания и управления пользователями и группами FreeIPA, а также узнали, как получить билет Kerberos с помощью команды kinit и войти в веб-администрацию FreeIPA с помощью пользователя admin и пароля.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *