LINUX.ORG.RU

ejabberd + M$ Active Directory


0

0

eJabberd наконец научился интегрироваться с Active Directory. Многие этого очень долго ждали :) LOR'овцами был написан патч для ejabberd-1.0.0 Возможности:

  • аутентификация в AD;
  • Ограничение доступа в jabber по группе из AD
  • поиск пользователей в AD;
  • vcards на основе информации из AD;
  • пожалуй, самое главное. Построение shared roster'a с разбиением по группам на основе данных из всё той же AD.

>>> Подробности

★★★★

Проверено: Shaman007 ()

Крут, Стасик! В ближайшее время как раз попробую.

PS что в аське не видно?

anonymous
()
Ответ на: комментарий от a1s2d3

> ограничения по сервисам локального jabber-сервера?'

а что это?

aim1159 ★★★★★
()
Ответ на: комментарий от geek

> в тюрьме сидишь?

Нет, в месте тотального засилия асечников. Когда пользоваться icq через гейт не катит, слишком много проблем для нормальной работы, а входить в жаббер-аккаунт в gaim'е не хочется, вкусив удобства полнофункционального жаббер-клиента.

anonymous
()

а с нетварью кто-нить скрещивал? стоит мучиться или нет?

NeoNMaN
()

Прошу прощения, но я не очень понял, что подразумевается под "интеграцией в ActiveDirectory". Это протокол такой? Ссылку на RFC не дадите? С другой стороны вроде бы есть уже поддержка SASL в Jabber2 сервере ( http://www.sxw.org.uk/computing/patches/jabber.html ) и в клиенте - Tkabber c TclSASL (http://beepcore-tcl.sourceforge.net/tclsasl.html), Казалось бы на этом пути уже и до ActiveDirectory недалеко. Бегло же просмотрев ваш патч я ничего кроме LDAP не увидел. Ну и вещи типа : "Тут просто опишу какие изменения необходимы в конфигурационном файле...{ad_password, "MegaPasswordSecret" }", честно говоря, вгоняют в ступор. Стоило ли интегрироваться с ActiveDirectory, чтобы пользовательский пароль открытым текстом писать в конфиг файле.

geekkoo
()
Ответ на: комментарий от anonymous

> Нет, в месте тотального засилия асечников.

А что, по аськам переговариваетесь по работе? :)

anonymous
()
Ответ на: комментарий от anonymous

