Как установить freeipa на alt linux
Перейти к содержимому

Как установить freeipa на alt linux

  • автор:

FreeIPA

FreeIPA — это комплексное решение по управлению безопасностью Linux-систем, 389 Directory Server, MIT Kerberos, NTP, DNS, Dogtag. Оно состоит из веб-интерфейса и интерфейса командной строки.
FreeIPA является интегрированной системой проверки подлинности и авторизации в сетевой среде Linux, FreeIPA сервер обеспечивает централизованную проверку подлинности, авторизацию и контроль за аккаунтами пользователей сохраняя сведения о пользователе, группах, узлах и других объектах необходимых для обеспечения сетевой безопасности.

Содержание

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

и повторите снова.

Установка FreeIPA клиента и подключение к серверу

Для работы sudo-политик для доменных пользователей на клиентской машине необходимо разрешить доступ к sudo:

Вход пользователя

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

Настройка репликации

Настройка доверительных отношений с AD

Конфигурация

Создание аккаунта для доступа к LDAP

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

Замените пароль на более сложный. Параметр passwordExpirationTime: 20380119031407Z означает, что срок действия пароля неограничен Причина использования такой учетной записи, а не создание обычной учетной записи пользователя IPA, и использование этой системы заключается в том, что системная учетная запись существует только для привязки к LDAP. Это не настоящий пользователь POSIX, он не может войти в систему и ему не принадлежат файлы. У этого пользователя нет особых прав и он не может ничего записывать какие-либо данные на сервер LDAP FreeIPA, только права на чтение.

Добавление расширенных полей в ldap

Если необходимо добавить поля в вашу схему ldap, то реализация этого возможна через команду ldapmodify и добавление своих плагинов для отображения этих полей в WebUi.
Обычно файлы модификации схемы являются типом .ldif.
Пример:
Содержание файла addExtField.ldif

Детальное пояснение для блока:

dn — dn, в котором будет проводиться изменение. Добавление/удаление классов и т.д.

changetype — атрибут, отвечающий за тип изменений, которые будут происходить.(add, delete, modify, modrdn)

add: attributeTypes — добавление атрибута, далее идёт описание атрибута.
2.25.28639311321113238241701611583088740684.14.2.2 — уникальный идентификатор атрибута. Можно написать любой.

NAME ‘favoriteColorName’ — По другому можно назвать — primary name. Название атрибута.

EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch — эти атрибуты заданы для проверки соответствия содержания атрибута правилам caseIgnoreMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 — OID типа данных

Все изменения в схеме производятся от пользователя — Directory manager.

Изменение схемы ldap:

После изменения схемы, путем добавления нового objectclass, нужно чтобы эти поля еще можно было редактировать в web-интерфейсе. Для этого необходимо сделать палагин. В примере использовано 3 атрибута, для них сделаем 3 отдельных плагина:

1. Создание папки:

2. Создание самого плагина:

В схеме бы добавлен атрибут типа boolean, для него можно сделать радиокнопки:

После необходимо добавить новое поле в «Default user objectclasses» (находится IPA Server -> Configuration) созданный objectclass (customPerson) и появятся поля в web-интерфейсе. Для того чтобы пользователь мог их редактировать, необходимо изменить привилегии в группе ipausers.

Использование haproxy для высокой доступности FreeIPA

Сервер №1 c freeipa: dc1.testbc.testgl

Сервер №2 с репликой freeipa: dc2.testbc.testgl

Сервер №3 с haproxy: haproxy.testbc.testgl

Схема.png

Инструкция для настройки сервера №1 и №2: FreeIPA

Сохранить оригинальный конфигурационный файл:

Запустить сервис haproxy:

Проверить работу можно с помощью ldapsearch сделав один из серверов недоступным:

Результат: ldap всегда доступен.

Automember rebuild membership

