<< Click to Display Table of Contents >> Администрирование (Windows) > Конфигурирование настроек Шифрование параметров |
Для повышения безопасности системы можно зашифровать строки подключения к базе данных и другие конфиденциальные данные, хранящиеся в конфигурационном файле config.yml. Если понадобится задать новые настройки, значения параметров можно расшифровать, изменить, а затем снова зашифровать.
Например, следующие параметры и атрибуты можно шифровать:
•DATA_PROTECTION_CERTIFICATE_FILE_PASSWORD
•ADVANCED_SIGNATURE_TIMESTAMP_SERVER_AUTH_USER
•ADVANCED_SIGNATURE_TIMESTAMP_SERVER_AUTH_PASSWORD
•@password в секции RxCmd
Чтобы посмотреть полный список параметров, доступных для шифрования, в командной строке перейдите в папку с Directum Launcher и выполните команду:
do sungero_deploy.schema show
Важно. Шифруются только перечисленные параметры Directum RX. Параметры в секции Сервер приложений (WcfServer), а также в секциях сторонних компонентов, например MongoDB (SungeroMongodb), не шифруются. Значения этих параметров остаются в открытом виде. Чтобы не скомпрометировать данные, в шифруемых и нешифруемых параметрах рекомендуется задавать разные значения.
1.В секции Переменные (variables) добавьте параметр config_password. В качестве значения укажите переменную окружения, например {{ getenv("LAUNCHER_CONFIG_PASSWORD") }}, в которой будет задан пароль для шифрования. Пример в config.yml:
variables:
config_password: '{{ getenv("LAUNCHER_CONFIG_PASSWORD") }}'
ПРИМЕЧАНИЕ. В параметре config_password можно указать пароль по умолчанию, который будет использоваться, если переменная окружения не найдена. В этом случае пароль хранится в конфигурационном файле в открытом виде, поэтому настройку допускается применять только при тестировании. Пример настройки в config.yml:
variables:
config_password: '{{ getenv("LAUNCHER_CONFIG_PASSWORD", "default_value") }}'
2.От имени администратора запустите командную строку и в ней задайте переменную окружения и пароль для шифрования. Для этого выполните команду:
set <Переменная окружения>=<Пароль>
Пример:
set LAUNCHER_CONFIG_PASSWORD=Password
Если переменная окружения не совпадает с указанной в параметре config_password, для шифрования используется пароль None.
ПРИМЕЧАНИЕ. Переменная окружения и заданный пароль хранятся только в текущей сессии командной строки. Если закрыть окно командной строки, переменная и пароль удалятся из операционной системы. Это защищает пароль от компрометации. Чтобы параметры можно было в дальнейшем расшифровать, скопируйте пароль в какой-либо файл или запомните.
3.В командной строке перейдите в папку с Directum Launcher. Чтобы зашифровать значения всех параметров, поддерживающих шифрование, выполните команду:
do enc encrypt_config
Если нужно зашифровать только определенный параметр, выполните команду:
do enc encrypt_setting_value <Название параметра>
Пример команды для шифрования строки подключения к базе данных:
do enc encrypt_setting_value CONNECTION_STRING
4.Перегенерируйте XML-файлы с настройками серверных компонентов. Для этого выполните команду:
do all config_up
В результате значения параметров будут отображаться в конфигурационном файле в зашифрованном виде.
Чтобы проверить зашифрованные параметры, запустите инструмент Directum Launcher. Для этого в текущей сессии командной строки выполните:
DirectumLauncher
На странице Directum Launcher в зашифрованных строках подключения скрываются пароли. Если при заполнении поля переключиться на настройку в виде строки подключения, то в скрытом виде отобразится вся строка. В результате рядом присутствующие не смогут увидеть данные на экране. Если нажать на кнопку , строка подключения отобразится в открытом виде. По кнопке ее можно скрыть обратно.
ВАЖНО. После завершения текущей сессии переменная окружения и пароль для шифрования удаляются. Поэтому в дальнейшем запускайте Directum Launcher так же из командной строки, иначе возникнут ошибки. Для этого предварительно укажите ранее заданную переменную и пароль:
set <Переменная окружения>=<Пароль>
DirectumLauncher
1.От имени администратора запустите командную строку и в ней задайте переменную окружения и пароль, которые указывали при шифровании. Для этого выполните команду:
set <Переменная окружения>=<Пароль>
Пример:
set LAUNCHER_CONFIG_PASSWORD=Password
2.В командной строке перейдите в папку с Directum Launcher. Чтобы расшифровать значения всех параметров, выполните команду:
do enc decrypt_config
Если нужно расшифровать значение только определенного параметра, выполните команду:
do enc decrypt_setting_value <Название параметра>
Пример команды для расшифрования строки подключения к базе данных:
do enc decrypt_setting_value CONNECTION_STRING
3.Перегенерируйте XML-файлы с настройками каждого компонента. Для этого выполните команды:
do installer config_up
do all config_up
В результате значения параметров перезапишутся и отобразятся в конфигурационном файле в открытом виде.
© Компания Directum, 2024 |