Сочувствую.. :-(

Что ж, в таком случае можно запустить два клиента: ICQ и Jabber.

Так выпьем же товарищи, за упокой души ICQ и подобный поделий в стиле necro/SM. И светлое будущее открытых технологий. Ибо нет IM кроме Jabber и ejabberd Его сервер.

Но исповедуя принципы Гуманизма, не будем же мешать асечникам-ортодоксам доживать свой век. Ведь у них есть право жить и умереть в обнимку с этим, с Вашего позволения, messanger'ом. Хотя и жаль их, конечно...

rtvd ★★★★★
()
Ответ на: комментарий от geekkoo

> Стоило ли интегрироваться с ActiveDirectory, чтобы пользовательский пароль открытым текстом писать в конфиг файле.

Это пароль на ДОСТУП к AD. В смысле, чтобы обратиться к нему как к LDAP, нужно иметь на это права.

anonymous
()
Ответ на: комментарий от anonymous

>а входить в жаббер-аккаунт в gaim'е не хочется, вкусив удобства полнофункционального жаббер-клиента.

Luke, use SIM!

Orlangoor ★★★★★
()
Ответ на: комментарий от Orlangoor

>Luke, use SIM!

А мне вот сим что-то как-то совсем не нравится :(( Может свежий из svn и получше стал, но есть определённые сомнения по этому поводу.

vovans ★★★★★
()

Кто бы ещё написал консольный Jabber клиент...

Ибо centericq малопригодно в этом качестве :(

snp
()
Ответ на: комментарий от geekkoo

А, кажется, понял. То что автор назвал "аутентификацией в AD" на самом деле представляет собой проверку простых текстовых паролей в AD. Т.е. ejabberd выступает в роли auth-proxy. В MegaPasswordSecret тоже ничего особо страшного нет. Только через SASL, на мой взгляд, всё-равно было бы прямее.

geekkoo
()

Большущее спасибо. Мечтательно так... вот бы все ЛОРовцы такими были...

Lumi ★★★★★
()

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

anonymous
()
Ответ на: комментарий от anonymous

Ну и что? Как подспорье это намного лучше, чем просто хорошо. Ася должна уже давно сдохнуть внутри корпораций. Гонять трафик до соседней комнаты через океан дважды -- это ахтунг!

Lumi ★★★★★
()
Ответ на: комментарий от geekkoo

> А, кажется, понял. То что автор назвал "аутентификацией в AD" на самом деле представляет собой проверку простых текстовых паролей в AD. Т.е. ejabberd выступает в роли auth-proxy. В MegaPasswordSecret тоже ничего особо страшного нет. Только через SASL, на мой взгляд, всё-равно было бы прямее.

Да, я не спорю. Но тут аутентификация как таковая не самое даже важное. Основная проблема состоит во внутрекорпоративных серверах в общих контактах и поддержании их актуальности.

Это всё хозяйство в отдельный модуль было выдвинуто с целью безопасного эксперимента. Чуть позже я хочу попробовать смёржить это с _ldap модулями в ejabberd и shared_roster_ldap написать с более-менее общими настройками не только для AD.

Аутентификация через SASL возможно прямее, но если почитать код ,там во многих местах возникает необходимость, например, получать список пользователей или проверять существование определённого юзера. Т.е. мы и так через ldap по AD ползаем 95% времени. В такой ситуации имхо более логично для простоты SASL не использовать. Хотя ваше предложение вполне обосновано :)

realloc ★★★★
() автор топика

ребята молодцы

anonymous
()

Что то не получается... :( пишет, что:
=INFO REPORT==== 15-Feb-2006::14:59:16 ===
I(<0.376.0>:ejabberd_c2s:386): ({tlssock,#Port<0.299>,#Port<0.341>}) Failed legacy authentication for XXX@yyy/zzz

а было бы здорово, вообще то, жаббера забабахать...

anonymous
()

Вопрос по этому поводу.Если есть Jabber Users группа а в неё включены другие группы с пользователями то он рекурсивно не проверяет.Сейчас седланы организационные юниты в них пользователи с соотвествующими группами.Группы засовываю в общую группу jabber users и получаю в ответ фиг.Кто знает что делать надо?Патчить патч?:)

anonymous
()
Ответ на: комментарий от anonymous

Хе. Насколько я понимаю, в патче как раз используется legacy authenticatiob - через LDAP. Новый метод аутентификации - через Kerberos, но в патче об этом ничего не сказано. М.б. стоит поменять конфигурацию AD?

geekkoo
()
Ответ на: комментарий от geekkoo

В смысле поменять конфигурацию?

anonymous
()

И на кой ejabberd на erlang написали ... ? .... до сих пор не могу понять .. (((

I_one ★★
()
Ответ на: комментарий от anonymous

> Вопрос по этому поводу.Если есть Jabber Users группа а в неё включены другие группы с пользователями то он рекурсивно не проверяет.Сейчас седланы организационные юниты в них пользователи с соотвествующими группами.Группы засовываю в общую группу jabber users и получаю в ответ фиг.Кто знает что делать надо?Патчить патч?:)

Я о таком не думал. Там просто проверяется memberOf.

realloc ★★★★
() автор топика
Ответ на: комментарий от realloc

>Я о таком не думал. Там просто проверяется memberOf.

Ничего не знаю про ejabberd и обсуждаемый патч, но из разговора более/мене понятно, о чём речь ;)

Похоже, что идеологически правильно вам нужно делать Extended Right.

Ссылки в тему: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/creati... http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/exampl...

Группа, она штука непостоянная. Тут смысл не в группе, а в роли. А роль - это Extended Right. И потом только проверять ACE-ы на то, что есть Allow и на то, что нет Deny.

Dimentiy ★★
()
Ответ на: комментарий от realloc

тогда вопрос а если memberOf заменить на member он рекурсивно будет искать?Что-то я доки по eldap нормальной не нашел.И еще вопрос: если я в параметре ad_group пропишу ou=test,dc=corporation,dc=my он не ищет в этом организационном юните

anonymous
()
Ответ на: комментарий от anonymous

>тогда вопрос а если memberOf заменить на member он рекурсивно будет искать?Что-то я доки по eldap нормальной не нашел.И еще вопрос: если я в параметре ad_group пропишу ou=test,dc=corporation,dc=my он не ищет в этом организационном юните

1. не будет. вы просто не указывайте группу, и всё будет в порядке;

2. ad_group это группа, которой принадлежат пользователи, имеющие доступ к jabber (memberOf). естественно, никакого поиска в ou не будет. для поиска от определённого ou и ниже вам нужно указать правильный ad_base.

AlexGor
()
Ответ на: комментарий от AlexGor

Брр..Что-то не понятно.То есть в конфиге указать:
{ad_group, ""}.
{ad_base, "ou=Test,dc=corporation,dc=my"}.
должно работать?Ничего не работает.Допустим структура такая:
dc=corporate,dc=my
ou=Test
ou=Group1
CN=user1
CN=user2
ou=subGroup1
CN=user3
ou=Group2
CN=user4
CN=user5
То что выше указанно в конфиг занесно но ничерта не происходит кроме облома авторизации, где туплю?
Еще вопрос а можно еще добавить возможность shared roster не как сейчас по полю департамент, а указывать в конфиге по каким записям делать?
То есть что-то в стиле:
{ad_roster, "ou=Test,dc=corporation,dc=my", ou}.
Чтоб по ниже стоящим записям делал.

anonymous
()
Ответ на: комментарий от anonymous

http://ejabberd.jabber.ru/ejabberd_ad

читайте комментарий, прикладывайте патч.

теперь о построении shared roster не по полю department. итак, у вас есть пользователь, у которого dn:CN=Vasya,ou=Test,dc=corporation,dc=my. вы хотите, чтобы он был в группе Test, так ?

AlexGor
()
Ответ на: комментарий от AlexGor

Коменты почитал и патч наложил.Большое сапасибо.
допустим пользователь не совсем так организован:
CN=Vasya,ou=group1,ou=Test,dc=corporation,dc=my
CN=Petya,ou=group1,ou=Test,dc=corporation,dc=my
CN=Kac,ou=subgroup1,ou=group1,ou=Test,dc=corporation,dc=my
CN=Rabinovich,ou=subgroup1,ou=group1,ou=Test,dc=corporation,dc=my
CN=Gulchatai,ou=group2,ou=Test,dc=corporation,dc=my
CN=Parasha,ou=group2,ou=Test,dc=corporation,dc=my
соотвественно самое логичное указать чтобы в джаббере группы были group1,group2.
я правильно понимаю что
{ad_group, ou=Test,dc=corporation,dc=my}.
{ad_base, "dc=corporation,dc=my"}.
{no_ad_group, 1}.
дадут то что нужно?Тогда в связи с этим возникает вопрос как быть с русскими буквами?Если ou=Дворники, то можно в конфиг пихнуть и он с AD нормально пообшается?

anonymous
()
Ответ на: комментарий от anonymous

нет.

с теми настройками, которые вы привели, всё будет работать следующим образом: ad_group будет игнорироваться, а группы в ростере будут строиться исходя из содержимого поля department.

чтобы было то, что вам нужно, необходимо парсить DN и в качестве имени группы использовать второе с конца поле (в данном случае OU). я, скорее всего, сделаю патч для shared roster ad, который будет строить группы именно таким образом, а не по полю department, поскольку наши windows админы тоже используют именно такую структуру в AD. ждите комментариев на ejabberd.jabber.ru :)

AlexGor
()
Ответ на: комментарий от AlexGor

ok спасибо еще раз.Будем ждать

anonymous
()
Ответ на: комментарий от AlexGor

Еще один вопрос где документацию можно найти по eldap и как общаться с ее помощью с ldap?И можно ли группу в группе делать по типу группа бугалтерия подотдел ржавых гвоздей?Все это конечно интерсно на основе ou Ж))

anonymous
()
Ответ на: комментарий от AlexGor

2 AlexGor

Есть несколько вопросов по Ejabberd+LDAP... Поговорить бы ... Свяжись, если есть время... Jabber (dkr6 at jabber dot ru) ICQ #13047326 ...

anonymous
()
Ответ на: комментарий от anonymous

> active directory - дешёвое мелкомягкое поделие и жалкий клон LDAP

Красноглазенький, ты ж совсем себе не представляешь что такое AD. Никакой это не клон LDAP...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.