Пользовательские или хост группы можно легко перестроить на основе новых или обновленных правил automember. Команда automember rebuild только добавляет новые отношения для групп, она не удаляет те, которые не соответствуют правилам automember. Недавно добавленная команда вызовет задачу в rebuild automember, создав запись LDAP в cn = automember rebuild membership, cn = tasks, cn = config. Плагин automember в настоящее время проверяет операции Add(добавления), чтобы увидеть, есть ли запись соответствует одному из определенных правил automember. Существующие записи не проверяются когда они изменяются. Чтобы применить правило для всех записей, надо добавить задачу к плагину automember. Создатель задачи обеспечит фильтр поиска и базу. Все совпадающие записи будут проверяться в соответствии с определенными правилами automember, чтобы увидеть если они должны быть добавлены в какие-либо группы. Это позволяет добавить запуск атрибуты(значения) после того, как запись была первоначально добавлена, а затем вызвать задачу(выполнить) обновления automember. Ipa automember-rebuild может использоваться для восстановления членства для всех объектов определенного типа:

Он также может использоваться для восстановления членства для указанных записей:

Добавление новой группы хостов:

Добавить новый хост:

Добавить automember rule:

Функция automember теперь работает для новых добавленных записей. Если мы добавим новый хост, он будет автоматически помещен в соответствующую группу хостов:

Однако старая запись хоста для web1.example.com по-прежнему не является членом или хост-группой веб-серверов. Введя новые команды automember-rebuild, мы сделаем это возможным:

Хост добавится в новую группу:

Тоже самое можно сделать в web-интерфейсе.

IPA Automount NFS

Добавим сервис в автозапуск:

Добавим список экспорта и применим изменения:

Добавить ipa сервис где nfs.testbc.testbe наш nfs сервер:

Добавляем в keytab:

Перезапустим nfs сервер:

Добавим правила автомонтирования:

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

Настройка клиента: ipa-client-install Устанавливаем пакет freeipa-client-automount:

FreeIPA/Установка сервера FreeIPA

В данном разделе рассмотрена установка сервера FreeIPA с доменом EXAMPLE.TEST в локальной сети 192.168.0.0/24.

Содержание

Системные требования

Сервер FreeIPA следует устанавливать в чистой системе, в которой отсутствуют какие-либо пользовательские настройки для служб: DNS, Kerberos, Apache и Directory Server.

FreeIPA при настройке домена перезаписывает системные файлы. FreeIPA создает резервные копии исходных системных файлов в /var/lib/ipa/sysrestore/ . При удалении сервера FreeIPA, эти файлы восстанавливаются.

Для установки с CA требуется минимально 1,2 ГБ RAM. Для демонстрационной/тестовой системы рекомендуется 2 ГБ.

Типичные требования к оперативной памяти:

  • для 10 000 пользователей и 100 групп: не менее 4 ГБ RAM и 4 ГБ Swap.
  • для 100 000 пользователей и 50 000 групп: не менее 16 ГБ RAM и 4 ГБ Swap.

Без правильно настроенной конфигурации DNS не будут работать должным образом Kerberos и SSL.

Установщик FreeIPA довольно требователен к настройке DNS. Установщик выполняет следующие проверки:

  • имя узла не может быть localhost или localhost6.
  • имя узла должно быть полным (ipa.example.test)
  • имя узла должно быть разрешимым.
  • обратный адрес должен совпадать с именем хоста.

Не используйте существующий домен, если вы не являетесь владельцем домена. Рекомендуется использовать зарезервированный домен верхнего уровня из RFC2606 для частных тестовых установок, например ipa.test.

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

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

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

Отключить ahttpd, работающий на порту 8080, во избежание конфликтов с разворачиваемым tomcat и отключить HTTPS в Apache2:

Для ускорения установки можно установить демон энтропии haveged:

Установка пакетов

Установить пакет freeipa-server :

Если сервер FreeIPA должен включать DNS-сервер, необходимо также установить пакет freeipa-server-dns :

Установка сервера

С интегрированным DNS, с интегрированным CA в качестве корневого CA

Плюсы установки сервера FreeIPA со встроенным DNS:

  • можно автоматизировать большую часть обслуживания и управления записями DNS, используя инструменты FreeIPA. Например, записи DNS SRV создаются во время установки, а затем автоматически обновляются.
  • можно иметь стабильное соединение с остальной частью Интернета, настроив глобальные серверы пересылки во время установки сервера FreeIPA. Глобальные серверы пересылки также полезны для доверительных отношений с Active Directory.
  • можно настроить обратную зону DNS, чтобы электронные письма из вашего домена не считались спамом почтовыми серверами за пределами домена FreeIPA.

Ограничения установки сервера FreeIPA со встроенным DNS:

  • FreeIPA DNS не предназначен для использования в качестве DNS-сервера общего назначения. Некоторые расширенные функции DNS не поддерживаются.
