Як команда системних адміністраторів безпечно ділиться паролями?


83

Які найкращі практики для обміну сотнями паролів між кількома людьми? Ці паролі захищають найважливіші дані місії, і їх ніколи не можна побачити за межами невеликої команди.



11
BTW сотні - це дуже тривожне число. Що відбувається, коли одного з членів команди звільняють? Оновлення сотень паролів буде болісним.
Зоредаче

2
Відряджений на "сотні - це дуже тривожна кількість". Я думаю, що вам, можливо, доведеться створити резервну копію та переглянути, як ви керуєте цією справою безпеки, а не намагатися нанести наклеєну штукатурку на те, що у вас є.
Максим Мінімус

Відповіді:


14

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

РЕДАКТУВАТИ : Безумовно, найкраще рішення, не діліться ними. Збереження паролів чіткого тексту на будь-якому носії небезпечно, особливо коли метою їх зберігання є спільне використання. Існує майже нескінченна кількість рішень, кожне з яких пов'язане з цим. Чому б не покласти їх на зашифроване зображення диска, записати це зображення на єдиний компакт-диск, поставити компакт-диск у сейф, який може відкрити лише один озброєний охоронець, і дозволити людям подавати ідентифікатор фотографії, щоб розблокувати його?

Справа в тому, що ми насправді не знаємо твого сценарію. Чому ви ділитеся сотнями критично важливих паролів? Це для вашої внутрішньої мережі, VPN, чи це паролі клієнтів, які ви чомусь зберігаєте в простому тексті? Чи всі люди, з якими вам потрібно поділитися ним, в одній і тій же установці? Чи справді працює таке фізичне перенесення, як зашифрований компакт-диск або друкована таблиця? Або ваші сисадміни поширюються по всьому світу, роблячи електронні засоби спільного доступу до них єдиним рішенням?


50
ІМО Створення власної системи безпеки / шифрування майже ніколи не є правильним підходом до проблеми.
Зоредаче

2
@Zoredache, це ганьба. Хоча я вважаю, що веб-рішення для розміщення паролів дурне - але мізанфорд сказав інтранет. Досі ризиковано, хоча. Те саме для всіх інших мережевих рішень.
d -_- b

2
@Zoredache, ОП не будує власну систему шифрування, це здається, що все, що йому потрібно, - це захищена база даних. @sims Я не бачу нічого поганого в добре розробленому веб-рішенні. Відповідь, що проголосується, підказує саме це (веб-базування! = Http; web-based = зберігається в Інтернеті). Щоправда, колись я читаю це питання вдруге, я погоджуюся, що основна модель спільного використання тонн паролів здається непотрібною і що можна досягти кращого рішення. Але ОП не дало мені достатньо інформації для того, щоб винести це рішення…
msanford

2
> @Zoredache, це ганьба. <Гм, Сімсе, ти дуже сильно літаєш перед обличчям більшості людей із шифруванням прямо біля кажана. Конструювати шифрування досить складно, і зробити його достойним шифрування ще важче. schneier.com/essay-037.html Іноді менше зло - те, кого ви знаєте - кращий вибір, коли стикаєтесь зі злом, якого ви не знаєте (тобто дизайн, який не перевіряється, не рецензується, може мати помилки, можуть бути отвори в безпеці тощо)
Avery Payne

1
@Avery - спроектувати криптографічну систему складно, і її слід залишити фахівцям, так. Використання перевірених інструментів, таких як GPG у спільному текстовому файлі або Keepass (який використовує реалізацію .NET AES і SHA-256), не створює вашу власну систему.
mfinni

38

Найкраща практика - не ділитися паролями. Використовуйте такі інструменти, як sudo, щоб дозволити користувачам отримати необхідний доступ із власного облікового запису. Якщо у вас є кілька користувачів, кожен повинен мати свої власні акаунти, де це потрібно. LDAP (Unix / Linux) та Active Directory - це гарне рішення для надання доступу до декількох серверів із загальної бази даних.

Коли потрібно мати письмову копію пароля, запечатуйте його в конверті, підписаному та датованим по всій печатці. Змініть пароль, коли він використовується. Після зміни пароля запечатайте новий конверт.

Для паролів, якими дійсно потрібно ділитися, використовуйте один із інструментів паролів, як Keepass, який може мати свою базу даних у мережі. Інструменти з клієнтами для декількох платформ краще. Поміркуйте, чи потрібно вам більше однієї бази даних. Пам'ятайте, що вам потрібно по-справжньому довіряти всім, хто має доступ до цих даних.


+1 для непривілейованих облікових записів користувачів для адміністраторів з можливою ескалацією привілеїв, на серверах * nix я б поєднав це з використанням лише dsa / rsa сертифікації для sshd. Якщо ви працюєте з графічними інструментами під Linux, ви також можете використовувати налаштовану конфігурацію політика.
Аарон Тейт

