Поможем автоматизировать
вашу IT-инфраструктуру
Оставьте свои контакты и мы отправим вам подробную
информацию о наших решениях, ответим на появившиеся
вопросы и предложим свою экспертизу

Разверните собственный
Центр Сертификации бесплатно.

Попробуйте Clearway CA Free.
Обучающий курс по Clearway CA
От установки до выпуска сертификата — пошагово
Полный курс по развёртыванию и настройке Clearway CA — от установки веб-мастера до выпуска сертификатов через SCEP и MS-WSTEP. Курс подойдёт администраторам PKI и ИТ-специалистам, которые разворачивают собственный центр сертификации или переходят с Microsoft AD CS.

Курс состоит из 13 глав общей длительностью 1 час 48 минут. Каждая глава — это отдельный этап настройки. Рекомендуем проходить главы по порядку, так как каждая следующая опирается на компоненты, развёрнутые в предыдущей.

Для прохождения курса потребуется базовое знание командной строки Linux и PowerShell, а также понимание основ PKI.
  1. Обзор центров сертификации, аутентификации, Контрольной панели, публикации, архивирования, OCSP, SCEP и MS-WSTEP. На схеме показаны шесть машин: корневой и выдающий ЦС, OpenID, вспомогательные службы вместе с SCEP, машина установщика и учебный контроллер домена Windows. Корневой центр используется через mclient; в панели зарегистрирован выдающий центр.
  1. Зачем

    Подготовить рабочее место для развёртывания компонентов. Проверяем пакет, выполняем команды установки и запуска веб-мастера. Открываем его в браузере и проверяем начальный список компонентов.

    Результат

    Веб-мастер запущен и готов к настройке узлов стенда. Длительность главы — 03:11.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    00:01:2200:00:00Что подготовлено и какой результат получим
    00:02:0700:00:45Переход в каталог с пакетом
    00:02:2100:00:58Проверка имени и размера файла .deb
    00:02:4900:01:27Установка пакета
    00:03:3200:02:09Запуск itc-installer
    00:03:4100:02:18Сообщение о готовности приложения и порт
    00:03:5500:02:32Открытие веб-мастера и принятие лицензии
    00:04:1700:02:54Начальный экран компонентов и версия установщика

    Команды главы

    Переход к пакету

    Время:00:02:08в полном ролике·00:00:45в главе·Где:Машина установщика; открытая консоль обычного пользователя

    $cd ~/Downloads

    Параметры

    cdСменить текущий каталог
    ~Домашний каталог текущего пользователя
    DownloadsПапка со скопированным установочным пакетом

    Что увидеть: текущий каталог меняется на Downloads; последующие команды работают с файлом пакета в этой папке.

    Проверка имени и размера пакета

    Время:00:02:21в полном ролике·00:00:59в главе·Где:Машина установщика, ~/Downloads

    $ls -lh clearway-ca-installer_26.2.0-1_amd64.deb

    Параметры

    lsПоказать сведения о файле
    -lПодробный список
    -hУдобные единицы размера
    имя .debИмя именно вашего файла в текущей папке

    Что увидеть: строка с именем пакета и размером; в записи показано 388M.

    Установка пакета веб-мастера

    Время:00:02:53в полном ролике·00:01:31в главе·Где:Машина установщика, ~/Downloads

    $sudo dpkg -i ./clearway-ca-installer_26.2.0-1_amd64.deb

    Параметры

    sudoЗапуск с повышенными правами
    dpkgМенеджер пакетов Debian/Astra Linux
    -iУстановить указанный пакет
    ./Текущий каталог
    имя .debДолжно совпадать с проверенным файлом

    Что увидеть: пакет распакован и настроен; сообщение «Clearway CA — веб-инсталлятор установлен» и возврат приглашения консоли.

    Здесь устанавливается пакет веб-мастера. Установка базы и корневого ЦС начинается в главе 2.

    Запуск веб-мастера

    Время:00:03:32в полном ролике·00:02:09в главе·Где:Машина установщика; обычная учётная запись

    $itc-installer

    Параметры

    itc-installerИсполняемая команда запуска установленного веб-мастера
    параметрыНе задаются

    Что увидеть: в консоли появляются Now listening on https://[::]:5224 и Application started. Окно остаётся открытым, пока нужен мастер.

    Затем в браузере открывается https://localhost:5224/installer через заранее подготовленный туннель. Ctrl+C останавливает мастер; в демонстрации его оставляют работающим.

  1. Зачем

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

    Результат

    Корневой ЦС установлен и отвечает; управление выполняется через mclient. Длительность главы — 11:59.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    00:04:3300:00:00Назначение корневого центра и план главы
    00:05:1800:00:45Выбор компонента базы данных
    00:05:4400:01:11Подключение к корневой машине
    00:07:1400:02:41Роль, пароль, имя базы и версия PostgreSQL
    00:08:5600:04:23Проверки, подготовка и установка схемы базы
    00:09:4900:05:16Переход к установке корневого ЦС
    00:10:3000:05:57Имя центра, адрес публикации и параметры службы
    00:12:2500:07:51Подключение службы к подготовленной базе
    00:13:3800:09:04Проверки и выполнение установки
    00:14:2200:09:49Автоматическое скачивание архива; зачем открываем историю установок
    00:14:3500:10:02Сохранение сертификатов и назначение файлов
    00:15:1300:10:40Проверка работающего центра через mclient

    Команды главы

    Сеанс технологического пользователя Root CA

    Время:00:15:14в полном ролике·00:10:41в главе·Где:Именно машина корневого ЦС

    $sudo -iu itc-svc

    Параметры

    sudoОткрыть сеанс другой записи
    -iСеанс входа с окружением целевого пользователя
    -u itc-svcИмя технологического пользователя; -i и -u объединены в -iu

    Что увидеть: в приглашении консоли меняется имя пользователя на itc-svc.

    itc-svc — имя в учебном стенде; требуется запись, выбранная в вашем инсталляторе.

    Конфигурация mclient для Root CA

    Время:00:15:38в полном ролике·00:11:05в главе·Где:Машина корневого ЦС, сеанс технологического пользователя

    $export MCLIENT_CONF=/opt/itc/minica/conf/mclient.yml

    Параметры

    exportПередать переменную окружения программам текущего сеанса
    MCLIENT_CONFПеременная с путём к конфигурации mclient
    /opt/itc/minica/conf/mclient.ymlГотовый файл, созданный установщиком на этой машине

    Что увидеть: переменная установлена для последующего вызова mclient; нормальный результат команды — без отдельного вывода.

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

    Проверка ответа Root CA

    Время:00:16:00в полном ролике·00:11:27в главе·Где:Машина корневого ЦС; предварительно указан MCLIENT_CONF

    $/opt/itc/minica/mclient ping

    Параметры

    /opt/itc/minica/mclientПолный путь установленной клиентской утилиты
    pingПрикладная проверка доступности службы по выбранной конфигурации; не ICMP ping
    параметрыДополнительных параметров нет

    Что увидеть: сообщение Ping successful / «пинг успешен» и errno: 0.

    Это проверка корневого центра до главы о клиентском доверии, через его готовую конфигурацию mclient. На 00:14:22 объясняется, что архив результата скачивается автоматически; для наглядности дополнительно открывается история установок.

  1. Зачем

    Научить системы доверять выбранному корневому сертификату. Сравниваем сертификат с источником Root CA, разбирая сведения и отпечаток. Добавляем его в доверенные корневые сертификаты Linux и Windows.

    Результат

    Доверие к корневому сертификату настроено в обеих системах. Длительность главы — 07:14.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    00:16:3200:00:00Зачем клиентским системам доверять корневому сертификату
    00:17:3800:01:06Источник публичного корневого сертификата
    00:17:5300:01:20Просмотр сертификата и сравнение с источником Root CA
    00:19:4200:03:09Добавление сертификата в каталог доверия Linux
    00:20:5100:04:19Обновление системного хранилища Linux
    00:21:2300:04:50Проверка через системный набор доверенных центров
    00:22:0400:05:31Windows: хранилище компьютера и область доверия
    00:22:1600:05:44Windows: импорт в хранилище пользователя
    00:23:0000:06:28Подтверждение имени центра и отпечатка

    Команды главы

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

    Время:00:17:56в полном ролике·00:01:24в главе·Где:Linux: каталог с публичным root-ca.crt, скачанным из истории установки

    $openssl x509 -in root-ca.crt -noout -subject -issuer -fingerprint -sha256

    Параметры

    openssl x509Прочитать сертификат X.509
    -in root-ca.crtВходной публичный сертификат
    -nooutНе печатать закодированный сертификат целиком
    -subjectИмя владельца
    -issuerИмя издателя
    -fingerprintПоказать отпечаток
    -sha256Вычислить отпечаток алгоритмом SHA-256

    Что увидеть: Subject и Issuer содержат Root CA. Весь SHA-256 отпечаток совпадает с заранее полученным доверенным эталоном.

    Совпадения имён Subject и Issuer недостаточно. Сравните все 64 шестнадцатеричных символа SHA-256 с доверенным эталоном того же сертификата. На экране источник обозначен Root CA.

    Размещение сертификата для системного доверия

    Время:00:19:47в полном ролике·00:03:14в главе·Где:Linux: каталог с проверенным root-ca.crt

    $sudo install -o root -g root -m 0644 root-ca.crt \
        /usr/local/share/ca-certificates/clearway-demo-root.crt

    Параметры

    sudoИзменение системного каталога с повышенными правами
    installКопировать файл и задать владельца/права
    -o rootВладелец root
    -g rootГруппа root
    -m 0644Владелец читает/пишет, группа и остальные только читают
    root-ca.crtПроверенный публичный исходный сертификат
    /usr/local/share/ca-certificates/clearway-demo-root.crtЛокальный каталог доверенных центров; один PEM-сертификат в файле с расширением .crt

    Что увидеть: файл размещён в локальном каталоге доверенных центров; затем требуется update-ca-certificates.

    Копируется открытый сертификат, закрытый ключ не нужен.

    Обновление системного хранилища

    Время:00:20:53в полном ролике·00:04:21в главе·Где:Linux, после размещения .crt в /usr/local/share/ca-certificates

    $sudo update-ca-certificates

    Параметры

    sudoПовышенные права для системных каталогов
    update-ca-certificatesОбновить общий набор доверенных сертификатов
    параметрыНе задаются

    Что увидеть: в учебной записи: 1 added, 0 removed.

    Проверка Linux через обновлённое хранилище

    Время:00:21:27в полном ролике·00:04:55в главе·Где:Linux: каталог с root-ca.crt

    $openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt root-ca.crt

    Параметры

    openssl verifyПроверить сертификат
    -CAfile /etc/ssl/certs/ca-certificates.crtИспользовать обновлённый системный набор доверенных сертификатов
    root-ca.crtПроверяемый корневой сертификат

    Что увидеть: root-ca.crt: OK.

    Происхождение и отпечаток сверены до добавления доверия.

    Альтернатива: доверие локального компьютера (Windows)

    Время:00:22:04в полном ролике·00:05:31в главе·Где:Windows PowerShell с повышенными правами; каталог с root-ca.crt

    PS>certutil -addstore Root .\root-ca.crt

    Параметры

    certutilУтилита сертификатов Windows
    -addstoreДобавить сертификат в хранилище
    RootДоверенные корневые центры сертификации
    отсутствие -userХранилище локального компьютера
    .\root-ca.crtПубличный файл в текущем каталоге

    Что увидеть: сертификат добавляется в хранилище компьютера; в ролике этот вариант показан как альтернатива, его выполнение не демонстрируется.

    Не требуется выполнять оба варианта. Для служб/машинных сертификатов в озвучке указано хранилище компьютера.

    Добавление доверия текущего пользователя (Windows)

    Время:00:22:22в полном ролике·00:05:50в главе·Где:Windows PowerShell: каталог с публичным root-ca.crt

    PS>certutil -user -addstore Root .\root-ca.crt

    Параметры

    certutilУтилита сертификатов Windows
    -userХранилище текущего пользователя
    -addstoreДобавить сертификат
    RootДоверенные корневые центры сертификации
    .\root-ca.crtФайл сертификата в текущем каталоге

    Что увидеть: штатное подтверждение импорта, затем сообщение об успешном добавлении в выбранное пользовательское хранилище.

    В диалоге Windows сравнивается SHA-1 с доверенным эталоном SHA-1 того же сертификата: все 40 hex-символов. Его нельзя сравнивать со строкой SHA-256 из Linux. Кнопку «Да» нажимают после совпадения.

  1. Зачем

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

    Результат

    Выдающий ЦС работает с сертификатом, подписанным корневым центром. Длительность главы — 09:39.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    00:23:4600:00:00Назначение выдающего центра
    00:24:5400:01:07Порядок установки и подготовка отдельной базы
    00:27:0700:03:20Установка на выдающей машине и создание запроса
    00:28:4100:04:54Сохранение запроса; закрытый ключ остаётся на выдающей машине
    00:28:5800:05:11Подпись запроса на корневом центре
    00:30:0800:06:21Сохранение сертификата, подписанного корневым ЦС
    00:30:2200:06:36Возврат на выдающую машину и завершение настройки
    00:31:3000:07:43Сохранение сертификатов и цепочки доверия
    00:31:4900:08:03Подготовка mclient на выдающем центре
    00:32:1600:08:29Проверка доступности службы
    00:32:3600:08:49Проверка цепочки сертификата выдающего центра

    Команды главы

    Сеанс технологического пользователя Issuing CA

    Время:00:31:53в полном ролике·00:08:07в главе·Где:Именно машина выдающего ЦС

    $sudo -iu itc-svc

    Параметры

    sudoСеанс другой записи
    -iОкружение сеанса входа
    -u itc-svcТехнологический пользователь выдающей машины

    Что увидеть: в приглашении консоли проверяются имя пользователя и имя выдающего узла.

    Имя пользователя соответствует настройкам инсталлятора этой машины.

    Конфигурация mclient для Issuing CA

    Время:00:32:06в полном ролике·00:08:19в главе·Где:Машина выдающего ЦС, сеанс технологического пользователя

    $export MCLIENT_CONF=/opt/itc/minica/conf/mclient.yml

    Параметры

    exportПеременная окружения текущего сеанса
    MCLIENT_CONFПуть конфигурации mclient
    /opt/itc/minica/conf/mclient.ymlФайл мастера на выдающей машине

    Что увидеть: следующий mclient использует конфигурацию выдающего ЦС; отдельного вывода обычно нет.

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

    Проверка ответа Issuing CA

    Время:00:32:19в полном ролике·00:08:33в главе·Где:Машина выдающего ЦС; настроен MCLIENT_CONF

    $/opt/itc/minica/mclient ping

    Параметры

    /opt/itc/minica/mclientУстановленная клиентская утилита
    pingЗапрос доступности службы выдающего ЦС по выбранной конфигурации

    Что увидеть: Ping successful / «пинг успешен» и errno: 0.

    Проверка сертификата Issuing CA по Root CA

    Время:00:32:37в полном ролике·00:08:51в главе·Где:Машина выдающего ЦС, текущий каталог /opt/itc/minica

    $openssl verify -CAfile ca/root-ca.crt ca/ca.crt

    Параметры

    openssl verifyПроверка цепочки сертификата
    -CAfile ca/root-ca.crtДоверенный корневой сертификат
    ca/ca.crtПроверяемый сертификат выдающего центра

    Что увидеть: ca/ca.crt: OK.

    Относительные пути ca/... рассчитаны на текущий каталог /opt/itc/minica. В ролике этот каталог уже подготовлен перед проверкой.

  1. Зачем

    Подготовить службу аутентификации для Контрольной панели. Устанавливаем базу и провайдер OpenID, готовим TLS и указываем адрес возврата в панель после входа.

    Результат

    Провайдер OpenID установлен, его параметры подключения доступны для панели. Длительность главы — 08:35.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    00:33:2500:00:00Задача провайдера OpenID
    00:34:3600:01:10Подготовка базы аутентификации
    00:35:5800:02:33Создание запроса на TLS-сертификат
    00:36:4900:03:23Подпись запроса на выдающем центре
    00:37:3300:04:08Установка провайдера и подключение базы
    00:38:0800:04:43Встроенная учётная запись и клиентское приложение
    00:38:4100:05:16Redirect URI: адрес возврата в Контрольную панель
    00:39:0500:05:40Issuer и сроки действия токенов
    00:39:4100:06:15Проверки и установка службы
    00:40:0600:06:40Открытие документа конфигурации провайдера
    00:40:3700:07:12Сверка issuer и адресов взаимодействия
    00:41:1700:07:52Публичный набор ключей и границы этой проверки
    В этом разделе действия выполняются в веб-мастере и браузере. Установщик выполняет необходимые операции на выбранном узле.
  1. Зачем

    Подключить OpenID к уже подготовленному учебному каталогу пользователей. Разбираем параметры подключения к LDAP, поиск пользователей и групп, сопоставление групп ролям.

    Результат

    OpenID настроен на работу с каталогом; проверка входа через панель выполняется в главе 7. Длительность главы — 05:15.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    00:42:0000:00:00Зачем подключаем каталог пользователей
    00:43:1300:01:12Пункт 5: интеграция OpenID с LDAP
    00:43:2500:01:24Выбор машины и каталога установленного OpenID
    00:43:4500:01:44Адрес каталога и служебная учётная запись
    00:44:2400:02:24База и фильтр поиска пользователей
    00:45:0100:03:00Атрибуты входа, идентификатора и профиля
    00:46:0200:04:01Поиск групп и сопоставление ролям
    00:46:4900:04:49Проверки интеграции
    00:47:0200:05:01Применение конфигурации через установщик
    В этом разделе действия выполняются в веб-мастере и браузере. Установщик выполняет необходимые операции на выбранном узле.
  1. Зачем

    Получить рабочий интерфейс управления выдающим центром и проверить доступ пользователей. Устанавливаем Контрольную панель с TLS, подключаем OpenID и регистрируем выдающий ЦС.

    Результат

    Панель подключена к выдающему ЦС; вход через каталог даёт аудитору права просмотра. Длительность главы — 08:13.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    00:47:1500:00:00Назначение панели и проверяемые сценарии входа
    00:48:2300:01:07Запрос и выпуск TLS-сертификата панели
    00:49:5200:02:37Установка веб-приложения
    00:50:1400:02:59Адрес OpenID, идентификатор и секрет клиента
    00:51:2900:04:13Выпуск отдельного служебного токена на выдающем центре
    00:52:2500:05:09Регистрация выдающего ЦС в панели
    00:53:3200:06:16Открытие адреса панели и перенаправление на вход
    00:53:5800:06:43Вход встроенной учётной записью
    00:54:2300:07:08Проверка данных подключённого выдающего центра
    00:54:4600:07:30Доменный вход аудитора и доступ к сертификату
    В этом разделе действия выполняются в веб-мастере и браузере. Установщик выполняет необходимые операции на выбранном узле.
  1. Зачем

    Сделать сертификаты центров и списки отзыва доступными по адресам публикации. Готовим отдельный адрес и TLS-сертификат службы публикации.

    Результат

    Настроенная точка публикации отдаёт сертификаты и списки отзыва. Длительность главы — 09:44.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    00:55:2800:00:00Служба публикации и точка выдачи открытых файлов
    00:56:3900:01:10Отдельный адрес публикации: запрос и выпуск TLS-сертификата
    00:59:4600:04:17Установка службы публикации
    01:00:5100:05:22Выпуск отдельного служебного токена
    01:01:4700:06:18Установка точки распространения сертификатов и списков отзыва
    01:02:3900:07:10Привязка отдельного домена публикации и сертификата
    01:03:1500:07:46Конфигурация задания: центр, выходной файл и расписание
    01:03:4000:08:11Отдельное получение и размещение корневого списка отзыва
    01:03:5500:08:26Проверка опубликованных списков отзыва
    01:04:2200:08:53Проверка опубликованных сертификатов центров
    01:04:4900:09:20Проверка HTTPS-доступа по новому адресу
    В этом разделе действия выполняются в веб-мастере и браузере. Установщик выполняет необходимые операции на выбранном узле.
  1. Зачем

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

    Результат

    Архиватор настроен и работает. На новом учебном стенде первый проход переносит 0 записей. Длительность главы — 05:14.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    01:05:1200:00:00Назначение архиватора и отличие от резервной копии
    01:06:3200:01:19Создание отдельной архивной базы
    01:07:3800:02:25Установка службы архиватора
    01:07:5300:02:40Рабочая база выдающего центра: источник данных
    01:08:2400:03:12Локальная архивная база: назначение
    01:08:5500:03:43Проверки подключений и установка
    01:09:0800:03:56Расписание и условия отбора записей
    01:09:4300:04:30Первый проход: журнал и фактический результат
    01:09:5900:04:46Итог по источнику, назначению и резервному копированию
    В этом разделе действия выполняются в веб-мастере и браузере. Установщик выполняет необходимые операции на выбранном узле.
  1. Зачем

    Разобраться в назначении протоколов и проверить статус сертификата через OCSP. Кратко сопоставляем задачи протоколов работы с сертификатами. Устанавливаем OCSP-ответчик, подписываем его запрос специальным шаблоном и применяем сертификат.

    Результат

    OCSP-ответчик возвращает проверяемый ответ о статусе сертификата. Длительность главы — 05:56.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    01:10:2600:00:00Задачи протоколов работы с сертификатами
    01:11:3500:01:09Обзор OCSP, SCEP и MS-WSTEP
    01:12:1600:01:49Установка OCSP-ответчика
    01:12:3200:02:06Сертификат издателя и рабочая база выдающего центра
    01:13:2800:03:01Сохранение запроса ответчика
    01:13:4000:03:13Подпись запроса с шаблоном OCSP
    01:14:3600:04:09Загрузка сертификата ответчика и запуск
    01:15:2000:04:53Один проверочный запрос: команда и параметры
    01:16:1000:05:43Подпись ответа, статус good и время обновления

    Команды главы

    Один запрос статуса сертификата через OCSP

    Время:01:15:20в полном ролике·00:04:53в главе·Где:Astra Linux; рабочая папка с тремя открытыми сертификатами: issuing-ca.crt, nginx-tls.crt и root-ca.crt

    $openssl ocsp \
      -issuer issuing-ca.crt -cert nginx-tls.crt \
      -url http://services.clearway.test:8888/ocsp \
      -CAfile root-ca.crt -verify_other issuing-ca.crt

    Параметры

    -issuer issuing-ca.crtСертификат ЦС, выдавшего проверяемый сертификат
    -cert nginx-tls.crtПроверяемый TLS-сертификат панели services.clearway.test
    -url http://services.clearway.test:8888/ocspАдрес OCSP-ответчика учебного стенда
    -CAfile root-ca.crtДоверенный корневой сертификат для проверки подписи ответа
    -verify_other issuing-ca.crtДополнительный сертификат выдающего ЦС для проверки ответа
    \ в конце строкиПродолжение той же команды на следующей строке

    Что увидеть: Response verify OK и nginx-tls.crt: good. Сверить имя проверяемого файла и сроки This Update / Next Update в ответе.

  1. Зачем

    Установить SCEP на машину вспомогательных сервисов и получить сертификат с помощью Certmonger. Проходим все пять пунктов мастера, разбираем команды Certmonger и проверяем реквизиты полученного сертификата.

    Результат

    SCEP работает на машине сервисов; Certmonger получил сертификат от выдающего центра. Длительность главы — 11:53.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    01:16:2300:00:00Задача главы: SCEP на машине сервисов и проверка Certmonger
    01:17:2200:00:58Открытие SCEP в установщике
    01:17:4200:01:19Параметры создания запросов на Services
    01:19:0000:02:36Подписание TLS- и SCEP-сертификатов выдающим ЦС
    01:20:0400:03:41Установка адаптера SCEP на Services
    01:21:5800:05:35Выпуск служебных данных доступа
    01:23:1600:06:53Настройка адаптера на машине сервисов
    01:24:1400:07:51Подключение scep-ca и адрес выдающего ЦС
    01:24:4900:08:26Завершение настройки адаптера
    01:25:1100:08:48Стандартный клиент Certmonger и установленная версия
    01:25:2700:09:04Адрес адаптера и имя клиентского подключения
    01:25:5200:09:29Сертификаты доверия и регистрация подключения
    01:26:2000:09:57Приватный файл одноразового challenge
    01:26:3400:10:11Задача выдачи: ключ и выходные файлы
    01:26:5600:10:33CN, SAN, права файлов и отключение продления
    01:27:2600:11:03Единственная отправка и реальный MONITORING
    01:27:4500:11:22Проверка полей полученного сертификата

    Команды главы

    Версия установленного Certmonger

    Время:01:25:11в полном ролике·00:08:48в главе·Где:Astra Linux, оператор installer-recording (192.168.56.16), каталог /home/astra/scep-certmonger-demo

    $dpkg-query -W certmonger

    Параметры

    -WПоказать сведения об установленном пакете; здесь имя и версия

    Что увидеть: в записи: certmonger 0.79.17-2.

    Подключение клиента к службе SCEP

    Время:01:25:27в полном ролике·00:09:04в главе·Где:Astra Linux, оператор installer-recording (192.168.56.16), каталог /home/astra/scep-certmonger-demo

    $sudo getcert add-scep-ca -c Clearway-SCEP \
      -u https://services.clearway.test/api/scep/v1/Scep \
      -R "$PWD/certs/root-ca.crt" \
      -N "$PWD/certs/issuing-ca.crt" \
      -r "$PWD/certs/scep.crt" \
      -I "$PWD/certs/chain.pem"

    Параметры

    -cЛокальное имя подключения Clearway-SCEP
    -uПолный HTTPS endpoint адаптера на Services
    -RКорневой сертификат для проверки HTTPS в предусмотренных этой версией вызовах; см. системное доверие ниже
    -NСертификат выдающего центра
    -rПубличный сертификат RA адаптера, выпущенный штатным мастером
    -IОстальные публичные сертификаты цепочки

    Что увидеть: штатный getcert сообщает, что CA Clearway-SCEP добавлена.

    Команда вводится при объяснении адреса, а Enter нажимается в сцене certmonger-client-03 после разбора сертификатов доверия.

    Проверка добавленного подключения

    Время:01:26:17в полном ролике·00:09:54в главе·Где:Astra Linux, оператор installer-recording (192.168.56.16), каталог /home/astra/scep-certmonger-demo

    $sudo getcert list-cas -c Clearway-SCEP

    Параметры

    -cОграничить вывод подключением Clearway-SCEP

    Что увидеть: показана настоящая запись CA, её helper и URL Services.

    Создание и отправка одной задачи выдачи

    Время:01:26:34в полном ролике·00:10:11в главе·Где:Astra Linux, оператор installer-recording (192.168.56.16), каталог /home/astra/scep-certmonger-demo

    $sudo getcert request -c Clearway-SCEP -I scep-demo \
      -G RSA -g 2048 \
      -k "$PWD/private/device.key" -f "$PWD/device.crt" \
      -N CN=certmonger-device.clearway.test \
      -D certmonger-device.clearway.test \
      -l "$PWD/private/challenge.txt" \
      -o astra -m 600 -O astra -M 644 \
      -R -w --wait-timeout 90

    Параметры

    -cИспользовать подключение Clearway-SCEP
    -IИмя задачи scep-demo; другой смысл флага, чем у add-scep-ca
    -G / -gКлюч RSA длиной 2048 бит
    -k / -fЛокальные файлы закрытого ключа и полученного сертификата
    -N / -DSubject CN и доменное имя SAN учебного устройства
    -lПрочитать одноразовый challenge из закрытого файла
    -o / -mВладелец astra и режим 0600 файла ключа
    -O / -MВладелец astra и режим 0644 публичного файла сертификата
    -RОтключить автоматическое продление этой учебной задачи
    -w / --wait-timeoutДождаться результата; ограничить ожидание команды 90 секундами

    Что увидеть: одна задача получает и сохраняет сертификат certmonger-device.clearway.test; результат подтверждается следующей командой list.

    Команда набирается в сцене05; в сцене06 параметры подробно объясняются. Единственный Enter для отправки нажат в сцене07. Истечение --wait-timeout не отменяет задачу демона. При ошибке сначала изучите getcert list и фактический результат; не повторяйте request вслепую.

    Проверка состояния задачи

    Время:01:27:34в полном ролике·00:11:11в главе·Где:Astra Linux, оператор installer-recording (192.168.56.16), каталог /home/astra/scep-certmonger-demo

    $sudo getcert list -i scep-demo

    Параметры

    -iВыбрать задачу scep-demo

    Что увидеть: на реальном экране: status: MONITORING, stuck: no, auto-renew: no.

    Чтение основных полей выданного сертификата

    Время:01:27:46в полном ролике·00:11:23в главе·Где:Astra Linux, оператор installer-recording (192.168.56.16), каталог /home/astra/scep-certmonger-demo

    $openssl x509 -in device.crt -noout \
      -subject -issuer -serial -dates -ext subjectAltName

    Параметры

    -inСохранённый публичный сертификат device.crt
    -nooutНе выводить закодированный PEM сертификата
    -subject / -issuerИмя владельца и выдающий центр
    -serial / -datesСерийный номер и срок действия
    -ext subjectAltNameДоменное имя в расширении SAN

    Что увидеть: Subject CN и DNS SAN совпадают с запросом; issuer соответствует выдающему ЦС. Подтверждённый serial: 100000000000000000000E.

    В ролике используется настоящий Certmonger версии 0.79.17-2. Шаблон tls уже задан на стороне адаптера; в показанном запросе клиента шаблон дополнительно не передаётся. Одноразовый challenge получают с настоящим access_token через вход в КП и сохраняют в private/challenge.txt с правами 0600. Срок challenge — 60 минут. Флаг -R у request отключает автоматическое продление и имеет смысл, отличный от -R у add-scep-ca.
  1. Зачем

    Подготовить службы политики и регистрации сертификатов для Windows. Устанавливаем MS-WSTEP с уже подготовленным учебным доменом, подключаем выдающий ЦС и получаем файлы регистрации.

    Результат

    Службы MS-WSTEP готовы; файлы для регистрации политики передаются на сторону Windows. Длительность главы — 10:07.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    01:28:1600:00:00Службы политик и регистрации для Windows
    01:29:2600:01:09Отдельный сертификат для внутреннего подключения
    01:32:2900:04:13Установка MS-WSTEP
    01:33:0200:04:45Учебный домен, база поиска и учётные записи
    01:34:0700:05:51Проверки доменной интеграции и установка
    01:34:5600:06:40Отдельный служебный токен на выдающем ЦС
    01:35:5800:07:41Подключение службы к выдающему центру
    01:37:2300:09:07Файлы регистрации для Windows
    01:37:4300:09:26Дополнительное внутреннее защищённое соединение
    01:38:0900:09:53Проверка служб и сертификата
    В этом разделе действия выполняются в веб-мастере и браузере. Установщик выполняет необходимые операции на выбранном узле.
  1. Зачем

    Получить сертификат на Windows через подготовленные службы и связать результат со всей схемой стенда, включая SCEP. Импортируем описания шаблона и службы в каталог, подключаем политику и выполняем запрос.

    Результат

    Сертификат получен через MS-WSTEP; показаны установленные компоненты и роли машин. Длительность главы — 10:19.

    Этапы и таймкоды

    В полном роликеВ главеЧто происходит
    01:38:2300:00:00Полный сценарий получения сертификата Windows
    01:39:3200:01:09Импорт описаний шаблона и службы в доменный каталог
    01:41:2000:02:57Адрес службы политик
    01:41:5000:03:27Однократная регистрация политики компьютера
    01:42:4400:04:20Чтение и проверка сохранённой политики
    01:43:0200:04:39Запрос сертификата по шаблону
    01:44:1600:05:52Просмотр полученного сертификата в машинном хранилище
    01:45:0100:06:38Экспорт открытого сертификата
    01:45:2400:07:00Сверка сертификата с записью в панели
    01:45:3900:07:15Проверка сертификата средствами Windows
    01:46:2200:07:58Итоговая схема шести машин и иерархия доверия
    01:48:0300:09:40SCEP в общей схеме получения сертификата
    01:48:2100:09:57Что установлено и проверено

    Команды главы

    Все команды выполняются в доменной Windows, PowerShell; рабочая папка с файлами из установщика и подготовленными папками журналов.

    Импорт шаблона сертификата

    Время:01:39:34в полном ролике·00:01:10в главе

    PS>ldifde -i -h -f .\template_tls_export.ldf -s ad-dc.clearway.test -j .\template-log; $importExit=$LASTEXITCODE

    Параметры

    -iИмпорт записей в каталог
    -hШифрование LDAP-соединения средствами SASL
    -f .\template_tls_export.ldfОписание шаблона из результата установщика
    -s ad-dc.clearway.testКонтроллер подготовленного учебного домена
    -j .\template-logОтдельная заранее подготовленная папка журнала импорта
    $importExit=$LASTEXITCODEСохраняет код завершения ldifde до выполнения других внешних команд

    Что увидеть: сообщение об одной успешно обработанной записи; сохранённый код проверяется следующей строкой.

    Проверка импорта шаблона

    Время:01:40:24в полном ролике·00:02:00в главе

    PS>$importExit

    Параметры

    $importExitСохранённый код завершения именно предыдущего импорта

    Что увидеть: 0 — импорт завершился успешно.

    Импорт описания службы регистрации

    Время:01:40:47в полном ролике·00:02:23в главе

    PS>ldifde -i -h -f .\enrollment_services.ldf -s ad-dc.clearway.test -j .\enrollment-log; $importExit=$LASTEXITCODE

    Параметры

    -iРежим импорта
    -hШифрование LDAP-соединения средствами SASL
    -f .\enrollment_services.ldfОписание службы регистрации из результата установщика
    -s ad-dc.clearway.testКонтроллер того же учебного домена
    -j .\enrollment-logДругая заранее подготовленная папка журнала
    $importExit=$LASTEXITCODEСохраняет код нового импорта

    Что увидеть: одна запись успешно обработана; сохранённый код затем равен 0.

    Проверка импорта службы регистрации

    Время:01:41:08в полном ролике·00:02:45в главе

    PS>$importExit

    Параметры

    $importExitКод импорта enrollment_services.ldf

    Что увидеть: 0 — импорт завершился успешно.

    Адрес службы политик Windows

    Время:01:41:21в полном ролике·00:02:58в главе

    PS>$cepUrl = 'https://services.clearway.test/CEP_Kerberos/service.svc/CEP'

    Параметры

    $cepUrlПеременная с полным адресом для следующих команд
    https://services.clearway.testЗащищённый адрес машины сервисов учебного стенда
    /CEP_Kerberos/service.svc/CEPПуть службы политик с доменной аутентификацией Kerberos

    Что увидеть: адрес сохранён в переменной текущего сеанса PowerShell; присваивание не выводит отдельного результата.

    Добавление политики компьютера

    Время:01:41:52в полном ролике·00:03:28в главе

    PS>Add-CertificateEnrollmentPolicyServer -Url $cepUrl -Context Machine -RequireStrongValidation -NoClobber; $policyOk=$?

    Параметры

    -Url $cepUrlАдрес ранее подготовленной службы политик
    -Context MachineРегистрация для компьютера
    -RequireStrongValidationТребование проверки политики при добавлении
    -NoClobberНе перезаписывать существующую запись политики
    $policyOk=$?Сохранить логический статус команды PowerShell

    Что увидеть: политика добавлена. Следующий вывод $policyOk показывает True; затем отдельной командой проверяется сохранённая запись.

    Статус добавления политики

    Время:01:42:37в полном ролике·00:04:14в главе

    PS>$policyOk

    Параметры

    $policyOkЛогический статус сохранённого вызова Add-CertificateEnrollmentPolicyServer

    Что увидеть: True — команда добавления выполнена успешно. Получение сертификата проверяется позднее.

    Чтение сохранённой политики

    Время:01:42:49в полном ролике·00:04:26в главе

    PS>Get-CertificateEnrollmentPolicyServer -Url $cepUrl -Context Machine -Scope All

    Параметры

    -Url $cepUrlПоиск политики по тому же адресу
    -Context MachineКонтекст компьютера
    -Scope AllЧтение всех областей конфигурации политик

    Что увидеть: запись политики с нужным адресом и доменной аутентификацией; сравнить URL с $cepUrl.

    Запрос сертификата доменного компьютера

    Время:01:43:04в полном ролике·00:04:40в главе

    PS>certreq -enroll -machine -q -kerberos -policyserver $cepUrl tls; $enrollExit=$LASTEXITCODE

    Параметры

    -enrollПолучение сертификата по шаблону
    -machineЗапрос и хранилище компьютера
    -qТихий режим без интерактивных вопросов
    -kerberosДоменная аутентификация Kerberos
    -policyserver $cepUrlАдрес службы политик, а не конечный адрес CES
    tlsИмя ранее импортированного шаблона
    $enrollExit=$LASTEXITCODEСохранённый код завершения certreq

    Что увидеть: The requested certificate has been issued. Показаны серийный номер и отпечаток выданного сертификата; последующий код завершения равен 0.

    Код завершения запроса

    Время:01:44:09в полном ролике·00:05:46в главе

    PS>$enrollExit

    Параметры

    $enrollExitСохранённый код завершения certreq

    Что увидеть: 0 — команда запроса выполнена успешно.

    Выбор полученного сертификата

    Время:01:44:23в полном ролике·00:06:00в главе

    PS>$cert = Get-Item Cert:\LocalMachine\My\E4A07E63399F82F619A3C03B7C9927B75C8BDF10

    Параметры

    Cert:\LocalMachine\MyЛичное хранилище сертификатов компьютера
    E4A07E63399F82F619A3C03B7C9927B75C8BDF10Публичный отпечаток из фактического результата учебного запроса; при повторении нужен отпечаток своего сертификата
    $certПеременная с найденным объектом сертификата

    Что увидеть: объект сертификата сохранён в $cert; его свойства выводятся следующей командой.

    Свойства полученного сертификата

    Время:01:44:37в полном ролике·00:06:13в главе

    PS>$cert | Format-List Subject,Issuer,SerialNumber,Thumbprint,NotBefore,NotAfter,HasPrivateKey

    Параметры

    |Передаёт объект следующей команде
    Format-ListВывод выбранных свойств списком
    Subject / IssuerВладелец и издатель
    SerialNumber / ThumbprintИдентификаторы для сравнения с результатом запроса и записью панели
    NotBefore / NotAfterНачало и конец срока действия
    HasPrivateKeyПризнак связанного закрытого ключа, без вывода самого ключа

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

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

    Время:01:45:07в полном ролике·00:06:44в главе

    PS>Export-Certificate -Cert $cert -FilePath .\windows-wstep-machine-review14.cer

    Параметры

    -Cert $certОбъект только что выбранного сертификата
    -FilePath .\windows-wstep-machine-review14.cerИмя выходного открытого сертификата в рабочей папке

    Что увидеть: создан файл .cer для проверки. Закрытый ключ остаётся в хранилище Windows.

    Проверка цепочки средствами Windows

    Время:01:45:40в полном ролике·00:07:16в главе

    PS>certutil -verify -urlfetch .\windows-wstep-machine-review14.cer; $chainExit=$LASTEXITCODE

    Параметры

    -verifyПроверка сертификата и построенной цепочки
    -urlfetchРазрешить загрузку данных проверки по адресам из сертификата
    .\windows-wstep-machine-review14.cerОткрытый сертификат, экспортированный в предыдущей сцене
    $chainExit=$LASTEXITCODEСохранение кода завершения certutil

    Что увидеть: в демонстрации проверка завершена успешно: Windows построила цепочку до доверенного корневого центра и проверила сведения об отзыве. Следующий код равен 0.

    Код завершения проверки цепочки

    Время:01:46:14в полном ролике·00:07:51в главе

    PS>$chainExit

    Параметры

    $chainExitСохранённый код завершения certutil

    Что увидеть: 0 — команда проверки выполнена успешно.