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