Оглавление |
---|
Информация |
---|
Данная статья актуальна в случаях, когда FreeIPA используется без центра сертификации DogTag (ситуации, типичная для использования FreeIPA в ОС СН Astra Linux SE) |
Информация |
---|
Данная статья применима к:
|
Информация |
---|
При использовании FreeIPA на любой версии ОС Astra Linux без возможности использования центра сертификации DogTag рекомендуется использовать для управления ключами графический инструмент XCA. Порядок создания сертификатов описан в соответствующих статьях про этот инструмент. Далее в статье рассматривается ситуация, когда службы FreeIPA установлены с использованием автоматической генерации самоподписанных сертификатов (инструмент astra-freeipa-server или fly-admin-freeipa-server). |
Установка, настройка, общие принципы работы с XCA
Установка, базовая настройка, общие принципы работы с инструментом XCA описаны в соответствующей статье.
Импорт ключей и сертификатов в XCA
Где искать ключи и сертификаты
При установке FreeIPA с помощью инструментов astra-freeipa-server или fly-admin-freeipa-server с использованием автоматической генерации ключей и сертификатов созданные файлы сохраняются в каталоге /etc/ssl/freeipa.
Перечень файлов:
Имя файла | Описание |
---|---|
ca.crt | Сертификат открытого ключа удостоверяющего центра в формате PEM |
ca.key | Закрытый ключ удостоверяющего центра |
ca.srl | |
server.crt | Сертификат открытого ключа сервера FreeIPA в формате PEM |
server.csr | Запрос на выпуск сертификата открытого ключа сервера FreeIPA |
server.key | Закрытый ключ сервера FreeIPA |
server.p12 | Сертификат открытого ключа сервера FreeIPA в формате PKCS#12 |
Импорт ключей и сертификатов в XCA
- Запустить XCA от имени суперпользователя (root);
- Создать новую базу данных, если она не была создана ранее;
- Последовательно импортировать нужные ключи и сертификаты:
- Закрытый ключ удостоверяющего центра /etc/ssl/freeipa/ca.key;
- Сертификат открытого ключа удостоверяющего центра /etc/ssl/freeipa/ca.crt;
- Закрытый ключ сервера FreeIPA /etc/ssl/freeipa/server.key;
- Сертификат открытого ключа сервера FreeIPA /etc/ssl/freeipa/server.crt;
Выпуск нового сертификата сервера FreeIPA
Для выпуска нового сертификата сервера FreeIPA проще всего воспользоваться уже импортированным сертификатом в качестве образца.
Для этого:
- В инструменте XCA перейти в список сертификатов;
- Нажать правой кнопкой мыши на ранее импортированный сертификат сервера FreeIPA;
- Во всплывающем меню выбрать "Transform" - "Similar Certificate";
В появившейся форме с копией существующего сертификата внести нужные исправления (в частности, уточнить сроки начала и окончания действия сертификата);
Информация Срок начала действия сертификата должен быть строго позже срока начала действия сертификата удостоверяющего центра.
Рекомендуется прибавить 30 несколько минут к сроку начала действия, полученному из автоматически созданного сертификата.- Сохранить новый сертификат, нажав кнопку "Да".
Экспорт нового сертификата
- Выбрать нужный сертификат;
- Нажать кнопку "Экспорт";
- Выбрать имя файла для сохранения сертификата;
- Выбрать формат экспорта "PEM (*.crt)";
- Оставить пустой пароль, нажать кнопку "Да" для сохранения сертификата;
Создание сертификата вручную из командной строки
Создать новый сертификат можно с помощью инструментов командной строки, входящих в состав пакета OpenSSL.
Для этого:Создать
1. Создать новый запрос на выпуск сертификата командой
Command |
---|
openssl req -new -key /etc/ssl/freeipa/server.key -nodes -out ipa.ipadomain.leru.csr -subj "/CN=ipa.ipadomain.ru" |
Описание параметров команды:
Параметр | Описание |
---|---|
req | Указывает, что требуется создать запрос на выпуск сертификата |
-new | Указывает, что требуется только создать сертификат, не подписывая его |
-key имя_файла | Имя файла закрытого ключа, для которого должен быть выпущен сертификат. В примере это закрытый ключ сервера в файле /etc/ssl/freeipa/server.key, автоматически созданный инструментом astra-freeipa-server при инициализации сервера FreeIPA. |
-out имя_файла | Имя файла, в котором должен быть сохранён создаваемый запрос на выпуск сертификата. В примере это файл ipa.ipadomain.ru.csr |
-subj строка_имени_сервера | Имя домена FreeIPA, которое должно быть указано в сертификате в форме /CN=имя_домена. В примере используется имя ipa.ipadomain.ru |
2. Подписать созданный запрос на выпуск сертификата командой
Command |
---|
openssl x509 -req -in ipa.ipadomain.ru.csr -CA /etc/ssl/freeipa/ca.crt -CAkey /etc/ssl/freeipa/ca.key -out ipa.ipadomain.ru.crt -days 3650 |
Описание параметров команды:
Параметр | Описание |
---|---|
x509 | Указывает, что требуется выпустить сертификат закрытого ключа. |
-req | Указывает, что сертификат требуется выпустить на основании запроса. |
-in имя_файла | Указывает имя файла, из которого следует прочитать запрос. В примере это ранее созданный файл ipa.ipadomain.ru.csr. |
-CA имя_файла | Указывает имя файла, содержащего сертификат закрытого ключа, которым следует подписать новый сертификат. В примере это сертификат удостоверяющего центра в файле /etc/ssl/freeipa/ca.crt, автоматически созданный инструментом astra-freeipa-server при инициализации сервера FreeIPA. |
-CAkey имя_файла | Указывает имя файла, содержащего закрытый ключ, которым следует подписать новый сертификат. В примере это закрытый корневой ключ удостоверяющего центра в файле /etc/ssl/freeipa/ca.key, автоматически созданный инструментом astra-freeipa-server при инициализации сервера FreeIPA. |
-out имя_файла | Имя файла, в котором нужно сохранить выпущенный и подписанный сертификат. В примере это ipa.ipadomain.ru.crt |
-days число | Срок (количество дней), с течении которого будет действителен выпускаемый сертификат. В примере - 3650 дней, т.е. примерно 10 лет. |
Импорт сертификата в FreeIPA
Через WEB-интерфейс
Скопировать сертификат в формате PEM в clipboard (например, открыв файл, в который экспортирован сертификат, с помощью текстового редактора kate);
Информация В ОС ОН Astra Linux CE сертификат можно скопировать в clipboard непосредственно из XCA - Войти в WEB-интерфейс FreeIPA;
- Перейти в "Профиль" - "Службы";
- Выбрать нужную службу (например, "HTTP:/...";
- Нажать кнопку "Добавить";
- В открывшееся окно вставить копию сертификата;
- Нажать кнопку "Добавить" для сохранения;
Из командной строки
В ситуации, когда WEB-интерфейс недоступен (например, по причине истёкшего срока действия сертификата), для импорта сертификата в FreeIPA можно использовать инструмент командной строки certutil.
- Создать и экспортировать новый сертификат из XCA в файл по процедурам, описанным выше;
Удалить старый сертификат из базы данных сертификатов /etc/apache2/nssdb командой (пример, для сервера с именем ipa.ipadomain.ru):
Command certutil -d /etc/apache2/nssdb -D -n ipa.ipadomain.ru Добавить новый сертификат командой (пример для сертификата, находящегося в файле с именем certificate.crt):
Command certutil -d /etc/apache2/nssdb -A -t ,,, -n ipa.ipadomain.ru -i certificate.crt После параметра -t - пробел и три запятые.
Перезапустить сервисы FreeIPA командой
Command ipactl restart