Настройка защищенного соединения с использованием ГОСТ-TLS
Установка и настройка nginx
sudo dpkg -i cprocsp-nginx-64_5.0.XXXXX-X _amd64.deb #nginx
Настройка доступа к веб-интерфейсу Центра Мониторинга по протоколу ГОСТ-TLS с односторонней аутентификацией
Для настройки необходимо выполнить следующие действия.
1. Открыть конфигурационный файл cpnginx.conf (/etc/opt/cprocsp/cpnginx/cpnginx.conf).
2. Добавить подключение к Веб-интерфейсу Центра Мониторинга через 443 порт.
server {
listen 443 sspi;
….
location /hm {
rewrite /hm(.+) $1 break;
rewrite /hm /hm/ permanent;
proxy_pass http://localhost:<ПОРТ ВЕБ-ИНТЕРФЕЙСА МОНИТОРИНГА>;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /hmsrv {
rewrite /hmsrv(.+) $1 break;
rewrite /hmsrv /hmsrv/ permanent;
proxy_pass http://localhost:<ПОРТ СЛУЖБЫ МОНИТОРИНГА>;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host:$server_port;
}
….
}
3. Отредактировать файл сервиса cprohm-hmfe (/etc/systemd/system/cprohm-hmfe.service),
добавив в него следующий параметр:
Environment=DSS_APPLICATION_NAME=hm
Примечание
В примере выше значение hm соответствует наименованию location /hm, указанному для Веб-интерфейса
Мониторинга.
4. Перечитать конфигурацию сервисов в systemd и перезапустить сервис cpnginx.
sudo systemctl daemon-reload
sudo systemctl restart cpnginx.service
sudo systemctl restart cprohm-hmfe.service
Настройка доступа к веб-интерфейсу Центра Мониторинга по протоколу ГОСТ-TLS с двусторонней аутентификацией
Для настройки необходимо выполнить следующие действия.
1. Открыть конфигурационный файл cpnginx.conf (/etc/opt/cprocsp/cpnginx/cpnginx.conf).
2. Добавить подключение к Веб-интерфейсу Центра Мониторинга через порт 4430.
server {
listen 4430 sspi;
sspi_verify_client on;
sspi_client_certificate root;
….
location /hm {
set $auth 0;
if ( $sspi_client_fingerprint = 'ОТПЕЧАТОК СЕРИТИФИКАТА ПОЛЬЗОВАТЕЛЯ') {
set $auth 1;
}
if ( $auth = 0 ) {
return 403;
}
rewrite /hm(.+) $1 break;
rewrite /hm /hm/ permanent;
proxy_pass http://localhost:<ПОРТ ВЕБ-ИНТЕРФЕЙСА МОНИТОРИНГА>;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /hmsrv {
rewrite /hmsrv(.+) $1 break;
rewrite /hmsrv /hmsrv/ permanent;
proxy_pass http://localhost:<ПОРТ СЛУЖБЫ МОНИТОРИНГА>;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host:$server_port;
}
}
3. Отредактировать файл сервиса cprohm-hmfe (/etc/systemd/system/cprohm-hmfe.service),
добавив в него следующий параметр:
Environment=DSS_APPLICATION_NAME=hm
4. Перечитать конфигурацию сервисов в systemd и перезапустить сервис cpnginx.
sudo systemctl daemon-reload
sudo systemctl restart cpnginx.service
sudo systemctl restart cprohm-hmfe.service
Настройка получения последнего запуска тестов на Веб-интерфейсе
Примечание
Для выполнения данного пункта требуется созданный экземпляр Центра Мониторинга.
После настройки nginx, описанной в данном разделе, необходимо указать новый адрес Службы Мониторинга, даже если он был задан ранее.
Примечание
Адрес Службы Мониторинга имеет определенный формат (необходимо указывать /hmsrv после адреса узла).
Set-HmFeProperties -MonitoringServiceUrl <HOST>/hmsrv
# Выход из PowerShell:
exit
Для настройки работы веб-сервера необходимо установить Microsoft Internet Information Services 8 и новее. В Мастере добавления ролей и компонентов необходимо добавить следующие роли веб-сервера IIS:
- ASP.NET 4.5;
- Расширяемость .NET (.NET Extensibility 4.5);
- Расширения ISAPI (ISAPI Extensions);
- Фильтры ISAPI (ISAPI Filters);
- Статическое содержимое (Static content);
- Фильтрация запросов (Request Filtering);
- Консоль управления IIS (IIS Management Console);
- Дополнительные службы .NET Framework 4.5 (NetFx4Extended-ASPNET45);
- Активация по HTTP (HTTP Activation).
Для автоматической настройки работы веб-сервера необходимо в командной строке, запущенной от имени администратора, выполнить следующую команду:
dism.exe /Online /Enable-Feature /FeatureName:IIS-WebServerRole /FeatureName:IIS-WebServer /FeatureName:IIS-ASPNET45 /FeatureName:IIS-NetFxExtensibility45 /FeatureName:IIS-ISAPIExtensions /FeatureName:IIS-ISAPIFilter /FeatureName:IIS-StaticContent /FeatureName:IIS-ManagementConsole /FeatureName:IIS-RequestFiltering /FeatureName:WAS-WindowsActivationService /FeatureName:WCF-HTTP-Activation45 /FeatureName:IIS-NetFxExtensibility45 /FeatureName:NetFx4Extended-ASPNET45 /FeatureName:WAS-ConfigurationAPI
Настройка привязки с подключением по TLS с двусторонней аутентификацией
1. Установите сертификат веб-сервера в хранилище WebHosting (Размещение веб-служб)
2. Создайте привязку для сайта через оснастку управления IIS.
3. Настройка требования 2-TLS осуществляется через утилиту netsh.
Утилита netsh не позволяет изменить значения привязки, поэтому для того, чтобы поменять любой параметр, привязку следует удалить и добавить повторно.
Для этого необходимо использовать следующую команду:
netsh http delete sslcert ipport=0.0.0.0:4430
4. Добавьте привязку при помощи следующей команды:
netsh http add sslcert ipport=0.0.0.0:4430 certhash=7d066b00c7cc19f45d14a6c3a8e9305ef32de721 appid='{4dc3e181-e14b-4a21-b022-59fc669b0914}' certstorename=WebHosting clientcertnegotiation=enable verifyclientcertrevocation=disable
- Параметр
clientcertnegotiation=enableотвечает за требование сертификата клиента при установке TLS-соединения. - Значение параметра
appidдолжно быть равно4dc3e181-e14b-4a21-b022-59fc669b0914: оно соответствует веб-серверу IIS. При выполнении команды из PowerShell значение следует заключить в одинарные кавычки, так как символы{и}для PowerShell являются управляющими. - В параметре
ipportможно указывать значение0.0.0.0(для IPv4) или[::](для IPv6) в качестве IP-адреса, что означает "любой адрес". Также поддерживается возможность указания имени узла вместо IP-адреса. - В параметре
certhashнеобходимо указать SHA-1 отпечаток сертификата. - Параметр
certstorenameсодержит имя хранилища, куда установлен сертификат веб-сервера, и должен иметь значениеWebHosting. - Параметр
verifyclientcertrevocation(опциональный) позволяет включить\отключить проверку на отзыв сертификатов клиентов.
Остальные параметры подробно описаны в документации поставщика.
В случае использования ОС Windows Server 2025 при создании привязки можно активировать
чекбокс "Согласование сертификата клиента" (clientcertnegotiation=enable), что позволяет избежать выполнения описанных выше шагов,
начиная с пункта 3.