47 lines
4.3 KiB
Markdown
47 lines
4.3 KiB
Markdown
## Работа с шифрованными файлами конфигурации
|
||
|
||
Функционал шифрования обеспечивает наиболее безопасный способ хранения данных доступа к различным ресурсам (базы данных, почтовые сервера, провайдеры отправки смс-сообщений). Для шифрования файлов конфигурации используется симметричный алгоритм блочного шифрования **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 (по умолчанию []). |