Мне поручено автоматизировать расшифровку gpg с помощью cron (или любого Ubuntu Server-совместимого инструмента планирования заданий). Поскольку он должен быть автоматизирован, я использовал --passphrase
его, но он попадает в историю оболочки, поэтому он виден в списке процессов.
Как я могу автоматизировать дешифрование, поддерживая при этом хорошие (желательно отличные) стандарты безопасности?
Пример будет высоко оценен.
ps
т. Д., Если вы неhidepid
включили/proc
, но оболочка, выполняющая скрипт (из cron или иным способом), не является интерактивной и не должна записывать историю, если не настроена неправильно.Ответы:
Сохраните парольную фразу в файле, который доступен для чтения только пользователю задания cron, и используйте
--passphrase-file
опцию сказать,gpg
чтобы прочитать парольную фразу там.Это гарантирует, что пароль не будет виден в информации о процессе в памяти. Уровень безопасности будет определяться уровнем доступа к файлу, в котором хранится фраза-пароль (а также уровнем доступа к файлу, содержащему ключ), в том числе в любом месте, где копируется его содержимое (поэтому будьте осторожны с резервными копиями), и автономная доступность (извлечение диска из сервера). Будет ли этот уровень безопасности достаточным, будет зависеть от ваших средств управления доступом к серверу, на котором хранится файл, физически и программно, а также от сценариев, которые вы пытаетесь смягчить.
Если вам нужны высокие стандарты безопасности, вам нужно использовать аппаратный модуль безопасности вместо того, чтобы хранить ваш ключ (и фразу-пароль) локально. Это не предотвратит использование ключа на месте , но предотвратит его копирование и использование в другом месте.
источник
Автоматическая расшифровка означает, что вы должны хранить парольную фразу где-то или не использовать парольную фразу (если вы не используете дополнительные опции, как указано в другом ответе, представленном Стивеном, когда я печатал свой)! Ни один из них не соответствует вашим требованиям к хорошим или высоким стандартам безопасности.
То есть ваше требование не совместимо с безопасностью.
Вы можете полагаться на такие вещи, как - вы должны быть пользователем root, я дал файлу, в котором хранится моя парольная фраза, действительно запутанное имя, я зашифровал базовые файловые системы и т. Д., И т. Д., Но они все слои которые тривиальны, чтобы обойти, если вы являетесь корнем в первую очередь.
Опция, которая не позволяет парольной фразе появляться в списке процессов
--passphrase-file <file-name>
.Однако это не более безопасно, чем просто удалить фразу-пароль.
источник