Должен ли я создавать пользователя Mongo для каждого физического разработчика, которому нужен доступ к MongoDB, или мы должны просто использовать учетную запись «sysadmin»?
Нас троим нужен полный доступ, и всем нужны одинаковые разрешения. У нас всего несколько тысяч пользователей, и мы не предъявляем никаких особых требований (не в сфере здравоохранения, финансов и т. Д.). Я считаю всех в моей команде надежными и компетентными. У всех есть доступ к sudo, и на сервере нет других учетных записей Linux (кроме apache и т. Д.).
Я обдумываю это, так как настроить нескольких пользователей намного сложнее, а выгода ничтожна. (Если бы член команды ушел, я бы просто сменил пароль). Однако, если есть реальная причина для создания отдельных пользователей (если это помогает проводить аудит / расследования после взлома и т. Д.), Я был бы более чем счастлив сделать это.
Если бы мы поделились, я бы создал простой сценарий bash, чтобы "обернуть" команды mongo, как это, и добавить его в группу, предоставленную нам только трем разработчикам:
#!/bin/bash
/path/to/bin/mongo -u="username" -p="password" $@
Это, в первую очередь, предотвратит выход пароля с сервера.
Первоначально я рассматривал последствия для безопасности написания сценария, подобного приведенному выше, который имеет уникальный пароль для каждого пользователя и имеет файл, принадлежащий им, с 700
разрешения. Предполагается, что хранить пароль «скрытым» от пользователя будет безопаснее, чем хранить его в буфере обмена / на локальном компьютере в произвольном порядке. password.txt
файл на своем рабочем столе.
Но я начал думать: нет причин иметь три отдельных аккаунта, если бы мы втроем могли просто sudo cat
чтобы все равно увидеть другой пароль.
Я думаю, что заставлять каждого пользователя хранить пароль локально с помощью диспетчера паролей является излишним, поскольку, поскольку у них уже есть sudo, достаточно просто отключить аутентификацию в файле конфигурации Mongo в первую очередь.
Общая учетная запись означает, что сложнее (или невозможно без надлежащего ведения журнала системы / доступа) определить, кто на самом деле вошел в систему, если что-то пойдет не так.
Кроме того, если один из этих людей завершен / уходит, вы не можете удалить ТОЛЬКО его доступ, вам придется изменить пароль для общей учетной записи, как вы сказали.
Если люди действительно хранят пароли в виде открытого текста в своих системах, это целая другая система безопасности, которую могут использовать черви.
Я не уверен, почему вы думаете, что создание трех отдельных учетных записей - это значительный объем работы, поскольку вы, вероятно, потратили больше времени на написание этого вопроса.