12
Це. Відкликання доступу для користувачів, коли вони використовують спільні облікові дані, є абсолютним кошмаром. По можливості делегуйте доступ через унікальний обліковий запис користувачів. Завжди є кілька ситуацій, коли загальний пароль неминучий, але "сотні" загальних паролів кричать критичним недоліком дизайну.
Кріс Торп

4
Я погоджуюся з тим, що зазвичай не діляться паролями, але існує маса ситуацій, коли це необхідно, наприклад, мережеві пристрої з єдиним входом, веб-сайти постачальників, де всі sysadmins використовують однаковий логін для замовлення, і користувачі SQL sa або локальні паролі адміністратора, де необхідні. Ось чому я думаю, що для цього найкраще підходить KeePass: він працює на декількох платформах, забезпечує хороший рівень безпеки та легко організовує сотні паролів.
Пол Крун

2
У нас є варіант цього варіанта, де у нас записані кореневі паролі, але заблоковані в сейфі, що тільки команда систем має ключі для відкриття. Самі наші кореневі паролі мають 16 символів і генеруються таким чином, щоб бути наступним - неможливо запам’ятати. Так, там є якась незахищеність, але якщо хтось прорветься у сейф, я підозрюю, що у нас є більші проблеми.
Frenchie

2
Ось справжній сценарій використання для нашої команди: обмін паролями для веб-програм, де вони не підтримують декілька входів для одного облікового запису. Отже, якщо більш ніж одна особа в команді повинна мати доступ до цього облікового запису, існує спосіб поділитися паролями для цього облікового запису.
Jordan Reiter

11

Ми з цією ціллю пішли з KeePass . Це чудова маленька програма, яка зберігає всі ваші паролі у зашифрованому файлі бази даних. Існують додаткові функції захисту, такі як необхідність файлу ключа разом з основним паролем для доступу до паролів. Це дозволяє забезпечити безліч шарів безпеки (розділити ключовий файл і базу даних), при цьому зберігаючи його зручно для роботи з усіма різними паролями. Наприклад, ви можете запустити додаток та файл ключів із USB-накопичувача, але зберігати базу даних у вашій мережі десь. Для цього потрібні облікові дані для загальної мережі, основного пароля та фізичного USB-накопичувача з файлом ключа.


Здається, KeePass підтримує декілька платформ, в моїх очах велика перемога (я працюю в змішаній платформі). Функція "автоматичного типу" також виглядає корисною.
Avery Payne

2
Дурна ідея зберігати паролі в мережі.
d -_- b

1
@Sims - то як ти ними поділишся? KeePass використовує зашифрований файл для магазину. Це просто більш зручна версія текстового файлу, зашифрованого GPG, на сервері Unix, до якого кожен має доступ.
mfinni

1
@Sims - Я зазвичай погоджуюся з вами, але це може бути ситуацією безпеки та продуктивності. Я не хотів би вводити корінний пароль сервера в щось подібне, але адміністративний пароль комутатора рівня 2, який має лише один логін, є хорошим кандидатом для цього. Існує момент, коли потрібно більше роботи, роблячи речі більш безпечним способом, ніж це було б очищення після порушення безпеки. Плюс до всього шифрування ви мали б захистити AD / NTFS у файлі та трохи неясності, поставивши файл (який можна назвати будь-яким) у випадковому місці.
Пол Крун

Я не думав про машину Windows. Але так, якщо ви можете мати лише одного користувача для цього комутатора, то, мабуть, це було б сенсом. Інакше, як каже Білл, скажіть "не" для загальних паролів, що також було моєю думкою про ключі.
d -_- b

5

Які найкращі практики для обміну сотнями паролів між кількома людьми?

Легко, це два варіанти:

  1. Ти цього не робиш, просто і просто. Якщо ви вирішите це зробити, ви відкладете автентифікацію пароля зовнішньому довіреному органу і звідси керуєте автентифікацією.

  2. У вас є, але при цьому у вас є зовнішній контроль доступу, який містить паролі або маркери безпеки, які не записуються всередині використовуваної вами системи (тобто запис паролів захищений іншим паролем з обмеженою доступністю). З цим виникають численні проблеми.

Ці паролі захищають важливі дані місії, і вони ніколи не можуть бути помітні за межами невеликої команди.

Вам слід серйозно розглянути можливість безпечної служби аутентифікації, яка інтегрується з службою каталогів для вирішення проблеми. Комбінація DS / AS створює надійний "авторитет", який може виступати арбітром для всіх ваших користувачів та пристроїв. Облікові записи користувачів можуть бути відсторонені від фактичного пароля, який використовується для автентифікації, що полегшує "відключення" паролів від політики доступу. Контроль паролів здійснюється шляхом деактивації облікового запису користувача; тож якщо адміністратор виїжджає, ви просто вимикаєте їхній обліковий запис, і їхній доступ знищений (оскільки пароль цієї особи надає доступ лише на основі дійсності DS / AS, що підтверджує дійсність облікового запису).

