Я вивчаю програмне забезпечення, яке надає користувачеві єдину ідентичність на кількох комп'ютерах. Тобто, користувач повинен мати однакові дозволи на кожному комп’ютері, а користувач повинен мати доступ до всіх своїх файлів (домашнього каталогу роумінгу) на кожному комп’ютері. Здається, існує багато рішень для цієї загальної ідеї, але я намагаюся визначити найкраще для мене. Ось деякі деталі та вимоги:
- Мережа машин - це екземпляри Amazon EC2, на яких працює Ubuntu.
- Ми отримуємо доступ до машин із SSH.
- Деякі машини в цій локальній мережі можуть мати різне використання, але я обговорюю лише машини для певного використання (запуск платформи, що надає багато користувачів).
- Система не обов’язково матиме постійну кількість машин.
- Можливо, нам доведеться постійно або тимчасово змінювати кількість працюючих машин. Це причина, чому я розглядаю централізовану аутентифікацію / зберігання.
- Реалізація цього ефекту має бути безпечною.
- Ми не впевнені, що користувачі матимуть прямий доступ до оболонки, але їх програмне забезпечення потенційно буде працювати (під обмеженими іменами користувачів Linux, звичайно) в наших системах, що так само добре, як і прямий доступ до оболонки.
- Припустимо, що їх програмне забезпечення могло б бути зловмисним заради безпеки.
Я чув про декілька технологій / комбінацій для досягнення своєї мети, але не впевнений у наслідках кожної з них.
- Старіший пост ServerFault рекомендував NFS & NIS, хоча комбінація має проблеми із безпекою відповідно до цієї старої статті Symantec . У статті запропоновано перейти до NIS +, але, як це вже давно , ця стаття у Вікіпедії цитує твердження, що пропонують тенденцію від NIS + від Sun. Рекомендована заміна - ще одна річ, про яку я чув ...
- LDAP. Схоже, LDAP можна використовувати для збереження інформації про користувачів у централізованому місці в мережі. NFS все ще потрібно використовувати для покриття вимоги "домашня папка роумінгу", але я бачу, що посилання на них використовуються разом. Оскільки стаття Symantec вказала на проблеми безпеки як в NIS, так і в NFS, чи існує програмне забезпечення для заміни NFS, або я повинен прислухатися до пропозицій цієї статті щодо його блокування? Я прагну до LDAP, оскільки інший фундаментальний фрагмент нашої архітектури, RabbitMQ, має плагін для автентифікації / авторизації для LDAP. RabbitMQ буде доступним обмеженим чином для користувачів в системі, тому я хотів би, якщо можливо, зв’язати системи безпеки разом.
- Kerberos - це ще один безпечний протокол аутентифікації, про який я чув. Я дізнався про це трохи років тому в класі криптографії, але не пам’ятаю багато про це. Я бачив пропозиції в Інтернеті про те, що він може поєднуватися з LDAP декількома способами. Це потрібно? Які ризики для безпеки LDAP без Kerberos? Я також пам’ятаю, що Керберос використовувався в іншому програмному забезпеченні, розробленому університетом Карнегі Меллон ...
- Ендрю файлова система або AFS. OpenAFS доступний для використання, хоча його налаштування здається дещо складним. У моєму університеті AFS надає обидві вимоги ... Я можу увійти на будь-яку машину, і моя "папка AFS" завжди доступна (принаймні, коли я набуваю маркер AFS).
Поряд із пропозиціями, на який шлях я повинен звернутись, чи є у когось посібники, які були б особливо корисними? Як вказував сміливий текст, LDAP є найкращим вибором, але мене особливо цікавлять деталі реалізації (Keberos? NFS?) Щодо безпеки.