Я ищу программное обеспечение, которое предоставляет пользователю единую идентификацию на нескольких компьютерах. То есть пользователь должен иметь одинаковые разрешения на каждом компьютере, а пользователь должен иметь доступ ко всем своим файлам (перемещаемому домашнему каталогу) на каждом компьютере. Кажется, есть много решений для этой общей идеи, но я пытаюсь определить лучшее для меня. Вот некоторые детали вместе с требованиями:
- Сеть компьютеров - это экземпляры 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? Я также помню, как Kerberos использовался в другом программном обеспечении, разработанном Университетом Карнеги-Меллона ...
- Эндрю Файловая Система, или AFS. OpenAFS доступна для использования, хотя ее настройка кажется немного сложной. В моем университете AFS обеспечивает оба требования ... Я могу войти на любой компьютер, и моя «папка AFS» всегда доступна (по крайней мере, когда я получаю токен AFS).
Наряду с предложениями о том, по какому пути я должен идти, есть ли у кого-нибудь какие-нибудь руководства, которые были бы особенно полезны? Как указано жирным шрифтом, LDAP выглядит лучшим выбором, но меня особенно интересуют детали реализации (Keberos? NFS?) В отношении безопасности.
Это частичный ответ.
NIS / NIS +
Не используйте NIS. Используйте LDAP с NIS-схемой.
OpenLDAP (он же slapd в Ubuntu).
Убедитесь, что вы правильно настроили ACL и SSF (факторы безопасности).
Очень просто отправлять пароли в открытом виде, если вы не будете осторожны.
http://www.openldap.org/doc/
NFS
NFS не является зашифрованным.
Это может быть обернуто в SSL с некоторой хитростью.
Без Kerberos полагается на ip_addr для аутентификации.
С Kerberos возможно, что SASL используется для шифрования всего.
Kerberos
Требуется, чтобы OpenLDAP имел сквозную аутентификацию SASL для аутентификации LDAP. (Не сложно.)
Следует использовать записи DNS. (Не обязательно, но очень полезно).
GSSAPI можно использовать вместо ssh-ключей. (Может сосуществовать.)
Машины KDC должны быть отделены от ваших клиентских машин.
OpenAFS,
зашифрованный с помощью DES. (Не считается безопасным.)
Требуется либо Kerberos, либо собственный устаревший сервер авторизации.
Имеет собственную ACL файловой системы.
источник