Freeipa astra linux сброс пароля

Обновлено: 04.07.2024

В инструкции разберем пример установки сервера FreeIPA (аналог Microsoft Active Directory, Samba DC) на Linux CentOS (также протестировано на Rocky Linux). В качестве клиентов будем использовать дистрибутивы на базе RPM (Red Hat, CentOS, . ) и deb (Debian, Ubuntu, . ).

Подготовка сервера

Для подготовки сервера безопасности с доступом к данным по LDAP необходим сервер с правильно настроенным временем. Также необходимо правильно настроить межсетевой экран и систему безопасности SELinux.

Время

Установим часовой пояс:

timedatectl set-timezone Europe/Moscow

* в данном примере используется московское время.

Затем устанавливаем и запускаем утилиту для синхронизации времени chrony.

yum install chrony

systemctl enable chronyd --now

Имя сервера

Для корректной работы сервера, необходимо, задать ему полное доменное имя (FQDN). Выполняем команду:

hostnamectl set-hostname ipa-server.dmosk.local

* где ipa-server.dmosk.local — имя сервера, которое будет использоваться.

Брандмауэр

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

firewall-cmd --permanent --add-port=53/ --add-port=/tcp --add-port=/ --add-port=123/udp --add-port=/tcp

SELinux

Отключаем SELinux командами:

Установка и запуск FreeIPA

Установка выполняется из репозитория. Команды немного отличаются в зависимости от версии CentOS.

а) для Rocky Linux / CentOS 8:

dnf install @idm:DL1

dnf install ipa-server

* первая команда установит модуль DL1 Stream-репозитория. Вторая — сам freeipa.

yum install ipa-server

Если мы хотим использовать наш сервер еще и как DNS, то устанавливаем:

yum install ipa-server-dns

После выполняем конфигурирование сервиса:

Отвечааем на первый вопрос, хотим ли мы использовать и сконфигурировать DNS-сервер BIND:

Do you want to configure integrated DNS (BIND)? [no]: yes

* в случае, если мы не хотим, чтобы сервер DNS был установлен вместе с сервером IPA, просто нажимаем Enter.

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

Когда система запросит пароль для Directory Manager, необходимо придумать и ввести его дважды:

Directory Manager password:
Password (confirm):

. будет создана учетная запись для подключения к LDAP.

Затем также нужно придумать и задать пароль для IPA admin:

IPA admin password:
Password (confirm):

. будет создана учетная запись IPA Administrator для первого пользователя FreeIPA с правами администратора.

Для настройки DNS на первый запрос, хотим ли мы настроить перенаправления, отвечаем да:

Do you want to configure DNS forwarders? [yes]:

Система предложит сначала использовать DNS-серверы из настроек сети (если они прописаны) — если нас это устроит, оставляем значение по умолчанию:

Do you want to configure these servers as DNS forwarders? [yes]:

. также можно добавить дополнительные серверы:

Enter an IP address for a DNS forwarder, or press Enter to skip: 8.8.8.8

Также оставляем значение по умолчанию для попытки найти обратные зоны:

Do you want to search for missing reverse zones? [yes]

После система выведет информацию о конфигурации и попросит ее подтвердить — вводим yes:

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

Начнется процесс конфигурации. После его завершения мы увидим подсказку со следующими шагами:

. и так как порты мы уже настраивали, переходим ко второму шагу — проверим, что система может выдать билет:

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

Проверяем, что билет получен:

Ответ должен быть, примерно, следующим:

Ticket cache: KEYRING:persistent:0:0
Default principal: admin@DMOSK.LOCAL

Valid starting Expires Service principal
23.07.2019 08:53:02 24.07.2019 08:52:55 krbtgt/DMOSK.LOCAL@DMOSK.LOCAL

* где DMOSK.LOCAL — домен в моей системе. В данном примере мы получили билет для пользователя admin.

Настройка и подключение клиента

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

  1. Пример настройки сети в CentOS / Rocky Linux
  2. Настройка сети с помощью netplan (Debian, Ubuntu).
  3. В устаревающих системах на основе deb настройка выполняется в файле /etc/network/interfaces (опция dns-nameservers) или /etc/resolv.conf (опция nameserver).

Время

Для корректной работы и подключения необходимо проверить настройки времени.

В первую очередь, укажем часовой пояс:

timedatectl set-timezone Europe/Moscow

* командой timedatectl list-timezones можно посмотреть список всех часовых поясов.

Устанавливаем утилиту для синхронизации времени, разрешаем запуск демона и стартуем его.

а) если на системе Ubuntu / Debian:

apt-get install chrony

