Я пытаюсь использоватьБрелокна Debian latest stable с некоторыми трудностями. Поискав в сети, я не смог найти решение, но подумал, что, возможно, другой подход или другой инструмент могли бы быть лучше в этом случае.
Я хочу добиться чего-то достаточно простого:
- При входе на сервер как root после перезагрузки пользователю предлагается ввестиглавная парольная фраза один раз.
- Эта парольная фраза загружается в память и используется для разблокировкиоба(
ssh private key
используется для извлечения кода из удаленного репозитория git, удаленной аутентификации и т. д.) и agpg private key
(используется для расшифровки некоторых параметров конфигурации, также поступающих из git).
Таким образом, только имея доступ к учетной записи root или имея возможность сделать дамп памяти, можно будет извлечь парольную фразу. Как только сервер перезагрузится, парольная фраза будет очищена. У меня нет бюджета/ресурсов на HSM или что-то более сложное. Мне нужно что-то простое и дешевое, и что будет работать достаточно надежно и безопасно.
Keychain кажется хорошим кандидатом, но я не могу заставить его работать должным образом, чтобы выполнить оба требования. А именно, он дважды запрашивает пароль, а также при попытке расшифровать что-то с помощью gpg он запрашивает его в третий раз... Есть ли способ сделать это безопасно с помощью keychain или любого другого инструмента или скрипта оболочки?
[P.S. не уверен, относится ли это к ServerFault или сюда]
решение1
Используйте отдельную зашифрованную файловую систему (которая может быть фактически сохранена в обычном файле и смонтирована через dm). С точки зрения безопасности права доступа к файловой системе будут делать то же самое, что и сохранение ее в виртуальной памяти запущенного процесса — к обоим может получить доступ root (если вы не примете дополнительных мер для предотвращения этого). На самом деле, вероятность того, что пароль окажется в swap, должна быть ниже, чем в случае кэширования его в помощнике агента; но вам следует в любом случае держать swap зашифрованным (или полностью отключенным), если безопасность — ваша главная забота.