Интерактивная установка

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

На первый вопрос, нужно ли сконфигурировать DNS-сервер BIND ответить утвердительно:

Далее нужно указать имя узла, на котором будет установлен сервер FreeIPA, доменное имя и пространство Kerberos:

Задать пароль для Directory Manager (cn=Directory Manager):

Задать пароль для администратора FreeIPA (будет создана учетная запись admin с правами администратора):

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

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

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

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

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

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

В пакетном режиме

Пример команды установки сервера FreeIPA в пакетном режиме:

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

  • -r REALM_NAME, --realm=REALM_NAME — имя области Kerberos для сервера FreeIPA;
  • -n DOMAIN_NAME, --domain=DOMAIN_NAME — доменное имя;
  • -p DM_PASSWORD, --ds-password=DM_PASSWORD — пароль, который будет использоваться сервером каталогов для пользователя Менеджера каталогов (DM);
  • -a ADMIN_PASSWORD,--admin-password=ADMIN_PASSWORD — пароль пользователя admin, администратора FreeIPA;
  • -U,--unattended — позволить процессу установки выбрать параметры по умолчанию, не запрашивая у пользователя информацию;
  • --hostname=HOST_NAME — полное DNS-имя этого сервера.

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

  • --setup-dns — создать зону DNS, если она еще не существует, и настроить DNS-сервер;
  • --forwarder или --no-forwarders — в зависимости от того, нужно ли настроить серверы пересылки DNS или нет;
  • --auto-reverse или --no-reverse — в зависимости от того, нужно ли настроить автоматическое обнаружение обратных зон DNS, которые должны быть созданы в FreeIPA DNS, или отключить автоматическое определение обратных зон.

Установка сервера FreeIPA в режиме CA-less

В этом разделе описывается, как можно установить сервер FreeIPA без центра сертификации (CA).

CA-less конфигурация требуется в тех случаях, когда у вас по какой-то причине нет возможности развернуть на FreeIPA сервис PKI dogtag. Например, это на данный момент невозможно сделать в некоторых сертифицированных конфигурациях.

Сертификаты, необходимые для установки сервера FreeIPA без центра сертификации (CA):

  • Сертификат LDAP-сервера и закрытый ключ:
    • --dirsrv-cert-file для указания сертификата и файлов закрытого ключа сервера LDAP;
    • --dirsrv-pin для указания пароля доступа к закрытому ключу;
    • --http-cert-file для указания сертификата и файлов закрытого сервера Apache;
    • --http-pin для указания пароля доступа к закрытому ключу;
    • --dirsrv-cert-file и --http-cert-file для файлов сертификатов с полной цепочкой сертификатов ЦС или ее частью;
    • --ca-cert-file для файла или файлов, содержащих сертификат центра сертификации, который выдал сертификаты LDAP, Apache Server и Kerberos KDC.
    • --pkinit-cert-file для SSL-сертификата Kerberos KDC и закрытого ключа;
    • --pkinit-pin для пароля доступа к закрытому ключу Kerberos KDC;
    • --no-pkinit — отключить шаги настройки pkinit. Если не предоставить сертификат PKINIT, ipa-server-install настроит сервер FreeIPA с локальным KDC с самоподписанным сертификатом.

    Файлы, предоставленные с помощью --dirsrv-cert-file и --http-cert-file, в сочетании с файлом, предоставленным с помощью --ca-cert-file должны содержать полную цепочку сертификатов CA, выдавших сертификаты сервера LDAP и Apache.

    Подготовка сертификатов для сервера FreeIPA

    Создать каталог для сертификатов:

    Создать файл password.txt с паролем к закрытому ключу (длина пароля должна быть не меньше 8 символов):

    Создать базу данных NSS:

    Создать noise файл, заполненный случайными числами:

    Выполнить экспорт переменной CERT_SERIAL:

    Создать CA сертификат:

    В ответ на запросы команды дать следующие ответы (на запрос «Enter value for the key identifier fields», следует ввести вывод команды echo $SKID ):

    Создать noise файл, заполненный случайными числами:

    Создать запрос на сертификат (на запрос «Enter value for the key identifier fields», следует ввести вывод команды echo $SKID ):

    Подписать запрос на сертификат:

    В ответ на запросы команды дать следующие ответы:

    Экспорт сертификатов в правильные форматы

    Импортировать полученный сертификат (на запрос команды, следует ввести пароль к закрытому ключу):

    Экспортировать сертификат в PKCS#12:

    Экспортировать сертификат CA в формат PEM:

    Установка CA-less IPA

    Установить пароль к закрытому ключу в значение переменной PSWD:

    Установить CA-less IPA:

    На первый вопрос, нужно ли сконфигурировать DNS-сервер BIND ответить утвердительно:

    Далее нужно указать имя узла, на котором будет установлен сервер FreeIPA, доменное имя и пространство Kerberos:

    Задать пароль для Directory Manager (cn=Directory Manager):

    Задать пароль для администратора FreeIPA (будет создана учетная запись admin с правами администратора):

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

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

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

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

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

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

    Завершение установки

    После завершения сценария установки обновите записи DNS следующим образом:

    • добавить делегирование DNS из родительского домена в домен DNS FreeIPA. Например, если DNS-домен FreeIPA — ipa.example.test, добавьте запись сервера имен (NS) в родительский домен example.test;
    • добавить запись службы _ntp._udp (SRV) для сервера времени в DNS (Наличие записи SRV для сервера времени только что установленного сервера FreeIPA в DNS гарантирует, что будущие установки реплик и клиентов будут автоматически настроены для синхронизации с сервером времени, используемым этим первичным сервером FreeIPA):

    Убедиться, что сервер FreeIPA работает:

    Отладочная информация

    При установке сервера FreeIPA отладочная информация добавляется в следующие файлы журнала:

    • /var/log/ipaserver-install.log
    • /var/log/httpd2/error_log
    • /var/log/dirsrv/slapd-INSTANCE-NAME/access
    • /var/log/dirsrv/slapd-INSTANCE-NAME/errors
    • /var/log/ipaserver-install.log

    При установке CA отладочную информация также можно просмотреть в:

    • /var/log/pki/pki-ca-spawn.$TIME_OF_INSTALLATION.log — общие вопросы, для процесса установки pkispawn
    • journalctl -u pki-tomcatd@pki-tomcat
    • /var/log/pki/pki-tomcat/ca/debug.$DATE.log
    • /var/log/pki/pki-tomcat/ca/signedAudit/ca_audit
    • /var/log/pki/pki-tomcat/ca/system , /var/log/pki/pki-tomcat/ca/transactions , /var/log/pki/pki-tomcat/catalina.$DATE.log

    Удаление неудачной установки сервера FreeIPA

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

    Name already in use

    Work fast with our official CLI. Learn more about the CLI.

    Sign In Required

    Please sign in to use Codespaces.

    Launching GitHub Desktop

    If nothing happens, download GitHub Desktop and try again.

    Launching GitHub Desktop

    If nothing happens, download GitHub Desktop and try again.

    Launching Xcode

    If nothing happens, download Xcode and try again.

    Launching Visual Studio Code

    Your codespace will open once ready.

    There was a problem preparing your codespace, please try again.

    Latest commit

    Git stats

    Files

    Failed to load latest commit information.

    README.md

    На данной странице на примере описана процедура включения WEB-сервиса Apache2 в FreeIPA домен в семействе дистрибутивов ALTLinux P8

    В системе могуть существовать два класса пользователей:

    • локальные пользователи;
    • глобальные пользователи включенные в домен.

    Локальные пользователи (root) зарегистрированы только одном компьютере. Как правило они необходимы для выполнения административных или других функций характерных только для данного компьютера. Локальные пользователи при регистрации на локальном компьютере не получают kerberos-билет и не могут выполнять функций по управлению доменом.

    Глобальные пользователи зарегистрированы в общей сетевой openLDAP-базе и, как правило (если не оговорено иное), могут иметь доступ к любому компьютеру сети. Глобальные пользователи после регистрции в домене получают kerberos-билет и могут выполнять функции в рамках домена.

    Создание локальных пользователей

    Локальные пользователи создаются пользователем, имеющим административные права, командами adduser <user> , passwd <user> . Для локального пользователя создается домашний каталог /home/<user> и почтовый ящик. Удаление локального пользователя производится командой userdel [-r] <user> . При наличии флага -r удаляется домашний каталог и почтовый ящик пользователя.

    Создание глобальных пользователей

    Создание глобального пользователя

    Глобальных пользоваталей удобнее всего создавать в административном интерфейсе freeIPA . При первоначальном доступе введенный пароль считается устаревшим. Необходимо ввести старый пароль и задать новый. Удаление пользователей производится в рамках того же административного интерфейса.

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

    Часть административаных функций по настройке доменных сервисов можно выполнять только под глобальными пользователями имеющих посоле регистрации kerberos-билет. Так как на конфигурируемом компьютере, кроме этого, необходимо выполнять админстративные функции с правами суперпользователя (root) для глобальных пользователей, выполняющих административные функции (например пользователь admin) необходимо предоставить возможность получения прав суперпользователя. Для этого:

    • в локальном пользователе получите права суперпользователя командой
    • Включите глобального пользователя admin в локальную группу whell .
    • измените права доступа файла /ec/sudoers для возможности его редактирования:
    • раскоментируйте в файле /ec/sudoers строку предоставляющую доступ к правам root

    (если для доступа к административным функциям в целях безопасности необходимо введение пароля удалите клюяевой слово NOPASSWD ).

    • верните права доступа к файлу /ec/sudoers :

    После этого пользователь admin на данном компьютере получает возможность вызывать команду sudo для выполнения функций суперпользователя:

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

    Установка и конфигурирование Apache2-севрера

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

    Для запуска сервера воспользуйтесь командой:

    Домашняя страница Apache2-сервера

    После запуска WEB-сервер при обращении на стандартный HTT_порт 80 предоставляет доступ к документации по ALT8 СП:

    Конфигурирование виртуального WEB-хоста

    Настройка доменной авторизации для доступа к WEB-сервису

    Создание сервиса HTTP

    Список узлов домена

    Перед созданием сервиса убедитесь, что сервер, на котором запускается Apache2-сервис включен в список узлов администативного freeIPA-интерфейса под доменом локальной сети:

    По умолчанию при установке серверу присваивается домен localdomain. После установки необходимо сменить домен localdomain на домен локальной сети (детали у Дмитрия Чемерика). DNS-сервер после включения узла в домен должен отвечать на прямый запросы по домену сервера. Например:

    Зайдите в администартивном интерфейсе freeIPA во вкладку Службы и кликните по клавише Добавить. Во всплывающем интерфейск выберите сервис HTTP и узел, но котором установлен apache2 сервер.

    Добавление сервиса HTTP - выбор имени сервиса

    Добавление сервиса HTTP- выбор имени хоста

    Текущий список сервисов

    Зайдите на сервере с установленным apache2-сервисом под глобальным пользователем (admin) входящего в группу wheel (см выше) и вызовате команду генерации keytab-файла для HTTP-сервиса:

    Установка модулей авторизации

    В качестве модуля авторизации используется модуль GSSAPI. Его установка и инициализация производится командами:

    Добавление доменной авторизации в файл конфигурации WEB-сервиса

    Для поддержки доменной аутентификации и авторизации с поддержкой kerberos добавьте в конфигурационный файл или файл .htaccess защищаемого подкаталога Apache2-сервера параметры авторизации:

    01. Подготовка хостов к установке реплик FreeIPA

    1.3. Учитывая, что обращение за rpm-пакетами к Nexus Repository Manager производится по ip-адресу, то обнуляем /etc/resolv.conf :

    1.4. Задаём имя машины в нижнем регистре с указанием имени будущего домена:

    2. Добавление необходимых пакетов

    2.1. Смотрим список доступных потоков:

    2.2. Включаем модуль, в котором находится всё необходимое для установки FreeIPA-сервера:

    В случае возникновения ошибки:
    Error: It is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_ stream_switch. It is recommended to rather remove all installed content from the module, and reset the module using ‘dnf module reset ’ command. After you reset the module, you can install the other stream.
    необходимо выполнить команду:
    sudo dnf -y module reset idm:DL1 && sudo dnf -y module enable idm:DL1

    2.3. Переключаем получение необходимых для установки FreeIPA пакетов на доставку из модуля ‘idm:DL1’, одновременно синхронизируя уже полученные пакеты:

    2.4. Добавляем в систему пакеты для последующей установки FreeIPA-сервера со встроенным DNS-резольвером:

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

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