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

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

См. также:

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

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • 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, то должно быть обеспечено сохранение резервных копий баз данных 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. Пользователь-администратор на сервере-реплике:
      1. Выполняет настройки параметров хоста (IP-адрес, адрес сервера DNS, hostname) и установку пакетов. В том числе на сервере - реплике запускается служба SSH:

        sudo systemctl enable --now ssh

    2. На основном сервере выпускается сертификат устанавливаемого контроллера-реплики. Для этого используется инструмент 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 и более поздние обновления).

    3. На сервере-реплике выполняется инициализация контроллера домена. Операция выполняется пользователем-администратором, из его домашнего каталога, в который на предыдущем шаге скопирован контейнер 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. Для того, чтобы использовать ключ первого сервера при обновлении сертификатов этого сервера следует:

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

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

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

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

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

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

astra-freeipa-server-crt --help