Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

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

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

См. также:


Информация
titleДанная статья применима к:
ОС СН Смоленск 1.6 Update 5
  • 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:

      Command
      sudo systemctl enable --now ssh


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

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

      Command
      sudo astra-freeipa-server-ctr 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. Команда:

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



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

    Command
    sudo astra-freeipa-server-ctr crt --host replica1.ipadomain.ru --push admin

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

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

Блок кодаastra-freeipa-server-crt --help Выпуск сертификата для сервера FreeIPA. Вызов: astra-freeipa-server-crt [--host FQDN] [--cacrt FILE.CRT] [--cakey FILE.KEY] [--sekey FQDN.KEY] [--help] Если будет создан новый закрытый ключ сервера он будет размещён в файле "FQDN.key". Созданный закрытый ключ будет далее использоваться для выпуска и перевыпуска всех сертификатов. !!! Замена закрытых ключей данным сценарием не поддерживается !!! Выпущенный сертификат будет размещен в файле "FQDN-TIMESTAMP.crt" в каталоге для размещения сертификатов. Экспортированный в контейнер сертификат будет размещен в файле "FQDN-TIMESTAMP.p12" в каталоге для размещения сертификатов. Сертификаты могут быть скопированы на удалённую машину и зарегистрированы там в БД сертификатов.. В качестве TIMESTAMP используются текущие дата и время в формате: "%y%m%d-%H%M%S" (см. справку man date). !!! Для формирования TIMESTAMP используется всемирное координированное время (UTC). TIMESTAMP изменяется при каждом запуске !!! Ключ и сертификат выпускаются со следующими фиксированными параметрами: Алгоритм и длина закрытого ключа rsa:2048 (см. man openssl). Срок действия сертификата: 3650 Опции: --certdir DIR - Имя каталога для поиска ключа и сертификата удостоверяющего центра, и для размещения создаваемых сертификатов. Если каталог не существует - он будет создан. Выбрано имя "/etc/ssl/freeipa". --host FQDN - Полное доменное имя (FQDN) сервера, для которого выпускается сертификат. Выбрано имя "ipa0.ipadomain0.ru". Если имя не задано - используется hostname текущего сервера. --cacrt FILE - Имя файла с существующим сертификатом удостоверяющего центра. Выбрано имя "/etc/ssl/freeipa/ca.crt". --cakey FILE - Имя файла с существующим закрытым ключом удостоверяющего центра. Выбрано имя "

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

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

      Command
      sudo astra-freeipa-server-crt --host `hostname` --sekey /etc/ssl/freeipa/
ca.key". --sekey FILE - Имя файла с закрытым ключом сервера. Если файл не существует - будет создан новый закрытый ключ. Если имя не задано - ключ будет размещен в файле с именем "FQDN.key" в каталоге для размещения сертификатов. Выбрано имя "
    1. server.key


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

      Command
      sudo ln -s /etc/ssl/freeipa/
ipa0.ipadomain0
    1. server.
ru.
    1. key
". --sekey_parm ALG - Алгоритм и длина закрытого ключа сервера. Выбрано значение "rsa:2048" (см. man openssl). --secrt_days NUM - Срок действия выпускаемого сертификата, дней. Выбрано значение "3650" (см. man openssl). --export - Экспортировать сертификат в контейнер формата pkcs12 для установки нового сервера (новой реплики) FreeIPA. Экспорт будет выполнен в файл "
    1. /etc/ssl/freeipa/`hostname`.key 


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

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

Command
astra-freeipa-server-crt --helpipa0.ipadomain0.ru-200320-082415.p12". Не требуется для обновления сертификата уже установленного сервера. --pin PIN - Пароль ("пин") для экспорта сертификата. Чтобы задать пустой пароль укажите пробел в кавычках: --pin " " Если никакой пароль не задан - он будет запрошен. --push ADMIN - Попытаться скопировать через ssh/scp созданные файлы на сервер, указанный в параметре --host, и зарегистрировать их. В параметре ADMIN можно задать не только имя пользователя, но и адрес целевого сервера, например: "admin@192.168.32.11". Все действия будут выполняться от имени "admin". Все файлы будут копироваться в домашний каталог этого пользователя. Если выполнялся экспорт сертификата для нового сервера (новой реплики), сертификат будет скопирован в файл с именем "ipa0.ipadomain0.ru.p12". Если создавался новый сертификат для существующего сервера, то: - Копия этого сертификата будет скопирована в файл с именем "ipa0.ipadomain0.ru.crt"; - Будет сделана попытка зарегистрировать его в БД сертификатов "/etc/apache2/nssdb". !!! После регистрации нового сертификата в БД сертификатов службы FreeIPA должны быть перезапущены вручную !!! -y - Выполнять действия без запроса подтверждения. --help | -h - Вывести эту подсказку. Никакие реальные действия выпоняться не будут. Если этот ключ указан не первым, то в подсказке будут выведены значения, установленные предшествующими ключами.