4.3 KiB
Raw Blame History

Работа с шифрованными файлами конфигурации

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