systemctl enable chrony

б) если на системе Rocky Linux / CentOS / Red Hat:

yum install chrony

systemctl enable chronyd --now

Подключение к домену

а) на компьютеры с Red Hat / CentOS:

yum install freeipa-client

б) на компьютеры с Debian / Ubuntu:

apt-get install freeipa-client

Для Debian 9 приходится использовать дополнительный репозиторий:

Обновляем список и устанавливаем:

apt-get install freeipa-client

Выполним конфигурирование клиента:

Система на основе данных из DNS попробует определить настройки и либо попросит ввести наш домен (если не сможет найти данные автоматически):

. либо отобразить настройки в консоли, например:

Discovery was successful!
Client hostname: freeipa-client.dmosk.local
Realm: DMOSK.LOCAL
DNS Domain: DMOSK.LOCAL
IPA Server: ipa-server.dmosk.local
BaseDN: dc=dmosk,dc=local

Если эти настройки верны, отвечаем положительно на запрос Continue to configure the system with these values?

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

Система спросит, от какого пользователя производить настройку — вводим admin:

User authorized to enroll computers: admin

Password for admin@DMOSK.LOCAL:

Начнется процесс конфигурации — после его завершения:

.
Configured /etc/openldap/ldap.conf
NTP enabled
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config
Configuring DMOSK.LOCAL as NIS domain.
Client configuration complete.
The ipa-client-install command was successful

. сразу проверим, что клиент может получать билет от сервера:

. и вводим пароль от пользователя admin.

Проверяем, что билет получен:

Ответ должен быть, примерно, следующим:

Ticket cache: KEYRING:persistent:0:0
Default principal: admin@DMOSK.LOCAL

Valid starting Expires Service principal
25.07.2019 23:39:56 26.07.2019 23:39:52 krbtgt/DMOSK.LOCAL@DMOSK.LOCAL

Работа с учетными записями

Создадим пользователя. Для этого рассмотрим пример использования командной строки и веб-интерфейса.

Командная строка

Авторизуемся на FreeIPA:

Создаем нового пользователя командой:

ipa user-add dmosk --first=Дмитрий --last=Моск --password

* где dmosk — логин; first — имя пользователя; last — фамилия; password — ключ для запроса пароля.

. после ввода команды система запросит пароль для создаваемого пользователя — вводим его дважды.

Мы должны увидеть сводку по параметрам для созданного пользователя:

Добавлен пользователь «dmosk»
-----------------------------
Логин пользователя: dmosk
Имя: Дмитрий
Фамилия: Моск
Полное имя: Дмитрий Моск
Отображаемое имя: Дмитрий Моск
Инициалы: ДМ
Домашний каталог: /home/dmosk
GECOS: Дмитрий Моск
Оболочка входа: /bin/sh
Principal name: dmosk@DMOSK.LOCAL
Principal alias: dmosk@DMOSK.LOCAL
User password expiration: 20190725205853Z
Электронный адрес: dmosk@dmosk.local
UID: 1798800001
ID группы: 1798800001
Пароль: True
Member of groups: ipausers
Kerberos ключей доступно: True

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

* в данном примере мы использовали дополнительные поля:

* более полный список атрибутов можно найти на странице с мануалом Fedora Project.

Веб-интерфейс

Откроется страница управления пользователями:

Управление пользователями в веб интерфейса FreeIPA

На панели справа (над списком пользователей) кликаем по Добавить:

Кнопка Добавить в веб-интерфейсе FreeIPA

В открывшемся окне заполняем поля для создания пользователя и нажимаем по Добавить:

Заполняем данные для создания пользователя

Проверка

На компьютере с клиентом вводим команду для проверки:

. и вводим пароль от созданной учетной записи:

Password for dmosk@DMOSK.LOCAL:

При вервом входе система попросит поменять пароль на новый:

Password expired. You must change it now.
Enter new password:
Enter it again:

Редактирование учетных записей

Редактирование выполняется командой:

ipa user-mod <имя записи> <опции>

Например, поменять пароль можно командой:

ipa user-mod username --password

* в данном примере будет запрошен новый пароль для учетной записи username.

Для удаления вводим:

ipa user-del <имя записи>

ipa user-del user_name

Подробная информация

Получить информацию мы можем о любой сущьности в LDAP с помощью командной строки.

ipa user-find --all

ipa user-find user_name --all

* первая команда вернет информацию по всем пользователям, вторая — по конкретному (в данном примере user_name).

ipa group-find --all

ipa group-find admins --all

* первая команда вернет информацию по всем группам, вторая — только для admins.

Примеры команд

Рассмотрим отдельно примеры работы с FreeIPA посредством командной строки.

Работа с группами

1. Создание группы безопасности:

* создаем группу безопасности managers.

2. Добавить пользователя в группу:

ipa group-add-member managers --users=user1,user2,user3

* добавим в группу managers пользователей user1, user2 и user3.

3. Переименовать группу:

ipa group-mod --rename=<новое имя> <старое имя>

ipa group-mod --rename=admins users

* в данном примере мы переименуем группу users в группу admins.

Работа с сертификатами

1. Выпустить сертификат для компьютера (выполняется на компьютере, который присоединен к freeipa):

ipa-getcert request -k /etc/pki/tls/certs/freeipa.key -f /etc/pki/tls/certs/freeipa.crt -r

* в данном примере будет сформирован запрос на получение сертификата и сохранен в каталог /etc/pki/tls/certs.

2. Посмотреть список запросов на сертификат с узла можно командой:

3. Удалить запрос можно командой:

ipa-getcert stop-tracking -i <идентификатор>

ipa-getcert stop-tracking -i openvpn

4. Обновить сертификат:

ipa-getcert resubmit --id="20210923072007"

* где 20210923072007 — идентификатор запроса, который можно посмотреть командой ipa-getcert list.

Дополнительные настройки

Рассмотрим отдельно некоторые настройки и возможности работы с FreeIPA.

SSH аутентификация через FreeIPA

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

Открываем конфигурационный файл для pam:

Добавим в конец одну строку:

.
session required pam_mkhomedir.so skel=/etc/skel umask=0022

* данная настройка укажет на необходимость автоматического создания домашней директории для пользователя.

Вывод клиента из домена

Если необходимо вывести клиентский компьютер из домена, вводим команду:

Система выполнит необходимые настройки самостоятельно:

Unenrolling client from IPA server
Removing Kerberos service principals from /etc/krb5.keytab
Disabling client Kerberos and LDAP configurations
Redundant SSSD configuration file /etc/sssd/sssd.conf was moved to /etc/sssd/sssd.conf.deleted
Restoring client configuration files
Unconfiguring the NIS domain.
nscd daemon is not installed, skip configuration
nslcd daemon is not installed, skip configuration
Systemwide CA database updated.
Client uninstall complete.
The original nsswitch.conf configuration has been restored.

И отправляем компьютер в перезагрузку:

You may need to restart services or reboot the machine.
Do you want to reboot the machine? [no]: yes

Возможные ошибки

Разберем некоторые ошибки, которые могут возникнут в процессе установки FreeIPA.

Ошибка появляется при попытке запустить команду ipa-server-install.

FreeIPA (Free Identity, Policy and Audit) — открытый проект централизованной системы управления идентификацией пользователей, политиками доступа и аудита. В состав FreeIPA входят:

  • Служба каталогов 389 Directory Server;
  • Служба аутентификации и единой точки входа MIT’s Kerberos;
  • Службы BIND и DHCP для управления службой DNS в сети.
  • Служба управления сертификатами DogTag (опционально);
  • Интерфейс управления на основе Apache и Python;

FreeIPA также использует Samba для интеграции с Microsoft Active Directory и поддержки компьютеров на базе Microsoft Windows и Apple Macintosh.

ВАЖНО!
Сервис FreeIPA крайне чувствителен к правильным настройкам параметров операционной системы .
Даже при запуске сервиса в тестовом режиме следует придерживаться приведённых ниже правил.

  1. Сервис FreeIPA необходимо устанавливать на чистой ОС, на которой ранее не были установлены другие сервисы.
  2. Перед установкой убедиться, что установлены последние обновления безопасности, и обеспечить их установку.
  3. Работа FreeIPA в Astra Linux Special Edition осуществляется только при отключенном режиме AstraMode web-сервера Apache2.

Доменное имя

  • Доменное имя не должно быть именем первого уровня.
    Это значит, что нежелательно использовать имена доменов, состоящие из одного слова, например domain, testdomain, mydomian.
    Следует использовать имена уровней два и более, то есть имена вида:

В случаях, если при запуске службы FreeIPA используется имя домена, не имеющее IP-адреса (например, при запуске в тестовых целях),
запуск службы следует производить в режиме «для изолированной сети»
(опция -o инструмента astra-freeipa-server или пункт «Изолированная сеть (без шлюза/DNS)» в меню «Расширенные опции» графического инструмента fly-admin-freeipa-server).
Далее в примерах подразумевается запуск именно сервиса в режиме «для изолированной сети».
Проверить, имеет ли выбранный домен IP-адрес, можно из терминала командой nslookup или dig, например:

