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

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

Ключ

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

Оглавление


Информация
Данная статья актуальна в случаях, когда FreeIPA используется без центра сертификации DogTag (ситуации, типичная для использования FreeIPA в ОС СН Astra Linux SE)



Информация

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

  • ОС ОН Орёл 2.12
  • ОС СН Смоленск 1.6
  • ОС СН Ленинград 8.1



Информация

При использовании FreeIPA на любой версии ОС Astra Linux без возможности использования центра сертификации DogTag рекомендуется использовать для управления ключами  графический инструмент XCA.

Порядок создания сертификатов описан в соответствующих статьях про этот инструмент.

Далее в статье рассматривается ситуация, когда службы FreeIPA установлены с использованием автоматической генерации самоподписанных сертификатов (инструмент astra-freeipa-server или fly-admin-freeipa-server).
Статья также применима в случаях установки с использованием сертификатов внешнего удостоверяющего центра.


Применение XCA

Установка, настройка, общие принципы работы с 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

  1. Запустить XCA от имени суперпользователя (root);
  2. Создать новую базу данных, если она не была создана ранее;
  3. Последовательно импортировать нужные ключи и сертификаты:
    1. Закрытый ключ удостоверяющего центра /etc/ssl/freeipa/ca.key;
    2. Сертификат открытого ключа удостоверяющего центра /etc/ssl/freeipa/ca.crt;
    3. Закрытый ключ сервера FreeIPA /etc/ssl/freeipa/server.key;
    4. Сертификат открытого ключа сервера FreeIPA /etc/ssl/freeipa/server.crt;

Выпуск нового сертификата сервера FreeIPA

Для выпуска нового сертификата сервера FreeIPA проще всего воспользоваться уже импортированным сертификатом в качестве образца.

Для этого:

  1. В инструменте XCA перейти в список сертификатов;
  2. Нажать правой кнопкой мыши на ранее импортированный сертификат сервера FreeIPA;
  3. Во всплывающем меню выбрать "Transform" - "Similar Certificate";
  4. В появившейся форме с копией существующего сертификата внести нужные исправления (в частности, уточнить сроки начала и окончания действия сертификата);

    Информация
    Срок начала действия сертификата должен быть строго позже срока начала действия сертификата удостоверяющего центра.
    Рекомендуется прибавить несколько минут к сроку начала действия, полученному из автоматически созданного сертификата.


  5. Сохранить новый сертификат, нажав кнопку "Да".

Экспорт нового сертификата

  1. Выбрать нужный сертификат;
  2. Нажать кнопку "Экспорт";
  3. Выбрать имя файла для сохранения сертификата;
  4. Выбрать формат экспорта "PEM (*.crt)";
  5. Оставить пустой пароль, нажать кнопку "Да" для сохранения сертификата;

Создание сертификата вручную из командной строки

Создать новый сертификат можно с помощью инструментов командной строки, входящих в состав пакета OpenSSL.
Для этого:

1. Создать новый запрос на выпуск сертификата командой

Command
openssl req -new -key /etc/ssl/freeipa/server.key -out ipa.ipadomain.ru.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-интерфейс

  1. Скопировать сертификат в формате PEM в clipboard (например, открыв файл, в который экспортирован сертификат, с помощью текстового редактора kate);

    Информация
    В ОС ОН Astra Linux CE сертификат можно скопировать в clipboard непосредственно из XCA


  2. Войти в WEB-интерфейс FreeIPA;
  3. Перейти в "Профиль" - "Службы";
  4. Выбрать нужную службу (например, "HTTP:/...";
  5. Нажать кнопку "Добавить";
  6. В открывшееся окно вставить копию сертификата;
  7. Нажать кнопку "Добавить" для сохранения;

Из командной строки

В ситуации, когда WEB-интерфейс недоступен (например, по причине истёкшего срока действия сертификата), для импорта сертификата в FreeIPA можно использовать инструмент командной строки certutil.

  1. Создать и экспортировать новый сертификат  из XCA в файл по процедурам, описанным выше;
  2. Удалить старый сертификат из базы данных сертификатов /etc/apache2/nssdb командой (пример, для сервера с именем ipa.ipadomain.ru):

    Command
    certutil -d /etc/apache2/nssdb -D -n ipa.ipadomain.ru


  3. Добавить новый сертификат командой (пример для сертификата, находящегося в файле с именем certificate.crt):

    Command
    certutil -d /etc/apache2/nssdb -A -t ,,, -n ipa.ipadomain.ru -i certificate.crt

    После параметра -t - пробел и три запятые.

  4. Перезапустить сервисы FreeIPA командой

    Command
    ipactl restart