Як я можу автоматизувати розшифровку gpg, яка використовує парольну фразу, зберігаючи її в секреті?


13

Мені доручено автоматизувати розшифровку gpg за допомогою cron (або будь-якого інструменту планування завдань, сумісного з Ubuntu Server). Оскільки він повинен бути автоматизованим, я використовував, --passphraseале він закінчується в історії оболонок, так що це видно в списку процесів.

Як я можу зайнятися автоматизацією розшифровки, зберігаючи хороші (бажано, великі) стандарти безпеки?

Приклад буде високо оцінений.


Аргументи , як це видно в і psт.д. , якщо у вас немає hidepidна /proc, але оболонка запуску сценарію (від хрон або іншим чином ) є неінтерактивної і не повинна не писати історію , якщо неправильно налаштована.
dave_thompson_085

Відповіді:


23

Збережіть парольну фразу у файлі, який читає лише користувач cron завдання, і скористайтеся --passphrase-fileопцією, щоб сказати, gpgщоб прочитати туди парольну фразу.

Це забезпечить, щоб пароль не було видно в інформації про процес в пам'яті. Рівень безпеки визначатиметься рівнем доступу до файлу, що зберігає парольну фразу (а також рівнем доступу до файлу, що містить ключ), включаючи те місце, де його вміст в кінцевому підсумку скопійовано (тому будьте обережні з резервними копіями), і офлайн-доступність (витягнення диска з сервера). Чи достатній цей рівень безпеки, буде залежати від вашого контролю доступу до сервера, який зберігає файл, фізично та в програмному забезпеченні та від сценаріїв, які ви намагаєтесь пом'якшити.

Якщо ви хочете дотримуватися високих стандартів безпеки, вам потрібно використовувати апаратний модуль захисту замість того, щоб зберігати свій ключ (та пароль) на локальному рівні. Це не запобіжить використанню ключа in situ , але запобіжить його копіюванню та використанню в іншому місці.


+1, щоб згадати апаратний модуль захисту, єдине рішення, справді, цієї загадки.
MariusMatutiae

Стівен, дякую за згадування модуля апаратної безпеки, я проведу кілька досліджень. Дякую, що вказали на мене в правильному напрямку.
Zakk Coetzee

@StephenKitt Апаратні клавіші чудово підходять для роботи. Коли вони цього не роблять, добре ...
Satō Katsura

@ SatōKatsura правда, хоча я хотів би зазначити, що Yubikey - це не HSM. (Що не означає, що HSM, звичайно, не вразливі .)
Стівен Кітт

"Якщо ви хочете дотримуватися високих стандартів безпеки", ви не можете мати автоматизовану розшифровку роботи або щось підписувати.
JimmyB

5

Автоматичне розшифрування означає, що вам потрібно десь зберігати парольну фразу або не використовувати парольну фразу (якщо ви не використовуєте додаткові параметри, як зазначено в іншій відповіді, поданій Стівеном, коли я друкував мою)! Жоден із них не відповідає вашим вимогам щодо хороших або великих стандартів безпеки.

тобто ваша вимога не сумісна з безпекою.

Ви можете розраховувати на такі речі, як: ви повинні бути root, я дав файлу, в якому зберігається моя парольна фраза, дійсно заплутане ім'я, я зашифрував основні файлові системи тощо, і т. Д., Але вони всі верстви які тривіально обійти, коли ви вкорінюєтесь в першу чергу.

Варіант, який запобігає появі парольної фрази у списку процесів, є --passphrase-file <file-name>.

Однак це не безпечніше, ніж видалення парольної фрази в першу чергу.


Дякую, що ви пояснили Тоні, ви краще зрозуміли це питання. Основним завданням буде модуль апаратної безпеки, про який згадував Стівен.
Zakk Coetzee

@ZakkCoetzee: Як я вже говорив в іншій відповіді, що зупиняє зловмисника використовувати HSM, якщо вони є root?
Мартін Боннер підтримує Моніку

@MartinBonner Як говорив вище Стівен Кітт, це заважає їм отримати ключ, який, безумовно, краще, ніж отримати ключ.
Zakk Coetzee

Так, але не дуже. Запитайте Дігінотара (у якого був ключ у HSM, але він залишив HSM підключеним та відповідною смарт-карткою у слоті - щоб зловмисник міг підписати ряд посвідчень нападника.)
Мартін Боннер підтримує Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.