Сервер

Для нормальной работы сервиса FreeIPA следует:

    Выделить для использования в качестве сервера FreeIPA отдельный (возможно, виртуальный) компьютер, на котором должно быть установлено не менее 2ГБ ОЗУ и 3-х процессоров;

Назначить этому компьютеру фиксированный IP-адрес , который, впоследствии, не должен изменяться;
В настройках сетевого интерфейса указать этот IP-адрес в качестве первого DNS (см. Настройка сети в ОС Astra Linux);
В качестве второго DNS можно ничего не указывать или указать внешний DNS (в случае установки пакетов из внешнего репозитория);
После внесения изменений необходимо убедиться, что выполненные настройки DNS присутствуют в файле/etc/resolv.conf :

В /etc/hostname должно содержаться FQDN ( astraipa.astradomain.ad ).

Файл /etc/hosts не должен использоваться в качестве базы данных доменных имен других хостов. Так как запрос к этому файлу имеет приоритет перед обращением к DNS.

Чтобы не было путаницы, в нем рекомендуется только запись "самого себя", <ip адрес> + имя в формате FQDN + короткое имя. Данная запись добавляется автоматически во время установки FreeIPA сервера.

Для добавления имени хоста можно выполнить команду:

hostnamectl set-hostname astraipa.astradomain.ad

Разрешить загрузку модулей протокола IPv6, при необходимости запретив их работу (см. IPv6: включение и выключение, выключение с сохранением стека IPv6 )

  • Остальные настройки для быстрого запуска, инструменты Astra Linux выполняют самостоятельно.

Комплекты пакетов FreeIPA для сервера и клиентов входят в стандартный репозиторий Astra Linux Common Edition.

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

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

В ходе установки будет выдано несколько предупреждений, просто нажать "ОК".

После установки графический инструмент fly-admin-freeipa-server будет доступен через меню:

"Пуск" - "Панель управления" - "Сеть" - "Настройка FreeIPA server fly"

Установить необходимые для установки клиента пакеты можно с помощью графического менеджера пакетов или из командной строки.
Команды для установки из командной строки:

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

На предупреждения, возникающие при установке, также нажать "ОК"

После установки графический инструмент fly-admin-freeipa-client будет доступен через меню:

"Пуск" - "Панель управления" - "Сеть" - "Настройка FreeIPA clientfly"

Для дальнейшего описания настройки сервиса FreeIPA примем следующие допущения:

мы хотим создать собственный домен второго уровня с названием: astradomain.ad ;

имя будущего контроллера сервера:

имя в краткой форме: astraipa

имя в полной форме (FQDN): astraipa.astradomain.ad

При этом, в тестовом примере будет использован несуществующий домен astradomain.ad

Быстрый запуск сервиса FreeIPA с помощью графического инструмента fly-admin-freeipa-server

Графический инструмент fly-admin-freeipa-server запускается из командной строки командой:

После запуска на экране появляется форма для ввода данных, в которой нужно указать:

«Домен» - имя домена, в используемом примере это будет astradomain.ad

«Имя компьютера» - имя компьютера определяется автоматически, в используемом примере заменим его на astraipa

«Пароль» - пароль для администратора домена. Введённый пароль понадобится в дальнейшем для входа в web-интерфейс FreeIPA, и для работы с инструментами командной строки FreeIPA.

После ввода данных запуск сервиса осуществляется нажатием кнопки «Создать»

В процессе запуска в соответствующем окне отображаются выполняющиеся операции.

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

Установка с использованием центра сертификации DogTag (только для Astra Linux Common Edition)


Для автоматической установки FreeIPA с одновременной установкой сервиса центра сертификации DogTag в интерфейсе графического инструмента fly-admin-freeipa-server нажмите кнопку "Показать расширенные опции" и отметьте пункт "Настроить центр сертификации":

Быстрый запуск сервиса FreeIPA с помощью инструмента командной строки astra-freeipa-server

При правильно выполненных предварительных настройках запуск сервиса FreeIPA с помощью инструмента командной строки astra-freeipa-server может быть осуществлён простой командой:

При этом инструмент должен сам определить все необходимые параметры.

При запуске инструмента также можно указать имя домена, имя компьютера и прочие параметры (подробнее см. подсказку astra-freeipa-server --help), например:

sudo astra-freeipa-server -d astradomain.ad -n astraipa -o

После ввода команды инструмент определит адрес компьютера, выведет на экран все исходные данные, и запросит подтверждение дальнейших действий:

