Показать/Скрыть содержание

    Настройка защищенного соединения с использованием ГОСТ-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    
    
    • Настройка веб-сервера (Windows)

    Для настройки работы веб-сервера необходимо установить 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.

    clientcertnegotiation

    В начало © ООО "КРИПТО-ПРО", 2000–2026