Как защитить учетные данные для приложений, выполняющих вызовы REST - PullRequest
0 голосов
/ 26 июня 2019

У меня есть приложение nodejs, которое выполняет REST-вызовы для пользователя. Для вызовов REST требуется базовая аутентификация, и пользователю не нужно предоставлять эту информацию, поскольку приложение позаботится о том, чтобы сделать вызов для пользователя.

Каковы наилучшие методы защиты этих учетных данных API в таком случае? Я определенно не хочу, чтобы учетные данные были открытым текстом в источнике. Я также думаю, что я должен держаться подальше от хранения учетных данных в переменных среды. Поскольку само приложение не проверяет подлинность учетных данных, я не думаю, что мне следует использовать oauth или токены.

Это также кажется уловкой-22, если я хочу сохранить учетные данные в базе данных или что-то подобное, потому что тогда мне нужно будет также защитить учетные данные для этих вызовов API.

1 Ответ

0 голосов
/ 26 июня 2019

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

Для этого могут использоваться переменные среды, как и файл конфигурации. Остается вопрос с переменными среды, как эти переменные устанавливаются? Вы где-нибудь запускаете export вручную? Если нет, то, скорее всего, есть сценарий или файл конфигурации, который его заполняет. Кто может видеть эти файлы?

Нередко программы, работающие в системах Unix, запускаются под своим собственным именем пользователя с ограниченным доступом, а любые секретные файлы имеют файловый режим 600. (например, только текущий пользователь может видеть это).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...