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

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

Ключ

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

Оглавление


Информация

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

  • Управление ключами: XCA
  • Создание ключей
  • Настройка реплики FreeIPA с использованием XCA
  • info
    Данная статья применима к:
  • ОС ОН Орёл 2.12
    • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
    • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление

    ОС СН Смоленск
    • 1.6

  • ОС СН Ленинград 8.1
    • )

    • 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;

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

    Имя домена IPADOMAIN.RU

    Имя основного сервера SERVER.IPADDOMAIN.RU
    • Имя сервера-реплики: REPLICA.IPADOMAIN.
    LE
    • RU.

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

    Подготовка

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

    Информация

    apt install xca

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

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

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

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

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

    Информация

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

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

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

    • Перейти на вкладку «Сертификаты»и выбрать «Новый сертификат»;
      • Убедиться, что выбран пункт "Создать самоподписанный сертификат...";
      • Выбрать "Шаблон для нового сертификата"  "[Default] CA";
      • Нажать кнопку "Применить всё";
    • Перейти на вкладку «Владелец»;
      • (рекомендуется) в поле "organizatioName" указать имя домена (IPADOMAIN.RU);
      • (рекомендуется) в поле "commonName" указать имя "Certification authority";
      • По необходимости заполнить остальные поля;
      • Выбрать «Создать новый ключ»:
        • В поле «Имя ключа» указать имя ключа, например CA
        • Нажать «Создать»
    • Перейти на вкладку «Расширения»
      • Убедиться, что выбран «Тип» «Центр Сертификации»;
      • Отметить пункты "Critical", "Subject Key identifier", "Authority key Identifier"
      • Определить срок действия сертификата: «Временной диапазон» => 10 (года)
    • Перейти на вкладку "Область применения ключа"
      • Отметить пункт "Critical", выбрать функции "Digital Signature", "Non repudation", "Certificate Sign", "CRL Sign";
    • Сохранить созданный сертификат: «Применить» => «Да»

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


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

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

        (рекомендуется) в поле

        "commonName" и "Внутреннее имя" указать полное доменное имя сервера (строчными буквами) "server.ipadomain.ru", "replica.ipadomain.ru" и т.

        д.;

         д.

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


      • Выбрать «Создать новый ключ»;.
        • В поле «Имя ключа» указать имя ключа, например serverKey;.
        • Нажать «Создать»;.
      • По необходимости заполнить остальные поля;.
    • Перейти во вкладку «Расширения»;.
      • Выбрать «Тип» «Конечный субъект» («Конечный пользователь»;).
      • Отметить пункты "Critical", "Subject Key identifier", "Authority key Identifier".
      • Определить срок действия сертификата: «Временной диапазон» => 5;.
      • Заполнить поле В строке "X509v3 Subject Alternative Name"   так же, как поля "Внутреннее имя" и "commonName" ;необходимо стереть значение по умолчанию (DNS:....) и оставить её пустой.
        Это значение будет задано далее с помощью текстового описания (вкладка "Дополнительно").
    • Перейти на вкладку "Область применения ключа";.
      • В левой части ("x509 v3 Key Usage") отметить пункты:
        • "Critical".
      • В левой части ("x509 v3 Key Usage") выбрать функции: отметить пункт "Critical", выбрать функции
          • "Digital Signature"
          ,
          • ;
          • "Non Repudiation"
          ,
          • ;
          • "Key Encipherment"
          ,
          • ;
          • "Data Encipherment";
          • "Key Agreement".
        • В правой части выбрать функцию ("x509 v3 Extanded Key Usage") выбрать расширенные функции:
          • "TLS Web Server Authentication"
          и
          • ;
          • "KDC Authentication" (может также называться "Signing KDC
          responcse
          • response")
          ;
          • .
        • Дополнительно могут потребоваться следующие функции сертификата:
          • "OSP 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:

      Информацияcommand
      sudo apt install astra-freeipa-server

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

      Информацияcommand
      # sudo astra-freeipa-server -l /root/server.example.com.p12 -lp Password123

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

      Информацияcommand
      # astra-freeipa-server --help

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

      WEB

      web-браузер

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

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

        Информация

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


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



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


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