кэширование мастер-пароля на сервере Linux

кэширование мастер-пароля на сервере Linux

Я пытаюсь использоватьБрелокна Debian latest stable с некоторыми трудностями. Поискав в сети, я не смог найти решение, но подумал, что, возможно, другой подход или другой инструмент могли бы быть лучше в этом случае.

Я хочу добиться чего-то достаточно простого:

  • При входе на сервер как root после перезагрузки пользователю предлагается ввестиглавная парольная фраза один раз.
  • Эта парольная фраза загружается в память и используется для разблокировкиоба( ssh private keyиспользуется для извлечения кода из удаленного репозитория git, удаленной аутентификации и т. д.) и a gpg private key(используется для расшифровки некоторых параметров конфигурации, также поступающих из git).

Таким образом, только имея доступ к учетной записи root или имея возможность сделать дамп памяти, можно будет извлечь парольную фразу. Как только сервер перезагрузится, парольная фраза будет очищена. У меня нет бюджета/ресурсов на HSM или что-то более сложное. Мне нужно что-то простое и дешевое, и что будет работать достаточно надежно и безопасно.

Keychain кажется хорошим кандидатом, но я не могу заставить его работать должным образом, чтобы выполнить оба требования. А именно, он дважды запрашивает пароль, а также при попытке расшифровать что-то с помощью gpg он запрашивает его в третий раз... Есть ли способ сделать это безопасно с помощью keychain или любого другого инструмента или скрипта оболочки?

[P.S. не уверен, относится ли это к ServerFault или сюда]

решение1

Используйте отдельную зашифрованную файловую систему (которая может быть фактически сохранена в обычном файле и смонтирована через dm). С точки зрения безопасности права доступа к файловой системе будут делать то же самое, что и сохранение ее в виртуальной памяти запущенного процесса — к обоим может получить доступ root (если вы не примете дополнительных мер для предотвращения этого). На самом деле, вероятность того, что пароль окажется в swap, должна быть ниже, чем в случае кэширования его в помощнике агента; но вам следует в любом случае держать swap зашифрованным (или полностью отключенным), если безопасность — ваша главная забота.

Связанный контент