Jabber-сервер корпоративной сети. Развертывание Openfire+Miranda.

Вновь приветствую, начнем 🙂

Openfire установлен, Miranda IM выбрана в роли jabber-клиента, пришло время развернуть эту свзяку.

Одни из лучших ресурсов по миранде — www.miranda.im, www.miranda-im.org, www.miranda-planet.com

Великолепная сборка Miranda IM zeleboba’s pack Пользуюсь давно и вам рекомендую. Кстати, с согласия разработчика именно на ее основе нами создана модификация, оптимизированная для работы с jabber-протоколом внутри локальных и распределенных сетей предприятия и Active Directory в частности.

Обширная тема на форуме ru-board, посвящення использованию Openfire.

Приступим. У нас имеется уже установленный сервер Openfire, поэтому сразу перейдем к настройке сквозной NTLM-аутентификации клиентов. (при написании частично использован этот материал, но в нем есть опечатки, аккуратнее).

0) Пример исходных данных:

  • FQDN jabber-сервера — jabber.domain.lc
  • FQDN домена — domain.lc
  • NetBIOS имя домена — DOMAIN

1) В каталоге Openfire найдите и откройте для редактирования  файл \jre\lib\security\java.security. После строк

security.provider.8=sun.security.smartcardio.SunPCSC
security.provider.9=sun.security.mscapi.SunMSCAPI

добавьте строку
security.provider.10=net.za.darkskies.security.sasl.SSPIProvider

2) Далее потребуется NTLM-патч, который необходимо скачать и распаковать. Скопируйте из него файлы в соответствующие подкаталоги сервера:

bin\SaslSspi.dll
lib\sasl-sspi.jar
plugins\saslmechanisms.jar

и перезапустите сервер.

3)  В веб-консоли сервера создайте/измените параметры (имя — значение)

sasl.approved.realms - пусто
sasl.mechs - ANONYMOUS,PLAIN,NTLM
sasl.realm - NetBIOS имя домена
xmpp.fqdn - FQDN имя джаббер-сервера

перезапустите сервер

4)При желании запустите
openfire-service /install

из каталога Openfire\bin для того, чтобы сервер встал как служба Windows.

Как видите, все просто и теперь вы можете использовать  SSO аутентификацию, что позволит не расшатывать нервы пользователей необходимостью введения еще одного пароля.

Осталось протестировать новоиспеченный сервис, но для этого понадобится клиент. Вот обещанная сборка с длинным названием Miranda IM zeleboba’s pack Corporate mod. Ее подробное описание я выложу в отдельном посте совсем-совсем скоро, а пока только то, что необходимо для запуска:

  • Настройки -> Сеть ->  Jabber. Указать хост вручную — FQDN сервера, порт 5223. Сервер — FQDN домена
  • Ваш логин определится автоматически и если вы зашли под пользователем который присутствует на jabber-сервере (а он берет данные из Active Directory) то благодаря NTLM-аутентификации пароль вводить не надо, вход будет произведен автоматически. Кстати, это актуально не только внутри домена. Имейте это ввиду при подключении удаленных клиентов.

Jabber-сервер корпоративной сети. Развертывание Openfire+Miranda.: 82 комментария

  1. То был скриншот с одной из тестовых машин. Домен я исправил, как вы написали. Всё равно не работает. К тому же обнаружил, что пользователи в непрозрачном режиме подключиться могут, но в онлайне они друг у друга почему-то не светятся 🙁
    Может это связано?

  2. То был скриншот с другого теста. Поставил домен, как Вы писали, тоже не работает. К тому же заметил, что пользователи, которые залогинились в ручном режиме, не видят других в онлайне, то есть все отображаются как оффлайн. Может это связано с предыдущей проблемой?

  3. В админке опенфаера есть ручное управление ростером. Соответственно, можно добавить группы которые будут видны пользователям. Но это не связано с авторизаций.

  4. пробую поставить ntlm аутентификацию
    после того, как добавляю файлы в нужные каталоги
    перезапускаю сервер — и не могу зайти в админ-панель
    выдает ошибку «Login failed: make sure your username and password are correct and that you’re an admin or moderator.»

  5. Попробуйте вводить не просто имя пользователя а полностью JID, что будет?
    Опенфаер какой версии? Посмотрите логи сервера, хотя местами их тяжеловато читать.

  6. Openfire 3.6.4, windows server 2003, ms sql express 2005, AD.

    в error.log пусто
    в warn.log
    2011.02.04 16:35:43 Autocreating jiveID row for type ’25’
    2011.02.04 16:38:42 Admin console: Using RSA certificates but they are not valid for the hosted domain
    2011.02.04 16:38:45 HTTP binding: Using RSA certificates but they are not valid for the hosted domain
    2011.02.04 16:38:51 Failed admin console login attempt by USER from 127.0.0.1
    2011.02.04 16:41:07 Failed admin console login attempt by USER from 192.168.3.60

  7. все равно не пускает
    переустановлю все заново, удалив предварительно базу данных openfire.

  8. А взглянуть на скрипт автоматической установки «Miranda» пользователям возможно?

  9. Александр, поясните, о каком скрипте идет речь? Вообще у нас миранда разворачивается через NSIS-инсталлятор.

  10. Просто прочёл высказывание:
    >Выдрин Михаил говорит:
    25.05.2010 в 14:47

    Клиент есть в следующем посте. Миранду раздаем самописными скриптами на WSH. Миранда ставится в %userprofile% пользователя, благо занимает мало.

    Но судя по всему это всё дело давно минувших дней)

  11. Теперь понял 🙂
    Миранда собрана в NSIS, а установка инсталлятора идет через самописные скрипты. Для всех используемых приложений, не только для миранды.

  12. Михаил, нужна помощь. Настроил все как указано у вас, но миранда никак не хочет коннектиться к джаберу, при попытке клиента стать онлайн появляется сообщение об ошибке «Аутентификация не пройдена для user@domain.local»
    Настройки минарды:
    — сервер domain.local
    — хост jabber.domain.local
    SSL — включен

    На сервере джабера нашел такой пункт — Client connection settings — Client port.
    Client port 5222
    Client SSL port 5223
    в настройках миранды эти оба порта стоят на 5223, так и должно быть?

  13. В случае отсутствия шифрования должны быть сняты галки SSL и TLS, порт 5222. Требуется перезагрузка миранды.

    В случае с шифрованием , то SSL и порт 5223 (по умолчанию)

  14. Jabber таки заработал и с шифрованием и без но не на миранде, а на PSI и конечно не с автоматической авторизацией. Что может быть не так?

  15. «Создаем параметр provider.authorization.classList со значением (одной строкой!) —
    org.jivesoftware.openfire.sasl.StrictAuthorizationPolicy org.jivesoftware.openfire.sasl.DefaultAuthorizationPolicy »
    Цитата с руборда, после добавление этого параметра — авторизация пошла.

  16. sasl.realm KIMSAR
    xmpp.domain inet.kimsar
    xmpp.fqdn KIMSAR
    ldap.baseDN dc=kimsar

    правильно?

  17. Настроил доменную авторизацию, всё отлично работает, но: можно ли как то вместе с именем пользователя в списке пользователей выводить другую информацию? Например, номер внутреннего телефона.
    Древовидная структура групп в случае доменной авторизации так же не работает?

  18. Закинул папку с мирандой в program files на терминальном сервере, в mirandaboot.ini поправил ProfileDir=%appdata%\User_Data и скопировал по этому пути папку user_data. Всё работает, но в окне списка под ником должна быть расположена кнопка статуса, она есть, но на ней отображается . Можно ли как то поправить? Места сама папка с прогой занимает не много, но когда пользователей на сервере пара сотен… да и зачем лишнее плодить по профилям.

  19. Вдогонку к предыдущему коменту, видимо в спешке не дописал.
    … она есть, но на ней отображается

  20. Хм… видимо угловые скобки запрещены…
    так вот, отображается там — нет имени статуса

  21. Установлена последняя Ваша сборка, сервер — Openfire 3.6.4
    Настроена доменная авторизация, всё работает, но:
    При запуске миранды на server 2003 R2 в подсказке отображается куча информации (мыло, должность, телефон и т.д.), а вот при запуске на windows 7 sp1 х64 и server 2008 r2 (на других не проверял) — только ник, статус и статусное сообщение.
    Есть ли возможность побороть данную проблему?

  22. P.S. После обновления сервера до версии 3.7.0 проблема самоустранилась.

  23. Добрый день.

    Спасибо за Ваши статьи на тему Openfire + Miranda они помогли мне настроить все в лучшем виде, как я надеюсь. Возник небольшой вопрос:
    OpenFire настроен на авторизацию с домена (W2008R2), все пользователи и группы берутся с него. Также в OpenFire настроен шлюз для ICQ & MSN.
    В итоге получается не совсем красивая картинка, все группы находятся в корне.
    http://ib1.keep4u.ru/b/2011/08/08/60/60f569da17105e3f110275cdc78fe80c.png

    Когда Опенфайр найходится не в домене это решается простым «Группа\Подгруппа\ЕщеПодгруппа\Пользователи» т.е. слэш являлся показателем, что тут у нас есть подгруппы и мирандой отлично обрабатывается.

    Подскажите, как можно сделать вложенные группы при авторизации через AD?
    Хотелось бы видеть чтото типа:
    -Арвад
    — OpenFireUsers
    —1
    —2
    —MSNUsersArvad
    —1
    —2
    -ICQ
    —1
    —2
    -MSN
    —1
    —2

  24. тема, поднятая Lionzi, очень актуальна, возможна ли разбивка пользователей по группам при связке openfire+AD win server, ну и если да, то, пожалуйста, не поленитесь поделиться опытом.

  25. Миранда, кончено же поддерживает вложенные группы, но как реалиховать вышеописанную задачу не знаю.

    На ум приходит вот что — заранее сделать сборку с нужной иерархией групп, тогда при подключении к опенфаеру есть некая вероятность, что миранда засунет пользователей в соответствующие группы. Хотя соменваюсь.

  26. Сделали иерархию руками — через интерфейс Openfire 3.7.1
    Когда заходишь в соотв. группу, даёшь название группе
    Москва\Отдел продаж\Север

  27. Все настроил. Но не могу понять, а как посылать сообщения группам людей?

  28. Очень нужен патч. Сайт не работает с патчем. Может есть скачан у кого то? Скиньте плиз

    Ставил Openfire 4.0.1

  29. Костя, пишите на vydrin.mv в Скайпе. Нас тут почти не бывает, а оказывается, что многие темы актуальны.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *