<< Click to Display Table of Contents >> Администрирование (Linux) > Расширенная установка > Установка сервисов на выделенном сервере Установка сервиса ключей |
Чтобы настроить шифрование документов, необходимо сначала установить сервис ключей (KeyDerivation). При развертывании системы с помощью инструмента Directum Launcher по умолчанию сервис не устанавливается вместе со всеми компонентами.
Важно. Для обеспечения высокой безопасности сервис ключей нужно разворачивать отдельно от остальных сервисов, в защищенном контуре, доступ к которому строго ограничен. Например, физический доступ к серверу должен быть только у администратора безопасности, который не является администратором Directum RX или разработчиком.
Допускается разворачивать сервис на основном сервере со всеми компонентами для тестирования системы, при установке среды разработки на компьютере разработчика или когда не требуется повышенная безопасность.
Важно. Обязательно сохраните резервную копию сертификатов шифрования и секретов сервиса, так как:
•одновременная утеря закрытых ключей основного и запасного сертификата ведет к невозможности расшифровки всех документов, секреты которых зашифрованы этими сертификатами;
•утеря секрета сервиса ведет к невозможности расшифровки всех документов, для шифрования которых использовался этот секрет сервиса.
Даже если у вас есть резервные копии документов, их нельзя будет восстановить, так как они зашифрованы. Резервные копии секретов рекомендуется хранить отдельно от копий сертификатов.
Примечание. После установки сервиса можно быстро проверить, что шифрование работает. Для этого на компьютере с веб-сервером в конфигураторе Directum Launcher в секции веб-сервера добавьте параметр UI_ENCRYPTABLE_DOCUMENT_TYPES. В нем перечислите идентификаторы типов документов, для которых нужно разрешить шифрование. Подробнее см. в разделе «Как узнать идентификатор типа документа». В результате для таких документов на панели «Управление доступом» появится кнопка , по которой можно зашифровать документ. Подробнее о других способах настройки см. в разделе «Шифрование документов».
Подготовка к установке
1.Подготовьте сертификаты для шифрования секретов сервиса и секретов данных. Сертификаты можно приобрести в удостоверяющем центре или сгенерировать самостоятельно.
Для шифрования нужно подготовить два сертификата: основной и запасной. Если что-то произойдет с основным, будет использоваться второй сертификат. Отпечатки сертификатов указываются далее в параметрах сервиса ключей.
2.Установите сертификаты на выделенном сервере, где будет развернут сервис ключей. Для этого используйте, например, утилиту certificate-tool. Установите открытый и закрытый ключ основного сертификата и открытый ключ запасного сертификата. Закрытый ключ запасного сертификата сохраните отдельно и разместите его, например в сейфе.
3.Сохраните резервную копию сертификатов на случай, если их потребуется восстановить.
4.Если используются ГОСТ-сертификаты для шифрования данных, то на компьютере с сервисом ключей установите КриптоПро CSP версии 5.0 и выше.
Установка сервиса ключей на выделенном сервере
1.На сервере, где размещается сервис хранилищ, запустите Directum Launcher и перейдите в режим настройки. В секцию Общие настройки (common_config) добавьте параметр KEY_DERIVATION_SERVICE_ADDRESS – адрес сервиса ключей.
Пример настройки в config.yml:
KEY_DERIVATION_SERVICE_ADDRESS: '{{ protocol }}://{{ host_fqdn }}/KeyDerivation'
2.Архив с Directum Launcher распакуйте в локальную папку на сервере с помощью команды:
tar -xvf <Имя архива> -С <Имя папки>
ВАЖНО. Для корректной установки общий путь к файлам должен быть не более 256 символов. Также он не должен содержать пробелы, символы кириллицы, запятые и спецсимволы. Поэтому используйте, например, папку /srv/DirectumLauncher.
3.В корень папки с Directum Launcher скопируйте архивы:
•Platform.tar.gz – веб-сервер и сервисы Directum RX;
•DockerImages.tar.gz – базовые docker-образы, если на сервере отсутствует доступ к сети Интернет.
4.Скопируйте конфигурационный файл config.yml с основного сервера на выделенный. Запустите Directum Launcher и перейдите в режим настройки.
5.В секции Переменные (variables) проверьте и при необходимости актуализируйте параметры:
•host_fqdn – полное доменное имя сервера (FQDN), на котором развертывается система Directum RX. Система будет доступна по указанному имени, например: https://domain.ru. Чтобы выделенный сервер был доступен только по IP-адресу, задайте значение {{ host_ip }};
•home_path – домашняя папка. Внутри нее при развертывании системы создаются подпапки для хранения содержимого документов, лог-файлов, файлов предпросмотра и других данных. Если часть данных нужно хранить отдельно, вне домашней папки, то измените путь в соответствующей настройке сервиса;
•protocol – протокол для работы с системой. Возможные значения: https, http. Значение по умолчанию https. Для работы с выделенным сервером рекомендуется использовать защищенный протокол HTTPS. Протокол HTTP можно использовать только для ознакомления с системой, т.к. в этом случае данные между клиентом и сервером передаются в открытом виде;
•https_port – порт для работы с системой по протоколу HTTPS. Значение по умолчанию 443. Применяется, если в параметре protocol указано значение https.
6.В секции Логирование (logs_path) в параметре LOGS_PATH укажите путь до папки с лог-файлами сервиса ключей. Папка должна размещаться на выделенном сервере вместе с сервисом KeyDerivation.
ВАЖНО. Для безопасности доступ на запись в папку с лог-файлами сервиса также должен быть строго ограничен. При расследовании инцидентов по лог-файлу можно будет отследить, кто и с какими зашифрованными документами работал.
Пример настройки в config.yml:
logs_path: &logs
LOGS_PATH: '{{ home_path }}/logs'
7.С основного сервера скопируйте сертификат с закрытым ключом. Имя файла сертификата указано в конфигураторе в секции Общие настройки (common_config) в параметре DATA_PROTECTION_CERTIFICATE_FILE.
8.На выделенном сервере в конфигураторе Directum Launcher в секции Общие настройки (common_config) удалите все лишние параметры и оставьте только параметры PRIMARY_TENANT, DATA_PROTECTION_CERTIFICATE_FILE, DATA_PROTECTION_CERTIFICATE_FILE_PASSWORD и LOGS_PATH.
Пример настройки в config.yml:
common_config: &base
<<: *logs
PRIMARY_TENANT: ''
DATA_PROTECTION_CERTIFICATE_FILE: '{{ home_path }}/data_protection/cert.pfx'
DATA_PROTECTION_CERTIFICATE_FILE_PASSWORD: '11111'
ВАЖНО. На основном и выделенном сервере должен использоваться один сертификат для шифрования Cookie и проверки токена доступа к сервисам Directum RX. Поэтому значения параметров DATA_PROTECTION_CERTIFICATE_FILE и DATA_PROTECTION_CERTIFICATE_FILE_PASSWORD не изменяйте.
9.В секции Настройки сервисов (services_config) оставьте только обязательные секции и секцию сервиса ключей:
•HAProxy (SungeroHaproxy) – обязательная секция, содержит настройки HAProxy. Обеспечивает доступность выделенного сервера;
•Сервис ключей (KeyDerivationService)
10.В секции HAProxy (SungeroHaproxy) актуализируйте параметры:
•ssl_cert – путь к файлу сертификата в формате PEM;
•https_port – порт для работы по протоколу HTTPS. По умолчанию используется значение, указанное в параметре https_port в секции variables.
11.В секции Сервис ключей (KeyDerivationService) задайте настройки сервиса ключей. Список параметров можно посмотреть в примере конфигурационного файла DirectumLauncher/etc/_builds/Platform/platform_plugin/full_config.yml.example.
Чтобы отключить автоматическое создание секрета сервиса, в параметре SECRET_AUTOMATIC_GENERATION снимите флажок (false).
Пример минимальной настройки в config.yml:
KeyDerivationService:
<<: *base
PORT: # auto
SECRET_CERTIFICATE_THUMBPRINT: 'F025B7B16EF7D5476952EB17F7E0E8D180976B42'
BACKUP_SECRET_CERTIFICATE_THUMBPRINT: '1A83CFBC49971F1E14D37FAA6761433E7C0FA999'
SECRET_AUTOMATIC_GENERATION: 'false'
SECRETS_PATH: '{{ home_path }}/secrets'
12.Разверните сервис и другие компоненты. Для этого нажмите на кнопку Применить настройки.
13.Запустите командную строку и с помощью команды gen-new-secret сгенерируйте новый секрет сервиса:
./do.sh keyderivationservice gen-new-secret
Сокращенный вариант команды:
./do.sh kds gen-new-secret
14.Убедитесь, что в папке с секретами сервиса, которая указана в параметре SECRETS_PATH, появился файл с секретом. Названия файлов генерируются в формате:
<большое число>_<ИД секрета сервиса>_service_secret
15.Сохраните резервную копию папки с секретами сервиса.
ВАЖНО. Утеря секрета сервиса ведет к невозможности расшифровки всех документов, для шифрования которых использовался этот секрет сервиса.
16.Проверьте состояние контейнеров командой:
docker ps -a
Команда должна вернуть список развернутых контейнеров. Если контейнер с сервисом находится в состоянии Unhealthy, посмотрите записи в лог-файлах установленного сервиса и исправьте ошибки.
Установка сервиса на основном сервере со всеми компонентами
1.На основном сервере запустите Directum Launcher и перейдите в режим настройки. В секцию Общие настройки (common_config) добавьте параметр KEY_DERIVATION_SERVICE_ADDRESS – адрес сервиса ключей.
Пример настройки в config.yml:
KEY_DERIVATION_SERVICE_ADDRESS: '{{ protocol }}://{{ host_fqdn }}/KeyDerivation'
2.Добавьте секцию Сервис ключей (KeyDerivationService) с настройками сервиса ключей. Список параметров можно посмотреть в примере конфигурационного файла DirectumLauncher/etc/_builds/Platform/platform_plugin/full_config.yml.example.
В параметре SECRET_AUTOMATIC_GENERATION снимите флажок (false), чтобы отключить автоматическое создание секрета сервиса. Если сервис устанавливается для тестирования системы или на компьютер разработчика, то оставьте флажок установленным (true) и пропустите пункт с генерацией секрета сервиса.
Пример минимальной настройки в config.yml:
KeyDerivationService:
<<: *base
PORT: # auto
SECRET_CERTIFICATE_THUMBPRINT: 'F025B7B16EF7D5476952EB17F7E0E8D180976B42'
BACKUP_SECRET_CERTIFICATE_THUMBPRINT: '1A83CFBC49971F1E14D37FAA6761433E7C0FA999'
SECRET_AUTOMATIC_GENERATION: 'false'
SECRETS_PATH: '{{ home_path }}/secrets'
3.Разверните сервис и другие компоненты. Для этого нажмите на кнопку Применить настройки.
4.Запустите командную строку и с помощью команды gen-new-secret сгенерируйте новый секрет сервиса:
./do.sh keyderivationservice gen-new-secret
Сокращенный вариант команды:
./do.sh kds gen-new-secret
5.Убедитесь, что в папке с секретами сервиса, которая указана в параметре SECRETS_PATH, появился файл с секретом. Названия файлов генерируются в формате:
<большое число>_<ИД секрета сервиса>_service_secret
6.Сохраните резервную копию папки с секретами сервиса.
ВАЖНО. Утеря секрета сервиса ведет к невозможности расшифровки всех документов, для шифрования которых использовался этот секрет сервиса.
7.Проверьте состояние контейнеров командой:
docker ps -a
Команда должна вернуть список развернутых контейнеров. Если контейнер с сервисом находится в состоянии Unhealthy, посмотрите записи в лог-файлах установленного сервиса и исправьте ошибки.
© Компания Directum, 2024 |