Я на сервере Windows 2003, и мне нужно написать пакетный файл для автоматизации дешифрования с использованием GnuPG. Команда дешифрования требует использования ключевой фразы для использования закрытого ключа.Какова наилучшая практика использования кодовой фразы в пакете?
Вот некоторые осуществимые варианты, которые не полностью удовлетворяют меня:
echo thisIsMyPassphrase|gpg.exe --passphrase-fd 0 --output %1 --decrypt %2
Такое жёстко ключевая фраза не выглядит как безопасный подход! Кроме того, это не удобно изменять (как напрямую встраивается в файл .cmd).Храните кодовую фразу в отдельном файле и убедитесь, что доступ к ней может получить только пользователь Windows, выполняющий процесс дешифрования (с использованием настроек безопасности NTFS).
gpg.exe --passphrase-file X:\passphrase.txt --output %1 --decrypt %2
Что мне здесь не очень нравится ... это то, что у нас был бы открытый файл где-то, содержащий только эту очень чувствительную информацию. странно поддерживать? легко найти ? ..Я не чувствую, как хранение ключевой фразы в переменном окружении хорошо звучит (выглядит довольно выставляется) ..
echo %MY_PASSPHRASE%|gpg.exe --passphrase-fd 0 --output %1 --decrypt %2
Ну, что вы относитесь к лучшему (или «наименее плохим») решением для достижения этого?
Что касается # 2, имя файла может быть на самом деле еще один параметр, и файл может быть, например, на USB-накопителе. Но сообщение об ошибке все равно придется решать, конечно (я не могу с этим поделать). –
Для # 2 я думал о хранении файла Passphrase.txt на другом сервере сети, так что физически файлов автоматизации на сервере дешифрования недостаточно для расшифровки (в случае физического вора сервера). В моем случае использование съемных дисков на самом деле не решает эту проблему (поскольку они физически подключены к серверу), и мы имеем довольно ограниченный физический доступ к серверной комнате. – Myobis
Однако сохранение на отдельном сервере открывает новый вектор атаки. Кто-то, кто может обнюхать сетевой трафик, может получить пароль таким образом. –