- Оглавление
- Исходные данные
- Подготовка
- Создание корневого сертификата
- Создание сертификата для сервера
- Импорт сертификата (для включения сервера реплики)
- XCA — программа для управления асимметричными ключами
- Установка XCA
- Обзор простейших функций XCA
- Начало работы с XCA
- Примеры работы с XCA
- Создание ключа SSH
- Экспорт ключей
- Создание корневого сертификата
Оглавление
Для обеспечения возможности восстановления работы в случае нештатных ситуаций необходимо после установки первого контроллера домена FreeIPA сохранить резервную копию каталога /etc/ssl/freeipa с корневым сертификатом созданного удостоверяющего центра. Кроме того, должно быть обеспечено сохранение резервных копий баз данных XCA. См., например, Архивирование и восстановление файлов с сохранением мандатных атрибутов.
Исходные данные
Имя основного сервера SERVER.IPADOMAIN.RU
Имя сервера-реплики REPLICA.IPADOMAIN.RU
В качестве центра сертификации может использоваться любой компьютер, не обязательно находящийся в домене.
Описанная процедура позволяет получить сертификаты, максимально близкие к сертификатам, которые выпускаются при использовании центра сертификации DogTag.
Подготовка
Установить на компьютере, который будет выполнять роль центра сертификации, инструмент командной строки XCA:
Пуск => «Утилиты» => «Цифровые сертификаты 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»;
Создание сертификата для сервера
- Перейти на вкладку «Сертификаты»и нажать кнопку «Новый сертификат»;
- Для использования для подписания ранее созданного сертификата установить отметку «Use this Certificate for signing» => «rootCA»;
- Выбрать шаблон для нового сертификата «[Default] HTTPS_server»
- Нажать кнопку «Применить всё»
Для того чтобы сертификат был пригоден для работы с протоколом SSL имя, указанное в поле commonName, должно совпадать с DNS-именем сервера
Для повторяющегося создания типовых сертификатов можно создать собственный шаблон с типовыми настройками.
При наличии ранее созданных сертификатов можно импортировать их в XCA и воспользоваться функцией XCA «Преобразовать» — «Похожий сертификат» (доступ через контекстное меню по правой кнопке мыши) для создания копии, после чего исправить в копии нужные атрибуты, или использовать эту копию в качестве шаблона.
- Перейти во вкладку «Расширения»;
-
- Выбрать «Тип» «Конечный субъект» («Конечный пользователь»);
- Отметить пункты «Critical», «Subject Key identifier», «Authority key Identifier»
- Определить срок действия сертификата: «Временной диапазон» => 5;
- В строке «X509v3 Subject Alternative Name» необходимо стереть значение по умолчанию (DNS. ) и оставить её пустой. Это значение будет задано далее с помощью текстового описания (вкладка «Дополнительно»).
- В левой части («x509 v3 Key Usage») отметить пункты:
- «Critical»;
- » Digital Signature»;
- «Non Repudiation»;
- «Key Encipherment»;
- «Data Encipherment»;
- «Key Agreement»;
- «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 @ IPADOMAIN.RUИмпорт сертификата (для включения сервера реплики)
- Запускаем инструмент XCA на основном сервере (для удобства работы — лучше от имени суперпользователя).
- Создаём, при необходимости, новую базу данных XCA.
- Импортируем в XCA корневой сертификат, автоматически созданный при установке основного сервера FreeIPA:
XCA — программа для управления асимметричными ключами
X Certificate and Key management (XCA) — это программа, предоставляющая интерфейс для управления асимметричными ключами RSA, DSA and EC private keys, Smartcards and CRLs. Программа может использоваться для создания и подписания сертификатов в рамках небольшого ЦС (CA) и создать собственную инфраструктуру открытых ключей (PKI).
- 1. Создание собственного PKI, закрытых ключей, сертификатов, запросов или CRL.
2. Экспорт и импорт ключей в форматах: PEM, DER, PKCS#7, PKCS#12.
3. Управления смарт-картами через интерфейс PKCS#11.
4. Функция экспорта сертификатов и запросов в виде конфигурационного файла OpenSSL.
5. Создание шаблонов для сертификатов, а также создание шаблонов на основе готовых сертификатов.
6. Преобразование существующих сертификатов или запросов в шаблоны.
7. Получение широкой поддержки расширений x509v3 таких же гибких, как OpenSSL, но более удобных для пользователя.
8. Запись сертификатов на токен.Установка XCA
Для установки XCA выполните команду:
После установки программу можно будет найти в «Меню» – «Стандартные».
Обзор простейших функций XCA
Меню «Файл» позволяет создать или открыть уже существующую базу данных, а так же настроить язык всей XCA и настроить саму XCA.
Меню «Импорт» позволяет импортировать уже имеющиеся ключи, запросы, сертификаты и др. в базу данных.
Меню «Модуль защиты» позволяет настроить защиту базы данных.
Меню «Дополнительно» имеет дополнительные функции для взаимодействия с базой данных, такие как экспорт списка сертификатов или генерация параметров Диффи – Хэллмана.Начало работы с XCA
Для начала работы с приложением создайте базу данных. Для этого необходимо выбрать в меню «Файл» — «Новая база данных».
Работа с токенами/смарт-картами:
- 1. Для того чтобы в XCA начать работать с токенами, нужно подключить библиотеку PKCS#11 данного токена. Библиотеку PKCS#11 под РЕД ОС с поддержкой RSA для Актив Рутокен ЭЦП можно скачать по ссылке: https://www.rutoken.ru/support/download/pkcs/.
Установите командой:dnf localinstall librtpkcs11ecp-2.0.11.0-1.x86_64.rpm
Библиотеку PKCS#11 под РЕД ОС с поддержкой RSA для Аладдин JaCarta PKI/GOST можно скачать по ссылке: https://www.aladdin-rd.ru/support/downloads/jacarta. Сначала необходимо разархивировать все файлы, затем установить командой:
dnf localinstall jcpkcs11-2_2.7.0.443_x64.rpm dnf localinstall jacartauc_2.13.0.3084_ro7.2_x64.rpm
- 2. Переходим в меню «Файл» — «Настройки» — «Провайдер PKCS#11».
3. Нажимаем «Добавить» и ищем файл «libjcPKCS11-2.so» и «librtpkcs11ecp.so». Они могут находиться в директории /usr/lib или /usr/lib64. Если вы не можете найти этот файл, зайдите в терминал и найдите его с помощью команды:sudo find /usr -iname '*pkcs11*'
Примеры работы с XCA
Создание ключа SSH
- 1. Для начала перейдите на вкладку «Закрытые ключи».
2. Нажмите на кнопку «Новый ключ».
3. В поле «Тип ключа» выберите RSA. В поле «Длина ключа» выберите 2048 bit. Имя ключу дайте на свое усмотрение.Экспорт ключей
Для экспорта открытого ключа необходимо выполнить следующие действия:
- 1. Перейти на вкладку «Закрытые ключи»;
2. Выбрать нужный «Сертификат клиента»;
3. Нажать кнопку «Экспорт»;
4. В появившемся окне в поле «Формат сертификата» нужно выбрать Открытый ключ SSH2 (*.pub) и указать путь к файлу, затем нажать «ОК».Для экспорта закрытого ключа необходимо выполнить следующие действия:
- 1. Перейти на вкладку «Закрытые ключи»;
2. Выбрать нужный закрытый ключ сервера;
3. Нажать кнопку «Экспорт»;
4. В появившемся окне в поле «Формат для экспорта» нужно выбрать Закрытый ключ PEM (*.pem), указать путь к файлу, затем нажать «ОК».Для экспорта закрытого ключа, зашифрованного паролем, необходимо выполнить следующие действия:
- 1. Перейти на вкладку «Закрытые ключи»;
2. Выбрать нужный закрытый ключ сервера;
3. Нажать кнопку «Экспорт»;
4. В появившемся окне в поле «Формат для экспорта» нужно выбрать Зашифрованный ключ PEM (*.pem), указать путь к файлу, затем нажать «ОК»;
5. В появившемся окне Certificate and Key management нужно ввести пароль, который будет требоваться для доступа к этому ключу.Создание корневого сертификата
Корневой сертификат (СА) — часть ключа, которым центры сертификации подписывают выпущенные SSL-сертификаты. Выдавая корневой сертификат, каждый такой центр гарантирует, что пользователи или организации, запросившие SSL, верифицированы и действия с доменом легальны.
Для создания такого сертификата необходимо выполнить следующие действия:
- 1. Перейти на вкладку «Сертификаты» и выбрать «Новый сертификат»;
2. Поставить галочку на пункт «Создать самоподписанный сертификат…»;
3. Выбрать «Шаблон для нового сертификата» — «[Default] CA»;
4. Нажать кнопку «Применить всё»;- 5. Перейти на вкладку «Субъект» («Владелец»);
6. В поле «organizatioName» указать имя вашего домена;
7. В поле «commonName» указать имя «Certification authority»;
8. По необходимости заполнить остальные поля;праитарна
9. Выбрать «Создать новый ключ»:- В поле «Имя ключа» указать имя ключа, например «Certification authority»;
- Нажать «Создать»;
- 10. Перейти на вкладку «Расширения»;
11. Убедиться, что выбран «Тип» «Центр Сертификации»;
12. Отметить пункты «Critical», «Subject Key identifier», «Authority key Identifier»;
13. Определить срок действия сертификата: «Временной диапазон» =>10 (лет);- 14. Перейти на вкладку «Область применения ключа»;
15. Отметить пункт «Critical», выбрать функции «Digital Signature», «Non repudation», «Certificate Sign», «CRL Sign»;
16. Сохранить созданный сертификат: «Применить» — «Да».Дата последнего изменения: 09.01.2023
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.