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

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

Ключ

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

Оглавление


Информация

Дополнительная информация по работе  XCA содержится в

статьях Управление ключами: XCA и Создание ключей
  • ОС ОН Орёл 2.12
  • ОС СН Смоленск 1.6
  • ОС СН Ленинград 8.1

Подготовка

Установить на сервере инструмент командной строки XCA:

Информация

apt install xca

Запустить инструмент с помощью графического меню
Информация

Пуск => "Утилиты" => "Цифровые сертификаты XCA"

при необходимости установить русский язык: 

Информация
"File" => "Language" => "Russian"

и создать базу данных, в которой будут храниться сертификаты:

Информация

«Файл» => «Новая база данных» Выбрать место хранения базы=> Задать имя базы => «Сохранить» => При необходимости задать пароль для доступа к базе данных.

Создание корневого сертификата

В инструменте XCA

Перейти на вкладку «Сертификаты»и выбрать «Новый сертификат»;
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)

  • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2

  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)

  • Astra Linux Common Edition 2.12



Предупреждение
Для обеспечения возможности восстановления работы в случае нештатных ситуаций необходимо:
После установки первого контроллера домена FreeIPA сохранить резервную копию каталога /etc/ssl/freeipa с корневым сертификатом созданного удостоверяющего центра. Кроме того, должно быть обеспечено сохранение резервных копий баз данных XCA. См., например, Архивирование и восстановление файлов с сохранением мандатных атрибутов.


Исходные данные

  • FreeIPA установлена без использования службы сертификатов DogTag;
  • Имя домена: IPADOMAIN.RU;
  • Имя основного сервера: SERVER.IPADOMAIN.RU;
  • Имя сервера-реплики: REPLICA.IPADOMAIN.RU.

В качестве центра сертификации может использоваться любой компьютер, не обязательно находящийся в домене. Описанная процедура позволяет получить сертификаты, максимально близкие к сертификатам, которые выпускаются при использовании центра сертификации DogTag.

Предполагается, что центр сертификации XCA установлен и настроен. Порядок установки и настройки см. в статье XCA: графический инструмент для работы с сертификатами и ключевыми носителями


Создание сертификата для сервера

  • Перейти на вкладку «Сертификаты»и нажать кнопку «Новый сертификат».
    • Для использования для подписания ранее созданного сертификата установить отметку «Use this Certificate for signing» => «rootCA».
    • Выбрать шаблон для нового сертификата "[Default] HTTPS_server".
Выбрать "Шаблон для нового сертификата"  "[Default] CA";
    • Нажать кнопку "Применить всё"
;
    • .
  • Перейти на вкладку
«Владелец»;
  • «Субъект» («Владелец»).
    • (рекомендуется) в поле "organizatioName" указать имя домена (IPADOMAIN.RU).
    • В полях "commonName" и "Внутреннее имя" указать полное доменное имя сервера (строчными буквами) "server.ipadomain.ru", "replica.ipadomain.ru" и т. д.

      Предупреждение
      Для того, чтобы сертификат был пригоден для работы с протоколом SSL имя, указанное в поле commonName, должно совпадать с DNS-именем сервера
В поле "commonName" указать имя сертификата (например, rootCA)

    • Выбрать «Создать новый ключ»
:
    • .
      • В поле «Имя ключа» указать имя ключа, например
rootKey 
      • serverKey.
      • Нажать «Создать».
    • По необходимости заполнить остальные поля.
  • Перейти
