Это технический шаблон заметки о CLI!
Данный опус является частью единого цикла заметок o CLI. Для его написания использовалось множество различных источников (скилы крутых специалистов, статьи с тематических сайтов, техническая документация, комментарии с форумов и социальных сетей и т. д и т. п.). К сожалению, указать все источники точно не представляется возможным! По этому, в конце заметки, будет указана ссылка только на основной источник. Материалы, использованные для написания заметки, изменялись автором под конкретную задачу! Вам, скорее всего, тоже придется поступить аналогичным образом для получения желаемого результата)
Подготовка сервера
Для подготовки сервера безопасности с доступом к данным по LDAP необходим сервер с правильно настроенным временем. Также необходимо правильно настроить межсетевой экран и систему безопасности SELinux.
Время
Установим часовой пояс::
timedatectl set-timezone Europe/Moscow
Затем устанавливаем и запускаем утилиту для синхронизации времени chrony.
Отключаемся чтобы зайти под новым пользователем:
yum install chrony
systemctl enable chronyd --now
Имя сервера
Для корректной работы сервера, необходимо, задать ему полное доменное имя (FQDN). Выполняем команду:
hostnamectl set-hostname ipa-server.sytes.ru
Брандмауэр
Необходимо открыть несколько портов, которые используются службами FreeIPA:
hostnamectl firewall-cmd --permanent --add-port=53/{tcp,udp} --add-port={80,443}/tcp --add-port={88,464}/{tcp,udp} --add-port=123/udp --add-port={389,636}/tcp
firewall-cmd --reload
* где:
- 53 — запросы DNS. Не обязателен, если мы не планируем использовать наш сервер в качестве сервера DNS.
- 80 и 443 — http и https для доступа к веб-интерфейсу управления.
- 88 и 464 — kerberos и kpasswd.
- 123 — синхронизация времени.
- 389 и 636 — ldap и ldaps соответственно.
SELinux
Отключаем SELinux командами:
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
Установка и запуск FreeIPA
Установка выполняется из репозитория. Команды немного отличаются в зависимости от версии CentOS.
а) для Rocky Linux / CentOS 8:
dnf install @idm:DL1
dnf install ipa-server
* первая команда установит модуль DL1 Stream-репозитория. Вторая — сам freeipa.
б) для CentOS 7:
yum install ipa-server
Если мы хотим использовать наш сервер еще и как DNS, то устанавливаем:
yum install ipa-server-dns
После выполняем конфигурирование сервиса:
ipa-server-install
* если система ругнется на IPv6, переходим к решению.
Отвечаем на первый вопрос, хотим ли мы использовать и сконфигурировать 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
Начнется процесс конфигурации. После его завершения мы увидим подсказку со следующими шагами:
Next steps:
1. You must make sure these network ports are open:
TCP Ports:
* 80, 443: HTTP/HTTPS
* 389, 636: LDAP/LDAPS
* 88, 464: kerberos
* 53: bind
UDP Ports:
* 88, 464: kerberos
* 53: bind
* 123: ntp
2. You can now obtain a kerberos ticket using the command: 'kinit admin'
This ticket will allow you to use the IPA tools (e.g., ipa user-add)
and the web user interface.
... и так как порты мы уже настраивали, переходим ко второму шагу — проверим, что система может выдать билет:
kinit admin
... после вводим пароль администратора, который указывали при конфигурировании FreeIPA.
Проверяем, что билет получен:
klist
Ответ должен быть, примерно, следующим:
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.
Удалим полученный билет:
Cпасибо автору!
Источник: