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

    Развертывание дополнительного сервера (кластер)

    Установка ПО

    Установка ПО на дополнительном сервере выполняется так же, как и на основном (пункты 1-5).

    Настройка веб-сервера IIS

    1. Скопируйте с основного сервера ключи с сертификатами веб-сервера, а также цепочку сертификатов издателей сертификатов веб-сервера.

    2. Установите на дополнительном сервере следующие сертификаты.

    * Сертификаты веб-сервера с привязкой к закрытым ключам – в хранилище "Личные" локального компьютера;
    * Промежуточные сертификаты из цепочки сертификатов издателей, а также списки отозванных сертификатов (CRL) – в хранилище "Промежуточные центры сертификации" локального компьютера (при необходимости);
    * Корневые сертификаты из цепочки сертификатов издателей – в хранилище "Доверенные корневые центры сертификации" локального компьютера.
    

    3. Создайте на веб-сервере привязки, аналогичные созданным на основном сервере.

    4. Выполните настройку машинных ключей веб-сервера для шифрования файлов cookie.

    Служебные ключи и сертификаты

    Сервисные сертификаты

    1. Скопируйте с основного сервера ключи и сервисные сертификаты. Посмотреть отпечатки сервисных сертификатов можно с использованием следующих командлетов:

    #Центр Идентификации
    (Get-DssStsProperties).ServiceCertificate
    
    #Сервис Подписи
    (Get-DssProperties).ServiceCertificate
    
    #Веб-интерфейс Сервиса Подписи
    (Get-DssFeProperties).ServiceCertificate
    
    #Сервис Аудита
    (Get-DssAnalyticsServiceProperties).ServiceCertificate
    
    #Сервис Обработки Документов
    (Get-DssDocumentStoreProperties).ServiceCertificateThumbprint
    

    2. Выполните на дополнительном сервере установку скопированных ключей и сертификатов:

    * сервисных сертификатов, с привязкой к закрытым ключам – в хранилище "Личные" локального компьютера;
    * промежуточных сертификатов из цепочки сертификатов издателей, а также списков отозванных сертификатов (CRL) – в хранилище "Промежуточные центры сертификации" локального компьютера (при необходимости);
    * корневых сертификатов из цепочки сертификатов издателей – в хранилище "Доверенные корневые центры сертификации" локального компьютера.
    

    Сертификаты Операторов обработчиков УЦ 2.0

    1. В случае, если на Сервисе Подписи зарегистрированы обработчики для прямого подключения к УЦ 2.0, то необходимо скопировать с основного сервера ключи и сертификаты Операторов, заданных в настройках обработчиков. Посмотреть отпечатки сертификатов Операторов можно с использованием следующего командлета:

    Get-DssEnrollment|where {$_.TypeDescription.TypeName -eq "CryptoPro.DSS.SignatureServer.Managers.Enrollment.Ca20.DssCryptoProCa20Enroll"}|foreach {(Get-DssEnrollment -ID $_.Id).Settings["OperatorThumbprint"]}
    

    2. Выполните на дополнительном сервере установку скопированных ключей и сертификатов:

    * сертификатов Операторов, с привязкой к закрытым ключам – в хранилище "Личные" локального компьютера;
    * промежуточных сертификатов из цепочки сертификатов издателей, а также списков отозванных сертификатов (CRL) – в хранилище "Промежуточные центры сертификации" локального компьютера (при необходимости);
    * корневых сертификатов из цепочки сертификатов издателей – в хранилище "Доверенные корневые центры сертификации" локального компьютера.
    

    Мастер-Ключи локальных криптопровайдеров сервисов

    В случае если на основном сервере DSS используются локальные криптопровайдеры КриптоПро CSP ("Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" или "Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider"), то необходимо скопировать мастер-ключи криптопровайдеров сервисов.

    Просмотреть наименования Мастер-Ключей можно при помощи следующих командлетов:

    #Сервис Подписи
    Get-DssCryptoProvider|where {$_.Name -eq 'Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider' -or $_.Name -eq 'Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider'}|foreach {(Get-DssCryptoProvider -ID $_.Id).settings["MasterKeyName"]}
    
    #Центр Идентификации
    Get-DssStsCryptoProvider|where {$_.Name -eq 'Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider' -or $_.Name -eq 'Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider'}|foreach {(Get-DssStsCryptoProvider -ID $_.Id).settings["MasterKeyName"]}
    
    #myDSS Internal
    Get-MyDssServerInternalCryptoProviders|where {$_.Name -eq 'Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider' -or $_.Name -eq 'Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider'}|foreach {(Get-MyDssServerInternalCryptoProviders -ID $_.Id).settings["MasterKeyName"]}
    

    Скопировать мастер-ключи можно путем экспорта из следующей ветки реестра:

    [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Keys]
    

    После выполнения экспорта мастер-ключи необходимо импортировать на дополнительный сервер.

    Сертификаты подписи маркеров сторонних Центров Идентификации

    1. В случае, если на Центре Идентификации DSS зарегистрированы сторонние центры идентификации, необходимо скопировать с основного сервера DSS сертификаты подписи маркеров безопасности. Просмотреть отпечатки сертификатов подписи маркеров можно при помощи следующего командлета:

    Get-DssIdentityProvider|where {$_.IssuerName -ne "realsts"}|foreach {(Get-DssIdentityProvider -ProviderId $_.Id).SigningTokens|fl}
    

    2. Выполните на дополнительном сервере установку сертификатов подписи маркеров в хранилище "Доверенные лица" локального компьютера.

    Сертификаты издателей сертификатов Операторов DSS

    1. Выгрузите на основном сервере DSS сертификаты издателей сертификатов Операторов из выделенного хранилища Центра Идентификации с использованием следующих командлетов:

    #Запрос имени хранилища
    $cert_name_idp = (Get-DssStsProperties).ClientAuthenticationIssuersStoreName
    
    #Выгрузка содержимого хранилища в .p7b-файл (с указанием произвольного пути для сохранения)
    Get-ChildItem "Cert:\LocalMachine\$cert_name_idp"|Export-Certificate -Type P7B -FilePath "C:\certs.p7b"
    

    2. Перенесите сформированный .p7b-файл на дополнительный сервер для последующего импорта.

    3. Выполните на дополнительном сервере установку следующих сертификатов:

    * промежуточных сертификатов из цепочки сертификатов издателей сертификатов Операторов, а также списков отозванных сертификатов (CRL) – в хранилище "Промежуточные центры сертификации" локального компьютера (при необходимости);
    * корневых сертификатов из цепочки сертификатов издателей – в хранилище "Доверенные корневые центры сертификации" локального компьютера.
    

    Копирование конфигураций сервисов (без БД)

    1. У ряда сервисов (Веб-интерфейс, Сервис взаимодействия с SDK) нет собственной БД, и их конфигурации хранятся локально на сервере. Для упрощения процедуры развертывания данных сервисов на дополнительном сервере скопируйте с основного сервера конфигурации из реестра ОС. Сделать это можно с использованием следующих командлетов:

    # Веб-интерфейс 
    REG EXPORT "HKLM\SOFTWARE\WOW6432Node\CryptoPro\DSS\Frontend" "C:\frontend.reg"
    
    # mDAG
    REG EXPORT "HKLM\SOFTWARE\WOW6432Node\CryptoPro\DSS\MyDssApiGateway" "C:\mDAG.reg"
    

    2. Перенесите сформированные .reg-файлы на дополнительный сервер для последующего импорта.

    Формирование строк подключения к БД сервисов

    1. Сформируйте строки подключения для существующих БД сервисов. Примеры формирования при использовании Windows-аутентификации:

    $sql_name = "Адрес SQL-сервера"
    $ServiceAccountName = "Имя учетной записи для Сервисов DSS"
    $ServiceAccountPassword = "Пароль учетной записи для Сервисов DSS"
    
    $idp_db = "Наименование БД Центра Идентиификации"
    $ss_db = "Наименование БД Сервиса Подписи"
    $audit_db = "Наименование БД Сервиса Аудита"
    $ds_db = "Наименование БД Сервиса Обработки Документов"
    $mydss_int_db = "Наименование БД Сервиса myDSS Internal"
    $mydss_ext_db = "Наименование БД Сервиса myDSS External"
    
    #Центр Идентификации
    $idp_conn = New-DssStsSqlConnectionInfo -ServerName $sql_name -DatabaseName $idp_db -AccountType Windows -ServiceAccountName $ServiceAccountName -ServiceAccountPassword $ServiceAccountPassword -UseExistingDB
    
    #Сервис Подписи
    $ss_conn = New-DssSqlConnectionInfo -ServerName $sql_name -DatabaseName $ss_db -AccountType Windows -ServiceAccountName $ServiceAccountName -ServiceAccountPassword $ServiceAccountPassword -UseExistingDB
    
    #Сервис Аудита
    $audit_conn = New-DssAnalyticsSqlConnectionInfo -ServerName $sql_name -DatabaseName $audit_db -AccountType Windows -ServiceAccountName $ServiceAccountName -ServiceAccountPassword $ServiceAccountPassword -UseExistingDB
    
    #Сервис Обработки Документов
    $ds_conn = New-DssDocumentStoreSqlConnectionInfo -ServerName $sql_name -DatabaseName $ds_db -AccountType Windows -ServiceAccountName $ServiceAccountName -ServiceAccountPassword $ServiceAccountPassword -UseExistingDB
    
    #myDSS Internal
    $mydss_int_conn = New-MyDssInternalSqlConnectionInfo -ServerName $sql_name -DatabaseName $mydss_int_db -AccountType Windows -ServiceAccountName $ServiceAccountName -ServiceAccountPassword $ServiceAccountPassword -UseExistingDB
    
    #myDSS External
    $mydss_ext_conn = New-MyDssExternalSqlConnectionInfo -ServerName $sql_name -DatabaseName $mydss_ext_db -AccountType Windows -ServiceAccountName $ServiceAccountName -ServiceAccountPassword $ServiceAccountPassword -UseExistingDB
    

    Обратите внимание на параметр UseExistingDB – он является указателем, что подключение осуществляется к уже существующим БД.

    Полный список доступных параметров приведен в подразделе Развертывание баз данных служб.

    2. Примеры формирования строк подключения при использовании SQL-аутентификации:

    $sql_name = "Адрес SQL-сервера"
    $ServiceAccountName = "Имя учетной записи для Сервисов DSS"
    $ServiceAccountPassword = "Пароль учетной записи для Сервисов DSS"
    $AsUser = "Имя учетной записи администратора SQL"
    $AsUserPassword = "Пароль учетной записи администратора SQL"
    
    $idp_db = "Наименование БД Центра Идентиификации"
    $ss_db = "Наименование БД Сервиса Подписи"
    $audit_db = "Наименование БД Сервиса Аудита"
    $ds_db = "Наименование БД Сервиса Обработки Документов"
    $mydss_int_db = "Наименование БД Сервиса myDSS Internal"
    $mydss_ext_db = "Наименование БД Сервиса myDSS External"
    
    #Центр Идентификации
    $idp_conn = New-DssStsSqlConnectionInfo -ServerName $sql_name -DatabaseName $idp_db -AccountType SqlAccount -ServiceAccountName $ServiceAccountName -ServiceAccountPassword $ServiceAccountPassword -AsUser $AsUser -AsUserPassword $AsUserPassword -UseExistingDB
    
    #Сервис Подписи
    $ss_conn = New-DssSqlConnectionInfo -ServerName $sql_name -DatabaseName $ss_db -AccountType SqlAccount -ServiceAccountName $ServiceAccountName -ServiceAccountPassword $ServiceAccountPassword -AsUser $AsUser -AsUserPassword $AsUserPassword -UseExistingDB
    
    #Сервис Аудита
    $audit_conn = New-DssAnalyticsSqlConnectionInfo -ServerName $sql_name -DatabaseName $audit_db -AccountType SqlAccount -ServiceAccountName $ServiceAccountName -ServiceAccountPassword $ServiceAccountPassword -AsUser $AsUser -AsUserPassword $AsUserPassword -UseExistingDB
    
    #Сервис Обработки Документов
    $ds_conn = New-DssDocumentStoreSqlConnectionInfo -ServerName $sql_name -DatabaseName $ds_db -AccountType SqlAccount -ServiceAccountName $ServiceAccountName -ServiceAccountPassword $ServiceAccountPassword -AsUser $AsUser -AsUserPassword $AsUserPassword -UseExistingDB
    
    #myDSS Internal
    $mydss_int_conn = New-MyDssInternalSqlConnectionInfo -ServerName $sql_name -DatabaseName $mydss_int_db -AccountType SqlAccount -ServiceAccountName $ServiceAccountName -ServiceAccountPassword $ServiceAccountPassword -AsUser $AsUser -AsUserPassword $AsUserPassword -UseExistingDB
    
    #myDSS External
    $mydss_ext_conn = New-MyDssExternalSqlConnectionInfo -ServerName $sql_name -DatabaseName $mydss_ext_db -AccountType SqlAccount -ServiceAccountName $ServiceAccountName -ServiceAccountPassword $ServiceAccountPassword -AsUser $AsUser -AsUserPassword $AsUserPassword -UseExistingDB
    

    Обратите внимание на параметр UseExistingDB – он является указателем, что подключение осуществляется к уже существующим БД.

    Полный список доступных параметров приведен в подразделе Развертывание баз данных служб.

    Создание экземпляров сервисов

    1. Объявите наименования экземпляров.

    Примечание

    Наименования экземпляров сервисов должны совпадать с используемыми на основном сервере.

    $idp_name = "Наименование экземпляра Центра Идентификации"
    $ss_name = "Наименование экземпляра Сервиса Подписи"
    $fe_name = "Наименование экземпляра Веб-интерфейса Сервиса Подписи"
    $audit_name = "Наименование экземпляра Сервиса Аудита"
    $ds_name = "Наименование экземпляра Сервиса Обработки Документов"
    $mdag_name = "Наименование экземпляра mDAG"
    $mydss_int_name = "Наименование экземпляра Сервиса myDSS Internal"
    $mydss_ext_name = "Наименование экземпляра Сервиса myDSS External"
    

    2. Объявите наименование сайта:

    $site_name = "Default Web Site"
    

    3. Создайте экземпляры сервисов:

    #Центр Идентификации
    New-DssStsInstance -ApplicationName $idp_name -DisplayName $idp_name -SiteName $site_name -ConnectionInfo $idp_conn
    
    #Сервис Подписи
    New-DssSignServerInstance -ApplicationName $ss_name -DisplayName $ss_name -SiteName $site_name -ConnectionInfo $ss_conn
    
    #Веб-интерфейс Сервиса Подписи
    New-DssFeInstance -ApplicationName $fe_name -DisplayName $fe_name -SiteName $site_name
    
    #Сервис Аудита
    New-DssAnalyticsServiceInstance -ApplicationName $audit_name -DisplayName $audit_name -SiteName $site_name -ConnectionInfo $audit_conn
    
    #Сервис Обработки Документов
    New-DssDocumentStoreInstance -ApplicationName $ds_name -DisplayName $ds_name -SiteName $site_name -ConnectionInfo $ds_conn
    
    #mDAG
    New-MdagInstance -ApplicationName $mdag_name -DisplayName $mdag_name -SiteName $site_name
    
    #myDSS Internal
    New-MyDssServerInternalInstance -ApplicationName $mydss_int_name -DisplayName $mydss_int_name -SiteName $site_name -ConnectionInfo $mydss_int_conn
    
    #myDSS External
    New-MyDssServerExternalInstance -ApplicationName $mydss_ext_name -DisplayName $mydss_ext_name -SiteName $site_name -ConnectionInfo $mydss_ext_conn
    

    4. Импортируйте ветки реестра, экспортированные ранее для сервисов, имеющих только локальную конфигурацию.

    5. Выдайте права учетным записям, под которыми работают пулы приложений сервисов, на доступ к закрытым ключам сервисных сертификатов.

    6. Выдайте права учетной записи, под которой работает пул приложения Сервиса Подписи, на доступ к закрытым ключам сертификатов Операторов обработчиков УЦ 2.0.

    7. Импортируйте сертификаты издателей сертификатов Операторов из скопированного ранее .p7b-файла с использованием следующих командлетов:

    #Запрос имени хранилища
    $cert_name_idp = (Get-DssStsProperties).ClientAuthenticationIssuersStoreName
    
    #Импорт из .p7b-файла
    Import-Certificate -FilePath "C:\certs.p7b" -CertStoreLocation 'Cert:\LocalMachine\$cert_name_idp'
    

    Дополнительные настройки

    1. Выполните настройку ограничений максимальных размеров документов на дополнительном сервере.

    2. В случае использования локальных криптопровайдеров сервисов подключите аппаратный ДСЧ или гамму.

    3. Активируйте лицензию Сервиса Подписи на дополнительный сервер:

    Add-DssLicense -SerialNumber "Серийный номер лицензии" -CompanyName "Наименование компании – конечного владельца"
    

    4. При задействовании контроля целостности записей аудита зарегистрируйте дополнительный криптопровайдер, задав в параметре NodeId имя узла дополнительного сервера.

    5. При использовании ПАКМ "КриптоПро HSM" настройте подключение к HSM на дополнительном сервере в соответствии с одной из схем балансировки. Также добавьте учетные записи, под которыми работают пулы приложений сервисов, подключенных к HSM, в группу локальных пользователей «Привилегированные пользователи КриптоПро HSM».

    6. Опционально: сделайте в файле hosts на основном и дополнительном серверах запись с соответствием IP-адреса конкретного сервера и кластерного имени.

    Перезапуск пулов приложений и проверка работоспособности

    1. Перезапустите пулы приложений сервисов на дополнительном сервере с использованием следующих командлетов:

    #Центр Идентификации
    Restart-DssStsInstance
    
    #Сервис Подписи
    Restart-DssSignServerInstance
    
    #Веб-интерфейс Сервиса Подписи
    Restart-DssFeInstance
    
    #Сервис Аудита
    Restart-DssAnalyticsServiceInstance
    
    #Сервис Обработки Документов
    Restart-DssDocumentStoreInstance
    
    #mDAG
    Restart-MdagInstance
    
    #myDSS Internal
    Restart-MyDssServerInternalInstance
    
    #myDSS External
    Restart-MyDssServerExternalInstance
    

    2. Выполните проверку работоспособности путем обращения к конечным точкам, перечисленным в подразделе Устранение неполадок.

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