13 октября 2009 г. 0:01 пользователь Paul Wolneykien
<mano...@altlinux.org> написал:
> В Пнд, 12/10/2009 в 21:53 +0400, Evgeny Sinelnikov пишет:
>> 12 октября 2009 г. 15:13 пользователь Paul Wolneykien
>> <mano...@altlinux.org> написал:
>> >
>> >  Всем привет,
>> >
>> >  В ходе обсуждения текущего состояния модулей alterator-openldap и
>> > alterator-ldap-users, у нас с Димой (dkr@) возник вопрос о том, каким
>> > вообще должно быть правильное построение авторизации управляющего модуля
>> > в управляемые службы?
>> >
>>
>> Давайте уточним вопрос о том, что мы называем авторизацией, а что
>> аутентификацией?
>
>  Речь про аутентификацию, естественно. Наверное, следовало так и
> написать, да? :p
>

Да.

>> Если я правильно понял, то вы имеете в виду единый механизм
>> аутентификации. Такой механизм существует. Он называется Kerberos.
>> Разработан он в MIT и уже давно активно используется.
>
>  В ПП есть некоторая поддержка Кербероса. Поэтому этот вариант уже был
> взят на заметку. Но вот ведь в чём вопрос: наверняка не все сервисы
> поддерживают аутентификацию через Керберос. Взять тот же LDAP. Как в
> рамках вызова команды ldapsearch, например, сказать, что "у меня есть
> тикет, пустите"? В man ldapsearch упоминается некий SASL как подсистема
> аутентификации. Может быть через него? А MySQL? А Samba?
>

Есть мнение, что ldap для таких задач слишком громоздок. Хороший
пример - Samba. Этот сервис построен на базе RPC. Всё, что нужно,
чтобы удалённо выполнять заданные команды - это RPC. Samba построена
поверх механизма с прозрачной аутентификацией в Kerberos. При этом,
она имеет аутентифицироваться не только через Kerberos.

В Active Directory управление сервисами осуществляется всё тем же RPC
на основе, которого построена сетевая файловая система (CIFS), которая
и реализована в Samba. Но это один из сервисов. Это и есть единый
набор механизмов управления, даже Samba поддерживает некоторые из
механизмов удалённого управления на основе этого RPC.

При наличии таких механизмов, в виде заданного, расширяемого
протокола, нивелирует необходимость использования каких-либо других.
Тем не менее такие монстры, как LDAP, остаются в силу legacy -
большого числа клиентских наработок. Не стоит, конечно, забывать и о
специализация. LDAP ориентирован на доступ к иерархическим данным, SQL
- к табличным....

В случае же с управлением и получением авторизационной информации,
использование LDAP является излишним. Вместо него можно использовать
всё тот же выбранный RPC с прозрачной аутентификацией...

В общем, это моя, вероятно спорная, но аргументированная позиция.

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

Действительно... Но, если они вдруг пускают через PAM, то толку от них
всё равно немного. Проще научить пускать по билетам.

>>
>> В частности, на нём построена и Microsoft Active Directory, которая и
>> является, по сути, системой управления сетевыми сервисами.
>>
>> В принципе, Kerberos можно использовать и отдельно от единого
>> механизма авторизации (LDAP, MySQL, etc). Например, именно так его
>> используют в простых решениях описанных в документации по безопасности
>> для FreeBSD. Последняя, конечно, не является примером для подражания,
>> но, как пример, посмотрите.
>
>  Кроме того, у Димы почему-то были возражения на счёт Кербероса на всех
> узлах. Аргументы были примерно такими: "а что если сеть 'простая' и там
> нет Kerberos?".
>

В простых системах, где нет Kerberos - нет прозрачной аутентифкации.
Там используются разные механизмы. Обычно простой пароль или хеш
развёрнутый в SSL. С некоторый пор. У нас SSL умеет Kerberos. В любом
случае поддержка всех необходимых видов аутентификации требуетс сразу
на вех клиентах, где планируется такое то централизованное, то
"простое" управление.

>  2dkr@: Существует ли проблема развёртки Kerberos на каждом из узлов?

Существует. Kerberos жёстко привязан DNS именам и ко времени. Хотя,
для DNS, можно обойтись и Avahi, в сети с централизованным управлением
имеет смысл держать свой DNS. В плане же ntp, для синхронизации
времени, есть некоторые особенности протокола, которые мешают
разёртыванию при отсутствии интернета.

> Если да, то в чём она заключается? И что, по твоему мнению, поможет
> облегчить развёртку?
>

Наиболее облегчённый вариант развёртывания разрабатывался в рамках
Tartarus. В двух словах всех  сложностей не описать - это механизм
нужно отрабатывать.

В текущем виде можно увидеть процесс развёртывания, установив Tartarus
из сизифа.

PS: Я думаю, что сейчас уже можно сделать работающее решение, несмотря
на костыли и утечки памяти в kerberos, которые можно обойти. Но, для
реализации этого, нужно потратить некоторое время. Если решение
требуется в короткие сроки (менее года), если, вместо разработки
архитектуры придётся кому-то что-то доказывать, если нет опыта и денег
на привлечение разработчиков, то лучше за эту задачу не браться.
PPS: Присоединяйтесь к Tartarus - давайте сделаем для него поддержку в
alterator, давайте обновим Samba, соберём sssd. В общем, всё это
требует работы - давайте пробовать,

-- 
Sin (Sinelnikov Evgeny)
_______________________________________________
devel-conf mailing list
devel-conf@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-conf

Ответить