на
  • во вкладку «Расширения».
    Убедиться, что выбран «Тип» «Центр Сертификации»;
      • Выбрать «Тип» «Конечный субъект» («Конечный пользователь»).
      • Отметить пункты "Critical", "Subject Key identifier", "Authority key Identifier".
      • Определить срок действия сертификата: «Временной диапазон» =>
    10
  • Сохранить созданный сертификат: «Применить» => «Да»
  • Создание сертификата для сервера

  • Перейти на вкладку «Сертификаты»и «Новый сертификат»;
    • Для использования для подписания ранее созданного сертификата установить отметку «Use this Certificate for signing» => «rootCA»; 
    • Выбрать шаблон для нового сертификата "[Default] HTTPS_server"
    • Нажать кнопку "Применить всё"
  • Перейти на вкладку «Владелец»;
    • Выбрать «Создать новый ключ»;
      • В поле «Имя ключа» указать имя ключа, например serverKey;
      • Нажать «Создать»;
    • Задать в соответствующих полях «Внутреннее имя»  «FQDN сервера» или «FQDN реплики» и «commonName» так же «FQDN»;
  • Перейти во вкладку «Расширения»;
    • Выбрать «Тип» «Конечный пользователь»;
    • Отметить пункты "Critical", "Subject Key identifier", "Authority key Identifier"
    • Определить срок действия сертификата: «Временной диапазон» => 5;
    • Заполнить поле "X509v3 Subject Alternative Name"  так же, как поля "Внутреннее имя" и "commonName" ;
      • 5.
      • В строке "X509v3 Subject Alternative Name" необходимо стереть значение по умолчанию (DNS:....) и оставить её пустой.
        Это значение будет задано далее с помощью текстового описания (вкладка "Дополнительно").
    • Перейти на вкладку "Область применения ключа".
      • В левой части ("x509 v3 Key Usage") отметить пункты:
        • "Critical".
      • В левой части ("x509 v3 Key Usage") выбрать функции:
        • "Digital Signature";
        • "Non Repudiation";
        • "Key Encipherment";
        • "Data Encipherment";
        • "Key Agreement".
      • В правой части ("x509 v3 Extanded Key Usage") выбрать расширенные функции:
        • "TLS Web Server Authentication";
        • "KDC Authentication" (может также называться "Signing KDC response").
      • Дополнительно могут потребоваться следующие функции сертификата:
        • "OCSP Signing" - для службы протокола протокола OCSP;
        • "E-mail protection" - для ca-agent.
    • Перейти во вкладку "Дополнительно" и нажать кнопку "Редактировать".
      • Удалить все записи в открывшемся окне.
      • Вставить в окно следующий текст, указав нужные имена домена и сервера (текст, который нужно заменить выделен красным). Имя домена указывается заглавными буквами:

        Информация

        issuerAltName=issuer:copy
        subjectAltName=otherName:1.3.6.1.5.2.2;SEQUENCE:kdc_princ_name,DNS:server.ipadomain.ru

        [kdc_princ_name]
        realm = EXP:0, GeneralString:IPADOMAIN.RU
        principal_name = EXP:1, SEQUENCE:kdc_principal_seq

        [kdc_principal_seq]
        name_type = EXP:0, INTEGER:1
        name_string = EXP:1, SEQUENCE:kdc_principals

        [kdc_principals]
        princ1 = GeneralString:krbtgt
        princ2 = GeneralString:IPADOMAIN.RU

        При этом последняя строка зависит от используемой ОС:

        • Для Astra Linux Specisl Edition x.7 пример приведен выше:

          Информация

          princ2 = GeneralString:IPADOMAIN.RU


        • Для более ранних обновлений Astra Linux Special Edition и для Astra Linux Common Edition:

          Информация

          princ2 = GeneralString:IPADOMAIN.RU@IPADOMAIN.RU


    • Нажать кнопку "Проверить".
    • Нажать кнопку "Да" для сохранения сертификата.
    • Если при сохранении сертификата выдаётся сообщение "The certificate will be earlier valid than the signer. This is probably not what you want.", то нажать кнопку "Скорректировать дату и продолжить".

    Импорт сертификата  (для включения сервера реплики)

    1. Запустить инструмент XCA на основном сервере от имени суперпользователя.
    2. Создать, при необходимости, новую базу данных XCA.
    3. Импортировать в XCA корневой сертификат, автоматически созданный при установке основного сервера FreeIPA. Сертификат находится в файле:

      Информация
      /etc/ssl/freeipa/ca.crt


    4. Импортировать в XCA закрытый ключ корневого сертификата, автоматически созданный при установке основного сервера FreeIPA. Ключ находится в файле:

      Информация
      /etc/ssl/freeipa/ca.key

      Если всё сделано правильно, то закрытый ключ автоматически привяжется к сертификату. Проверить это можно в свойствах сертификата.


    5. Импортировать в XCA сертификат и ключ сервера FreeIPA:

      Информация
      /etc/ssl/freeipa/server.crt
      /etc/ssl/freeipa/server.key

      Image Added

      В случае правильного выполнения операции импортированный сертификат автоматически привяжется к корневому сертификату:

      Image Added



      Информация

      Если импортировать существующий сертификат сервера то вместо "ручного" создания следующих сертификатов вручную можно просто копировать импортированный сертификат:
      Открыть список сертификатов

      • Правой кнопкой мыши выбрать копируемый сертификат;
      • В открывшемся меню выбрать "Преобразовать" -  "Похожий сертификат" ("Transform" - "Similar Certificate");
      • Далее следовать по шагам описанным в разделе "Создание сертификата для сервера"
    Сохранить созданный сертификат«Применить» => «Да»;


    Экспорт сертификата

    • Выбрать нужный сертификат сервера, далее «Экспорт» => «Формат экспорт» => PKCS12 chain => «Да»
    • Задать пароль на экспортируемый контейнер => «Да»

    На предполагаемом сервере установить пакет astra-freeipa-server:

    info
    Command
    sudo apt install astra-freeipa-server

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

    , нужно

    запустить команду «astra-freeipa-server» с дополнительными ключами -l <путь_к_контейнеру> и -lp <пароль_контейнера>, например:

    info
    Command
    #
    sudo astra-freeipa-server -l /root/server.example.com.p12 -lp Password123

    Посмотреть другие ключи команды astra-freeipa-server можно

    так

    командой:

    info
    Command
    #
    astra-freeipa-server --help

    Импорт корневого сертификата в web-браузер

    Для того, чтобы web-браузер признавал подлинность сертификатов, выписанных с помощью XCA, нужно импортировать в web-браузер корневой сертификат удостоверяющего центра XCA. Для этого:

    1. В XCA экспортировать корневой сертификат в формате "PEM (*.crt)";

      Информация

      При автоматическом создании сертификатов корневой сертификат находится в файле /etc/ssl/freeipa/ca.crt


    2. Скопировать полученный файл на целевой сервер.
    3. В web-браузере (на примере web-браузера FireFox):
      1. открыть панель настроек;
      2. перейти в раздел "Приватность и защита";
      3. перейти в раздел "Сертификаты" - "Просмотр сертификатов";
      4. в закладке "Центры сертификации" нажать кнопку "Имортировать";
      5. выбрать нужный файл с сертификатом;
      6. нажать кнопку "Открыть";
      7. выбрать функцию "Доверять при идентификации веб-сайтов";
      8. нажать "ОК";
      9. перезапустить web-браузер.



    Информация
    Для повторяющегося создания типовых сертификатов можно создать собственный шаблон с типовыми настройками.


    Информация
    При наличии ранее созданных сертификатов можно импортировать их в XCA и воспользоваться функцией XCA "Преобразовать" - "Похожий сертификат" (доступ через контекстное меню по правой кнопке мыши) для создания копии, после чего исправить в копии нужные атрибуты, или использовать эту копию в качестве шаблона.