47 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Работа с шифрованными файлами конфигурации
Функционал шифрования обеспечивает наиболее безопасный способ хранения данных доступа к различным ресурсам (базы данных, почтовые сервера, провайдеры отправки смс-сообщений). Для шифрования файлов конфигурации используется симметричный алгоритм блочного шифрования **aes-256-cbc**.
Алгоритм действий системного администратора:
- Формирование конфигурационных файлов.
- Шифрование файлов с использованием предоставленного скрипта.
- Подготовка сервиса конфигурации для работы с шифрованными файлами конфигурации.
- Сборка образа с шифрованными файлами и настройками.
### Шифрование файлов конфигурации
Для обеспечения шифрования файлов в составе пакета _ecosoft-lexema8-configuration-service_ присутствует скрипт _encryptConfigs.js_, который позволяет зашифровать все файлы формата _*.js_ в определенной папке. Для работы скрипта необходима платформа _NodeJS_. Запуск скрипта осуществляется с помощью следующей команды:
`node <путь к файлу скрипта> <путь к папке с конфигурационными файлами> <пароль для шифрования>`
Пароль должен удовлетворять правилам безопасности организации, в которую поставляется решение. Держателем пароля является организация потребитель.
В результате выполнения скрипта получаем зашифрованные файлы с расширение _.enc_.
**Примечание:** запуск скрипта возможен как в ручном режиме так и с помощью средств автоматизации при сборке образа.
### Настройка сервиса для работы с шифрованными файлами
Для работы сервиса с шифрованными файлами необходимо:
- Настроить переменную окружения CONFIG_CIPHER, которая является флагом работы с шифрованием. Доступные значения _true/false_.
- Настроить переменную окружения CONFIG_KEY, которая должна содержать пароль, который использовался для шифрования файлов.
#### В производственном режиме
Настройка переменных окружения производится в _dockerfile_ сервиса конфигурации:
`ENV CONFIG_CIPHER=true CONFIG_KEY=PaSsWoRd`
При запуске сервиса в контейнере производится расшифровка файлов конфигурации.
# Настройка сервиса
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию `'3071'`).
- **_script_** - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8-configuration-service'`).
- **_noProxify_** - настройка проксирования сервиса (по умолчанию `'true'`).
- **_useCredentialVault_** - флаг использовать хранилища учетных записей windows (по умолчанию `'false'`).
- **_keys_** - используемые ключи хранилища учетных записей windows (по умолчанию []).