2. Выполните настройку центра сертификации на базе HQ-SRV:
GOST Engine— модуль для OpenSSL, реализующий поддержку российских криптографических алгоритмов в соответствии с ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012 и другими стандартами.Пакет
openssl-gost-engine, по умолчанию предустановлен в РЕД ОС.
Виртуальная машина HQ-SRV
Устанавливаем необходимые пакеты если они не установлены.
# dnf install openssl-gost-engine
Включаем поддержку алгоритмов шифрования ГОСТ:
# openssl-switch-config gost
Проверяем используемую в системе политику шифрования:
# update-crypto-policies --show
Применяем модуль политики, определяющий используемые методы шифрования ГОСТ:
# update-crypto-policies --set LEGACY:GOST
Проверяем, видит ли OpenSSL алгоритмы ГОСТ:
# openssl ciphers | tr ":" "\n" | grep GOST

Создаем директорию са в домашнем каталоге пользователя sshuser
$ mkdir ca && cd ca
Создаём закрытый ключ ca.key с алгоритмом ГОСТ-2012:
$ openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key
Создаём сертификат ca.crt на 30 дней:
$ openssl req -new -x509 -md_gost12_256 -days 30 -key ca.key -out ca.crt
В результате сформируются закрытый ключ са.key и сам сертификат са.crt
Проверяем
# ls -l /ca

Проверка сертификата ca.crt
$ openssl x509 -noout -text -in ca.crt

web.au-team.irpo
Создание закрытого ключа для ```web.au-team.irpo``
$ openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out web.key
Создаём запросc на подпись УЦ
$ openssl req -new -md_gost12_256 -key web.key -out web.csr
Подписываем запрос в УЦ
$ openssl x509 -req -in web.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out web.cer -days 30

docker.au-team.irpo
Создание закрытого ключа для docker.au-team.irpo
$ openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out docker.key
Создаём запросc на подпись УЦ
$ openssl req -new -md_gost12_256 -key docker.key -out docker.csr
Подписываем запрос в УЦ
$ openssl x509 -req -in docker.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out docker.cer -days 30

Получаем

Передаем web.cer web.key docker.cer docker.key на ISP
scp web.key web.cer docker.key docker.cer user@172.16.1.1:/home/user
Виртуальная машина ISP
Устанавливаем необходимые пакеты если они не установлены
# dnf install openssl-gost-engine
Включаем поддержку алгоритмов шифрования ГОСТ:
# openssl-switch-config gost
Проверяем используемую в системе политику шифрования:
# update-crypto-policies --show
Применяем модуль политики, определяющий используемые методы шифрования ГОСТ:
# update-crypto-policies --set LEGACY:GOST
Проверяем, видит ли OpenSSL алгоритмы ГОСТ:
# openssl ciphers | tr ":" "\n" | grep GOST

Создаём каталог /etc/nginx/ssl и копируем туда файлы web.cer web.key docker.cer docker.key:
# mkdir /etc/nginx/ssl
# cp /home/user/web.cer /etc/nginx/ssl/
# cp /home/user/web.key /etc/nginx/ssl/
# cp /home/user/docker.cer /etc/nginx/ssl/
# cp /home/user/docker.key /etc/nginx/ssl/
Устанавливаем права на web.key docker.key
# chmod 777 /etc/nginx/ssl/web.key
# chmod 777 /etc/nginx/ssl/docker.key
Правим файл конфигурации /etc/nginx/nginx.conf
Добавляем строки
server {
listen 443 ssl;
server_name web.au-team.irpo;
ssl_certificate /etc/nginx/ssl/web.cer;
ssl_certificate_key /etc/nginx/ssl/web.key;
ssl_ciphers GOST2012-GOST8912-GOST8912:HIGH:MEDIUM;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://172.16.1.2:8080;
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
server {
listen 443 ssl;
server_name docker.au-team.irpo;
ssl_certificate /etc/nginx/ssl/web.cer;
ssl_certificate_key /etc/nginx/ssl/web.key;
ssl_ciphers GOST2012-GOST8912-GOST8912:HIGH:MEDIUM;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://172.16.2.2:8080;
}
}
Проверяем наличие ошибок:
# nginx -t
Перезапускаем службу nginx:
# systemctl restart nginx
Виртуальная машина HQ-SRV
Передаём на HQ-CLI корневой сертификат ca.crt УЦ:
$ scp ca.crt user@192.168.200.3:/home/user
Виртуальная машина HQ-CLI
Устанавливаем необходимые пакеты если они не установлены
# dnf install openssl-gost-engine
Включаем поддержку алгоритмов шифрования ГОСТ:
# openssl-switch-config gost
Проверяем используемую в системе политику шифрования:
# update-crypto-policies --show
Применяем модуль политики, определяющий используемые методы шифрования ГОСТ:
# update-crypto-policies --set LEGACY:GOST
Проверяем, видит ли OpenSSL алгоритмы ГОСТ:
# openssl ciphers | tr ":" "\n" | grep GOST
Копируем корневой сертификат в /etc/pki/ca-trust/source/anchors/
# cp /home/user/ca.crt /etc/pki/ca-trust/source/anchors/
Обновляем общесистемный список доверенных CA
# update-ca-trust
Выводим список доверенных сертификатов
# trust list | grep –i “AU-Team”

Виртуальная машина HQ-CLI
На HQ-CLI переходим на сайт https://cryptopro.ru/products/csp
Регистрируемся и скачиваем КриптоПро CSP с 90-дневной лицензией


Переходим в директорию Загрузки:
# cd /home/user/Загрузки
Распаковываем архив:
# tar –xzf linux-amd64.tgz
Переходим в директорию с распакованным архивом:
# cd linux-amd64
Запускаем скрипт установки:
# ./install_gui.sh

Жмем Далее

Выбираем необходимые пакеты для установки:

Жмем Установить

Жмем ОК

Используем пробную версию

Жмем Выход

Проверяем доступность
web.au-team.irpoиdocker.au-team.irpoпоhttps
Если браузеры были запущены во время установки
Коревого сертификатаиКриптоПро CSPперезапускаем браузер.




