Варианты скрытия ключей в аргументах установки при использовании Chocolatey? - PullRequest
0 голосов
/ 25 мая 2020

Существуют ли какие-либо специальные c методы скрытия ключей, которые требуются для установки пакетов? Я хочу использовать Chocolatey для установки приложения на несколько серверов. Команда установки требует, чтобы для установки использовался секретный ключ.

chocolateyinstall.ps1 содержит:

....
$silentArgs = '/S /V" /qn SECRETKEY=555444333"'

После установки пакета на сервере Windows Chocolatey оставляет на компьютере файл chocolateyinstall.ps1. Он содержит секретный ключ, который используется для установки. Есть ли какие-то особые способы скрыть этот ключ? Я не хочу, чтобы пользователи могли просматривать этот ключ. Должен ли я написать команду для удаления файла chocolateyinstall.ps1 или этот файл используется для обновления программного обеспечения?

1 Ответ

1 голос
/ 25 мая 2020

В версии с открытым исходным кодом ваши возможности ограничены. На ум приходят несколько предложений:

  1. Создайте параметр пакета и передайте секретный ключ пакету таким образом;

  2. Создайте переменную среды на каждом сервере с ключом и укажите ссылку на эту переменную в своем chocolateyInstall.ps1 (и напишите код для проверки ее работоспособности);

  3. Используйте хранилище какой-то аромат, чтобы удерживать ключи там и вытаскивать их в chocolateyInstall.ps1;

  4. В зависимости от того, под каким пользователем работает Chocolatey, вы можете использовать Windows DPAPI для безопасного удерживайте ключ;

Недостатком всего этого является то, что если ведение журнала включено, секретный ключ все равно будет доступен в журналах.

В шоколадном For Business есть --package-parameters-sensitive, который не регистрирует параметры, которые передаются с его помощью:

--package-parameters-sensitive=VALUE
     PackageParametersSensitive - Package Parameters to pass the package that
       are sensitive and you do not want logged. Defaults to unspecified.
       Available in 0.10.1+. [Licensed editions](https://chocolatey.org/compare) only.
...