Назад | Перейти на главную страницу

Как группа системных администраторов обеспечивает безопасный обмен паролями?

Каковы лучшие практики для обмена сотнями паролей между несколькими людьми? Эти пароли защищают критически важные данные, и их невозможно увидеть за пределами небольшой группы.

Лучше всего не сообщать пароли. Используйте такие инструменты, как sudo, чтобы позволить пользователям получить необходимый доступ из своей учетной записи. Если у вас несколько пользователей, каждый должен иметь свои собственные учетные записи там, где это необходимо. LDAP (Unix / Linux) и Active Directory - хорошее решение для предоставления доступа нескольким серверам из общей базы данных.

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

Для паролей, которыми действительно необходимо поделиться, используйте один из инструментов паролей, например Keepass, база данных которого может быть размещена в сети. Инструменты с клиентами для нескольких платформ лучше. Подумайте, нужно ли вам больше одной базы данных. Помните, что вам нужно действительно доверять всем, у кого есть доступ к этим данным.

Я бы, вероятно, написал собственное веб-решение, размещенное в корпоративной интрасети. (Взгляни на http://lastpass.com для вдохновения или для его использования. Обмен паролями - одна из его функций, хотя она может не работать на вашем томе.)

РЕДАКТИРОВАТЬ: Конечно, лучшее решение, не делитесь ими. Хранение паролей в открытом виде на любом носителе опасно, особенно когда цель их хранения - поделиться ими. Существует почти бесконечное количество решений, каждое из которых несет в себе определенную опасность. Почему бы не записать их на зашифрованный образ диска, записать этот образ на один компакт-диск, поместить компакт-диск в сейф, который может открыть только один вооруженный охранник, и не попросить людей предоставить удостоверение личности с фотографией, чтобы разблокировать его?

Дело в том, что мы действительно не знаем вашего сценария. Почему вы используете сотни критически важных паролей? Это для вашей внутренней сети бэк-офиса, VPN или это пароли клиентов, которые вы по какой-то причине храните в открытом виде? Все ли люди, с которыми вам нужно поделиться им, находятся в одной установке? Будет ли работать физический перенос, такой как зашифрованный компакт-диск или распечатанная таблица, хранящаяся в сейфе? Или ваши системные администраторы рассредоточены по всему миру, используя электронные средства обмена информацией только решение?

Мы пошли с KeePass именно для этой цели. Это отличная маленькая программа, которая хранит все ваши пароли в зашифрованном файле базы данных. Существуют дополнительные функции безопасности, такие как необходимость ключевого файла вместе с основным паролем для доступа к паролям. Это позволяет использовать несколько уровней безопасности (разделить ключевой файл и базу данных), при этом всем пользователям будет удобно работать со всеми разными паролями. Например, вы можете запустить приложение и ключевой файл с USB-накопителя, но сохранить базу данных где-нибудь в своей сети. Для этого потребуются учетные данные для общего сетевого ресурса, основной пароль и физический USB-накопитель с файлом ключа.

Каковы лучшие практики для обмена сотнями паролей между несколькими людьми?

Легко, это бывает двух видов:

  1. Нет, просто и понятно. Если вы решите это сделать, вы откладываете аутентификацию по паролю внешнему доверенному центру и управляете аутентификацией оттуда.

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

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

Вам следует серьезно подумать о безопасной службе аутентификации, которая интегрируется со службой каталогов, чтобы решить эту проблему. Комбинация DS / AS создает доверенный «орган», который может действовать как арбитр для всех ваших пользователей и устройств. Доступ к учетным записям пользователей может быть отделен от фактического пароля, используемого при проверке подлинности, что упрощает «отключение» паролей от политики доступа. Контроль паролей осуществляется путем деактивации учетной записи пользователя; поэтому, если администратор уходит, вы просто закрываете его учетную запись, и его доступ прекращается (потому что пароль этого человека предоставляет доступ только на основании действительности DS / AS, подтверждающего действительность учетной записи).

Это будет работать только тогда, когда вы находитесь в среде, которая позволяет вашим устройствам / программам шунтировать свои запросы аутентификации к внешним источникам, поэтому это может быть не решением для вас.. Если у вас есть значительный процент устройств / программ, которые могут поддерживать внешнюю аутентификацию, я бы пошел дальше и сделал это, если бы просто объединить несколько сотен паролей в управляемый список, скажем, из дюжины. Если вы решите пойти по этому пути, для этого есть несколько готовых, хорошо известных и проверенных решений.

  • Active Directory. Вероятно, самая известная из группы, предоставляет вам Kerberos в качестве опции аутентификации и предоставляет LDAP для базовых DS.
  • Самба / Winbind. Думайте об этом как об «Active Directory Light», вы получаете не все функции AD, а более старую модель, основанную на NT4 (подумайте о хэше LANMAN). Он будет заменен интеграцией AD Samba 4 и, вероятно, «исчезнет».
  • Службы каталогов Novell. Я недостаточно знаю о нем, чтобы рекомендовать его, но я знаю, что он все еще существует. Многие государственные учреждения все еще используют NDS, поэтому, если вы работаете в этом «секторе», это будет вам интересно. Novell недавно перенесла NDS для работы в качестве службы Linux, но я не знаю, активен ли это продукт (около 2005 г.).
  • LDAP + Kerberos. По сути, это «доморощенная» Active Directory, за исключением всех «хороших функций». Однако они также являются известными компонентами со стабильной, зрелой базой кода, поэтому интеграция этих сервисов обычно является степенью «настройки», необходимой для работы.
  • SSH Keys + (вставьте сюда программу системного администрирования, возможно марионеточную). Полезно только там, где у вас есть SSH повсюду и доступ ко всем устройствам осуществляется таким образом. Ключи могут быть переданы и отозваны по мере необходимости, а пароли становятся «неактуальными», поскольку ключ SSH предоставляет доступ. Использование такой системы, как puppet, позволяет обновлять сотни машин, массово выпуская команды для добавления / отзыва ключей SSH.
  • Некоторая комбинация вышеперечисленного.

Также возникает вопрос, какой уровень безопасности вам нужен. Вы не указали, подразумеваете ли вы под "критически важной задачей", что ядерные боеголовки могут обрушиться на города, или "критически важная" означает, что последняя партия Furbies не попадет в город. Было бы действительно полезно, если бы было что-то, что описывало бы оценку риска / угрозы.

Несколько вещей:

  • Как говорили другие, это плохая идея. Используйте LDAP и т. Д.
  • Если вы по какой-то причине намерены это сделать, по крайней мере, объедините пароли. 100 неуправляемых паролей означает, что вы не обновляете пароли.
  • Держите их на бумаге. Требуйте, чтобы сотрудники подписали бумагу чернилами другого цвета, чтобы было легче определить, копировался ли лист.
  • Если вы работаете в Unix, используйте S / KEY для генерации одноразовых паролей. Храните это в надежном месте.

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

  • Люди, которые будут использовать пароли, не могут контролировать доступ к паролям. Отдельная группа людей из другой цепочки управления должна контролировать доступ к сейфу, ящику и т. Д. Если у вас есть финансовая группа, они могут быть кандидатом. Может быть, вице-президент по маркетингу и т. Д.
  • Когда сейф открывается и кто-то получает пароль, необходимо вести письменный журнал.
  • Пароль необходимо изменить в течение 24 часов после проверки.

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

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

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

https://pypi.python.org/pypi/django-pstore/ использует шифрование GPG для каждого пользователя для общих паролей (и любых других данных, которыми вы можете поделиться). Сервер никогда не знает никаких паролей, он хранит только зашифрованные данные. Каждый использует свой закрытый ключ для расшифровки общих секретов.

В систему включено управление правами: не всем предоставляется полный доступ.

Мы используем https://passwork.me как самостоятельное решение. Но вы также можете хранить пароли в их облаке.

SPB Wallet - хороший кошелек, который мы использовали для использования PW safe by ghost, но SPB Wallet позволяет синхронизироваться с сетевым ресурсом, а также синхронизировать с вашим iphone, если вы получите приложение. Он также имеет встроенный генератор паролей, и вы можете генерировать их от простых паролей до чрезвычайно сложных паролей. Вы также можете скопировать пароль, пока пароль все еще отмечен звездочкой, поэтому, если кто-то смотрит, вы можете скопировать его и вставить, чтобы никто не видел пароль. Приложение для ПК автоматически блокируется, если в течение определенного периода времени нет активности.

Другой вариант - Хранилище ключей Azure который надежно хранит ваши секреты и позволяет вам программно разрешать доступ к ним, легко менять пароли и т. д. Нет хорошего интерфейса для этого, но если вы в порядке с доступом из командной строки, это хорошо.

Наша лучшая практика - сообщать как можно меньше паролей.

Поэтому мы, например: - используем my.cnf в корневом домашнем каталоге для паролей к базе данных - используем ключи ssh для входа на серверы и имеем один корневой пароль, который разрешен только через консоль (поэтому у вас должен быть физический / bmc доступ к серверу ) - используйте ldap везде, где это возможно (ssh, bmc, switch, redmine, ....)

Однако есть несколько ситуаций, когда мы не можем использовать этот подход (например, пароль root). Затем мы используем держать в нашем общем хранилище, но мы храним там всего 10 паролей.

Очень хороший вопрос. Мне были бы интересны другие ответы.

Вот что я делаю, но сначала я рекомендую по возможности использовать предварительные общие ключи. Однако я не знаю, возможно ли это с системами Windows.

Поскольку количество паролей должно быть небольшим (по возможности, вы используете ключи), я использую простой текстовый файл, зашифрованный с помощью gpg, в системе, в которой нет сетевой карты. Итак, (1) вам нужен физический доступ и (2) пароль.

отредактирован для ясности