compname= astraipa
domain= astradomain.ad
будет использован ip address = 192.168.32.97 или укажите ip адрес ключем -ip
продолжать ? (y\n)

Для подтверждения введите «y» и нажмите Enter.

После подтверждения инструмент попросит ввести и подтвердить пароль для администратора домена.

Введённый пароль понадобится в дальнейшем для входа в web-интерфейс FreeIPA, и для работы с инструментами командной строки FreeIPA.

После ввода пароля автоматически будет выполнен процесс инициализации входящих в FreeIPA подсистем.
Ход выполнения будет отображаться на экране.

Теперь можно войти в web-интерфейс FreeIPA по указанному в последней строчке адресу, и продолжить настройку через него.
Первый вход в web-интерфейс и процедуры работы с ним описаны ниже.

Установка с использованием центра сертификации DogTag (только для Astra Linux Common Edition)

Для автоматической установки FreeIPA с одновременной автоматической установкой сервиса центра сертификации DogTag используйте опцию --dogtag, например:

sudo astra-freeipa-server -d astradomain.ad -n astraipa -o --dogtag

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

нажать кнопку «Дополнительно»

в открывшемся окне нажать кнопку «Добавить исключение»

в открывшейся экранной форме нажать кнопку «Подтвердить исключение безопасности»

и на экране браузера откроется WEB/-интерфейс FreeIPA.

Для входа в web-интерфейс используйте имя admin, и пароль, ранее введённый при запуске системы. Также, теперь с помощью программы astra-freeipa-client, к созданному сервису можно подключать другие машины.

В случае, если при входе в web-интерфейс открывается пустая страница — внимательно проверьте, что для подключения к web-интерфейсу используются:

Для проверки состояния запущенных служб FreeIPA можно использовать инструмент командной строки ipactl:

Примерный вывод команды:

Для проверки ролей сервера можно использовать web-интерфейс FreeIPA (путь Закладка "FreeIPA" => Пункт "Топология" => Пункт "Роли сервера"), например:


5) В появившейся загрузочной записи нужно отредактировать строчку , начинающуюся со слова linux (на снимке экрана отмечена галочкой). В этой строчке нужно удалить "ro quiet splash" (подчёркнуто на снимке экрана) и через пробел дописать в конец этой строки: "init=/bin/bash";


6) Нажать F10, чтобы загрузить систему и дождаться приглашения командной строки:

7) Т.к. по умолчанию файловая система доступна только для чтения, чтобы иметь возможность вносить изменения выполнить команду:

В этом варианте перезагрузка машины после внесения изменений выполняется командой:

В случае, если пароль загрузчика неизвестен

1) Выполнить загрузку с установочного диска Astra Linux и выбрать "Режим восстановления";

2) Выбрать устройство, используемое в качестве корневой системы (например, /dev/sda1);

3) Выбрать "Запуск оболочки в /dev/sda1*";

4) Перейти в терминал (Ctrl+Alt+F2);

5) Нажать Enter для активации консоли;

6) В ыполнить команду:

В этом варианте перезагрузка машины после внесения изменений выполняется двумя командами:

Не забудьте удалить установочный CD-ROM перед перезагрузкой

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

при работе с локальными пользователями:

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

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

После сброса счетчика перезагрузить машину.

После получения доступа к системе:

1) С помощью текстового редактора удалить хеш пароля у Вашего пользователя в следующих файлах:

Это можно сделать, например, командой:

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

должны быть приведены к виду:

2) Перезагрузить машину:

3) Выполнить вход в консольную сессию без пароля, для чего после появления экрана входа в систему нажать Alt+Ctrl+F1;

Все мероприятия проводим c администратором с правами root (sudo)!

Настройки после установки штатной ОС Astra Linux "Орёл":

Комплекты пакетов FreeIPA для сервера и клиентов входят в стандартный репозиторий ОС Astra Linux "Орёл". Устанавливаем сервер и клиент FreeIPA.

На предупреждения, возникающие при установке, нажать "ОК".




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


После чего необходимо выключить, а затем включить поддержку сети (сделать перезагрузку).


Запуск сервера FreeIPA.

Для настройки с помощью графического инструмента выполняем:

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


Для этого нажимаем "Показать расширенные опции" и отмечаем пункт «Изолированная сеть (без шлюза/DNS)», придумываем пароль, состоящий нее чем из 8 символов, и нажимаем "Создать".


После чего выйдет предупреждение и необходимо согласиться с условиями.


Начнётся конфигурация сервера FreeIPA. По окончанию конфигурации вы увидите следующее.


Домен FreeIPA настроен.

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

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

Читайте также: