Page tree

Инструмент astra-freeipa-server-crt автоматизирует выпуск сертификатов для серверов (реплик) FreeIPA.
Предназначен для автоматизации работы в системах, в которых не применяется DogTag, являющийся штатной системой управления сертификатами FreeIPA.

Данная статья предполагает, что читатель ознакомлен с базовыми материалами по установке Контроллер ЕПП FreeIPA в Astra Linux

См. также:

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Операционная Система Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным оперативным обновлением БЮЛЛЕТЕНЬ № 20200722SE16 (Update 6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
Для обеспечения возможности восстановления работы в случае нештатных ситуаций необходимо после установки первого контроллера домена FreeIPA сохранить резервную копию каталога /etc/ssl/freeipa с корневым сертификатом созданного удостоверяющего центра. Кроме того, должно быть обеспечено сохранение резервных копий баз данных XCA. См., например, Архивирование и восстановление файлов с сохранением мандатных атрибутов.

Сценарий применения

  1. Первый контроллер домена FreeIPA инициализируется с помощью инструмента astra-freeipa-server с использованием автоматического выпуска самоподписанного корневого сертификата и без использования центра авторизации DogTag.

    С точки зрения работы схемы репликации FreeIPA все серверы-реплики равноправны, однако с точки зрения установки и развертывания FreeIPA выделяется первый сервер, на котором создаются ключ и сертификат удостоверяющего центра. Далее этот сервер (контроллер) условно называется "первый".

    На первом контролере при инициализации без использования DogTag в каталоге /etc/ssl/freeipa автоматически создаются файлы:

    1. /etc/ssl/freeipa/ca.key - закрытый ключ удостоверяющего центра;
    2. /etc/ssl/freeipa/ca.crt - сертификат закрытого ключа удостоверяющего центра;
    3. /etc/ssl/freeipa/server.key - закрытый ключ сервера;
    4. /etc/ssl/freeipa/server.crt - сертификат закрытого ключа сервера; 

  2. При добавлении сервера-реплики:

    1. Пользователь-администратор на сервере-реплике выполняет настройки параметров хоста (IP-адрес, адрес сервера DNS, hostname) и установку пакетов. В том числе на сервере - реплике запускается служба SSH:

      sudo systemctl enable --now ssh

    2. Пользователь-администратор на сервере-реплике выполняет ввод сервера в домен;

    3. Для выпуска сертификатов следующих устанавливаемых контроллеров-реплик используется инструмент astra-freeipa-server-crt. Пример команды, выполняемой на основном сервере:

      sudo astra-freeipa-server-crt --host replica1.ipadomain.ru --export --push localadm@192.168.32.1 --pin 12345
      где:
      --host - полное доменное имя нового сервера-реплики;
      --export - указание выгрузить контейнер закрытого ключа и сертификата в файл-контейнер в формате pksc12;
      --push - указание скопировать контейнер pkcs12 на сервер, где будет выполняться установка, в домашний каталог пользователя localadm (в общем случае это пользователь-администратор, заданный при установке системы) в файл с именем replica1.ipadomain.ru.p12 (в качестве имени используется полное доменное имя целевого сервера с расширением .p12);
      --pin - пароль к создаваемому контейнеру.
      Сертификаты по умолчанию создаются для того обновления ОС, на котором выполняется команда. Для создания сертификатов для других обновлений ОС следует дополнительно использовать опции:
      --46 — создавать сертификаты для FreeIPA v4.6.x. Используется по умолчанию для Astra Linux Common Edition 2.12, Astra Linux Special Edition. 1.6/8.1;
      --48 — создавать сертификаты для FreeIPA v4.8.x (Astra Linux Special Edition x.7).

    4. Установка FreeIPA на сервере-реплике выполняется пользователем-администратором, из его домашнего каталога, в который на предыдущем шаге скопирован контейнер pksc12. Команда:

      sudo astra-freeipa-replica -a replica1.ipadomain.ru.p12 --pin 12345

  3. По мере необходимости (например, при истечении срока действия сертификатов) выпуск новых сертификатов и отправка их на серверы-реплики выполняется командой:

    sudo astra-freeipa-server-crt --host replica1.ipadomain.ru --push admin
    где
    --host - полное доменное имя сервера-реплики;
    --push - указание автоматически установить выпущенный сертификат на сервере реплике, действуя от имени пользователя admin (имя администратора домена "по умолчанию").

    Новые сертификаты следует выпускать с использованием ранее выпущенного закрытого ключа сервера. По умолчанию для новых серверов файлы с новыми ключами создаются с именем, совпадающим с именем сервера, и они же используются для создания новых сертификатов. Исключением является первый сервер, ключ которого лежит в файле /etc/ssl/freeipa/server.key. Для того, чтобы использовать ключ первого сервера при обновлении сертификатов этого сервера следует:

    1. Использовать опцию --sekey, позволяющую явно указать используемый ключ, например:

      sudo astra-freeipa-server-crt --host `hostname` --sekey /etc/ssl/freeipa/server.key

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

      sudo ln -s /etc/ssl/freeipa/server.key /etc/ssl/freeipa/`hostname`.key 

Справка по программе

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

astra-freeipa-server-crt --help

  • No labels