Це працюватиме лише тоді, коли ви знаходитесь в середовищі, яке дозволяє вашим пристроям / програмам шунтувати свої запити на аутентифікацію на зовнішні джерела, тому це може не бути рішенням для вас . Якщо у вас є значний відсоток пристроїв / програм, які можуть вмістити зовнішню аутентифікацію, я б продовжував це робити, якщо просто об'єднати кілька сотень паролів до керованого списку, скажімо, десятка. Якщо ви вирішили пройти цей маршрут, для цього є декілька відомих і добре перевірених рішень.

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

Також виникає питання про те, скільки потрібно безпеки. Ви не вказали, якщо під "критично важливою місією" ви маєте на увазі, що ядерні боєголовки можуть дощити міста, або якщо "критична місія" означає, що остання відправка Фурбі не встигне в місто. Це дійсно допоможе, якби щось описувало оцінку ризику / загрози.


2

Кілька речей:

  • Як говорили інші, це погана ідея. Використовуйте LDAP тощо
  • Якщо ви хочете зробити це з будь-якої причини, принаймні закріпіть паролі. 100 керованих паролів означає, що ви не оновлюєте паролі.
  • Зберігайте їх на папері. Потрібно, щоб співробітники підписували папір чорнилом іншого кольору, щоб було легше визначити, чи був скопійований аркуш.
  • Якщо ви перебуваєте на Unix, використовуйте S / KEY для створення одноразових паролів. Зберігайте це десь у сейфі.

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

  • Люди, які використовуватимуть паролі, не можуть контролювати доступ до паролів. Виділена група людей, що знаходяться в іншому управлінському ланцюжку, повинна контролювати доступ до сейфу, ящика тощо. Якщо у вас є фінансова група, вони можуть бути кандидатом. Можливо, ВП маркетингу тощо.
  • Коли відкривається сейф і хтось заволодіє паролем, повинен бути письмовий журнал.
  • Пароль повинен бути змінений протягом 24 годин після його перевірки.

Такі процедури є болем у шиї, але будуть служити стимулом для людей прийняти більш здорові практики. Якщо ви не зробите щось подібне до того, що я описав, не переймайтесь рухом блокування паролів, тому що ви просто порушитеся коли-небудь.


2

Я знаю, що це давнє питання, але я нещодавно натрапив на веб-рішення, що працює під відкритим кодом, під назвою Corporate Vault, яке може бути цікавим для деяких. У мене ще не було можливості спробувати це.


1

ми використовуємо програму під назвою Safe Safe . це приємно і дуже безпечно, ви можете встановити базу даних на мережевому диску і надати всім, хто її потребує, доступ і пароль до самого сейфа, який потім надійно зберігає всі імена користувачів і паролі, зашифровані надійно.


1

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

Система включає управління правами: не кожен отримує повний доступ.



0

SPB Wallet - це хороший варіант, який ми використовували для використання PW safe від привидів, але гаманець SPB дозволяє синхронізуватися з мережевою часткою, а також синхронізувати свій iphone, якщо ви отримуєте додаток. Він також має вбудований генератор паролів, і ви можете генерувати їх від простих паролів до надзвичайно складних паролів. Ви також можете скопіювати пароль, поки пароль ще не вказано зірочкою, тому якщо хтось шукає, ви можете скопіювати його та вставити його, не побачивши пароль. Автоматичне додаток для ПК блокується, коли протягом певного періоду часу немає жодної активності.


0

Ще один варіант - Azure Key Vault, який надійно зберігає ваші секрети і дозволяє вам дозволити доступ до них програмно, легко обертати ваші паролі тощо. Немає приємного інтерфейсу для цього, але якщо ви добре з доступом до командного рядка, це добре.


0

Наша найкраща практика - ділитися якомога меншою кількістю паролів.

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

Однак, мало ситуацій, коли ми не в змозі використовувати такий підхід (наприклад, root-пароль). Тоді ми використовуємо Keepass у нашому спільному сховищі, але ми зберігаємо лише 10 паролів.


-1

Дуже гарне запитання. Мені будуть цікаві інші відповіді.

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

Оскільки кількість паролів повинна бути невеликою (ви використовуєте ключі, де це можливо), я використовую звичайний текстовий файл, зашифрований gpg у системі, яка не має NIC. Отже (1) вам потрібен фізичний доступ та (2) пароль.

відредаговано для наочності


Ключі? Як у, USB-ключі? Фізичні ключі, які відкривають замки? Клавіші смарт-карт? GPG ключі? Клавіші пропуску фрази, які існують лише у програмному забезпеченні вашої голови? Поєднання вищезазначеного?
Евері Пейн

Ключі від автомобіля! ЖК. Для уточнення, я маю на увазі ключі ssh. Ось чому я сказав, що використовувати попередньо спільні ключі з Windows, можливо, неможливо.
d -_- b
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.