LINUX.ORG.RU

Как разделить доступ к кредам?

 ,


0

1

Вопрос. Есть приложение, которое надо стартовать. Есть админ, который будет его настраивать и запускать. Есть креды, которые «очень секретные и админу низя». Админ сервис настроил и запустил, приложение как то должно где то прочитать эти секретные от админа креды, записанные другим человеком «хранителем секретов».

Вопрос, как разумнее это сделать? Креды можно шифровать например, но тогда надо что бы у приложения доступ к кредам для расшифровки кредов был, а у админа нет.

Если у админа есть права поднять сервис, значит он может залезть в код и что бы ты там не навертел, увести твои сверхсекретные креды. Либо платите человеку сообразно требуемой от него ответственности, либо поднимите жопу и научитесь сами пару команд набрать.

slovazap ★★★★★
()

Теоретически, это может быть выполнимо в особых условиях. Например, если использовать коммерческий астра линукс с его защитными механизмами, исполняемый на машине в защищённом корпусе. В противном случае админ всегда может сделать дамп оперативной памяти и вытащить всё, что ему нужно. Также он может подменить сертификаты и сниффить весь трафик.

Можно захардкодить алгоритм дешифровки, но его код должен быть на уровне мощной обфускации, а ключ, как и расшифрованные данные, должны находиться минимальное время в озу. Это усложнит задачу, но всё равно не сделает её невозможной, если админу вдруг захочется и у него хватит навыков. И, опять же, сеть - самое дырявое место (тут нужны подробности, насколько креды «солёные»).

А вообще, какой-то бред. Нужно решать проблему с кадрами, иначе подобная стратегия угробит контору. Либо проблема в архитектуре и требуется saas.

InterVi ★★★★★
()

Можно дать админу другие креды и попросить инструкцию по их дальнейшей замене. Затем позвать хранителя секретов и попросить его выполнить инструкцию, а потом отозвать старые креды.

kmeaw ★★★
()

Технически-теоретически можно сдвинуть эти креды в отдельный аппаратный кредоприменитель, который ими не делится. Например шифровать на смарткарте, при этом ключ ее покидать не будет и админ ее не сопрет.

Фактически, если сервис имеет доступ к кредам, кредоприменителю, кредовыдавателю или чему угодно другому, значит и админ имеет. И даже если спереть не сопрет, применить сможет на полную катушку. И чинить надо архитектуру, в которой вообще понадобились «очень секретные» креды.

t184256 ★★★★★
()

Если приложению сами креды не нужны, а только подтверждение полномочий (подпись), то держать надо действительно на внешнем нечитаемом носителе. Смартфон в наше время весьма подходящий для этого носитель.

Oleg_Iu
()

Спасибо за ответы я примерно так и предполагал. Есть решения этой проблемы на уровне доверительных систем. Креды получают имя, доверительная система когда получает имя понимает какие креды использовать и делает нечто. Потом возвращает недоверенной системе результат (и недоверенному юзеру). Но заморачиваться не стану. Просто было интересно что кто думает.

i3draven ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.