Инструмент 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 инициализируется с помощью инструмента astra-freeipa-server без использования центра авторизации DogTag. При этом инструмент обеспечивает автоматический выпуск самоподписанного корневого сертификата удостоверяющего центра и выпуск сертификата сервера.
С точки зрения работы схемы репликации FreeIPA все серверы-реплики равноправны, однако с точки зрения установки, развертывания и сопровождения FreeIPA выделяется первый сервер. Особенность этого сервера состоит в том, что на нем создаются ключ и сертификат открытого ключа удостоверяющего центра. Далее этот сервер (контроллер) условно называется "первый".На первом контролере при инициализации без использования DogTag в каталоге /etc/ssl/freeipa автоматически создаются файлы:
- /etc/ssl/freeipa/ca.key - закрытый ключ удостоверяющего центра;
- /etc/ssl/freeipa/ca.crt - самоподписанный сертификат открытого ключа удостоверяющего центра домена (УЦ);
- /etc/ssl/freeipa/server.key - закрытый ключ сервера;
- /etc/ssl/freeipa/server.crt - сертификат открытого ключа сервера, подписанный сертификатом УЦ;
При добавлении сервера-реплики:
- Пользователь-администратор на сервере-реплике:
Выполняет настройки параметров хоста (IP-адрес, адрес сервера DNS, hostname) и установку пакетов. В том числе на сервере - реплике запускается служба SSH:
sudo systemctl enable --now ssh
На основном сервере выпускается сертификат устанавливаемого контроллера-реплики. Для этого используется инструмент 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 и более поздние обновления).На сервере-реплике выполняется инициализация контроллера домена. Операция выполняется пользователем-администратором, из его домашнего каталога, в который на предыдущем шаге скопирован контейнер pksc12. Команда:
sudo astra-freeipa-replica -a replica1.ipadomain.ru.p12 --pin 12345
- Пользователь-администратор на сервере-реплике:
По мере необходимости (например, при истечении срока действия сертификатов) выпуск новых сертификатов и отправка их на серверы-реплики выполняется командой:
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
Справка по программе
Актуальная справка по программе доступна во встроенной подсказке: