Проблемы системы XMPP (jabber) в условия корпоративной среды (AD, FileBlock)

Появилась на предприятии потребность в системе обмена мгновенными сообщениями (СОМС). Контора у нас довольно огромная и распределенная по стране. Только в нашем филиале, где хочу внедрить jabber более 1000 рабочих станций. Давно устоявшиеся правила информационной безопасности.
Отсюда возникают такие требования к СОМС:
1.Масштабируемость.
2.Интеграция с существующей информационной структурой (Active Directory, OpenLdap).
3.Соответствия корпоративным требования информационной безопасности.

На данный момент я опробовал несколько северных и клиентских решений. Посему хочется озвучить свой скромный опыт и возможно услышать наставления более опытных коллег.

Сервера:
1.Ejabberd
2.Openfire

Клиенты:
1.Miranda
2.PSI
3.Jajc, GAIM, Kopete

Ejabberd:

В первую очередь я начал поиски информации с этого сайта, почитал о фантастической масштабируемости ejabberd (кластеризация, шлюзы) и решил его посмотреть. Надо сказать ранее попытки опробовать ejabberd заканчивались прочтением кучи воплей пользователей о невозможности интеграции системы с Active Directory. Сейчас же появилось куча положительных отзывов и внятные статейки об опыте слияния этих двух систем. Спасибо авторам, это мне очень помогло в результате. Я бы сам не догадался создать дополнительную группу пользователей JabberUsers в ветке AD.
Какие версии ejabberd я опробовал:
1.http://www.process-one.net/downloads/ejabberd/1.1.3/ejabberd-1.1.3_1-windows-installer.exe
2.http://www.process-one.net/downloads/ejabberd/1.1.3/ejabberd-1.1.3_4-linux-x86-installer.bin

Стоит заметить, что на первом варианте я потратил очень много времени, меняя настройки сервера, клиентов, но так и не добился результата. Каково же было мое удивление, когда вариант два, линукс версия – влёт снюхалась с сервером AD и стал пускать все клиентов miranda, psi, kopete, gaim и т.д. Информация о каждом пользователе была доступна на просмотр, некоторые win-клиенты даже не спрашивали пароль пользователя использую NTLM аутентификацию. В общем было все замечательно. Сервер соответствовал первым двум корпоративным требованиям: масштабируемостью и интегрироемостью. Но стояла ещё задача – удовлетворить запросы службы информационной безопасности. А у них также как и на любом крупном предприятии стоит проблема контроля над информационными потоками. Поэтому главное требование – не возможность обмена секретной документацией (файлами). Такое требование меня несколько ставило в тупик, поскольку обмен файлами был реализован как мне всегда казалось на стороне клиента, а не сервера. Да и где в наше время взять такую систему общения которая не умеет обмениваться файлами? Разве что открыть корпоративный веб чат, но это решение совсем не масштабирутся. Так что я был озадачен. возникли мысли навязать пользователям некий неполноценный jabber клиент, который не умел бы обмениваться файлами. Но это долго, многие уже привыкли к клиенту miranda, а более продвинутые пользователи помоему в состоянии обойти любое ограничение. Поэтому стал вопрос в другой плоскости, пусть пользователи могут обмениваться файлами, но этот процесс должен быть контролируем, должна вестись статистика, типы файлов, размер, да в конце концов просто в логах сервера сам факт передачи должен быть зафиксирован. Но как это сделать в ejabberd? Возможно ли? Читая этот форум, я видел этот вопрос не единожды – «как заблокировать/контролировать обмен файлами между пользователями?». И понимаю почему, во многих предприятиях схожие требования безопасности. И либо система им отвечает, либо она не используется. Вот, что-то такое сейчас и происходит в этой среде.
В результате таких опытов в моих заметках появился такой список плюсов и минусов:
ejabber:

  • Отлично получилось завязать на AD +
  • Работают все клиенты +
  • Идет не контролируемый обмен файлами -
  • Язык программирования: Erlang, опыта установки патчей и написания кода нет -
  • Все бесплатное +
  • Можно купить суппорт +
  • Шлюзы не тестировались

OpenFire:

В результате поисков решения требования №3, я набрел на сервер, который уже за свою долгую историю успел поменять название три раза Jive Messenger-> Wildfire Server -> Openfire. Надо сказать, я не ожидал такой приятной метаморфозы. Некогда платный сервер написанный на java, на который я бы даже внимание не обратил, стал одним из популярных корпоративных решений. Да ещё с кодом под GPL! Даже в майском журнале Системный администратор за 2007 этому решению целую статью посвятили. Сервер довольно удобен в установке и администрировании, приятный web интерфейс соблазнит любого админа-мышевоза. Так же успешно работает система плагинов и шлюзов. Ещё на этапе рассмотрения возможностей этого сервера, главный администратор озвучил недовольство Java машиной которую непременно придется водрузить на продуктивный сервер если OpenFire подойдет. Не смотря сейчас на развитие технологий виртуализации серверная оперативная память по прежнему довольно ограниченный и дорогой ресурс. Теперь о главном, соответствует ли этот сервер диким требованиям корпоративной среды? Масштабируемый на должном уровне. Производителям заявлена полная совместимость с AD, хотя странностей избежать не удалось, при тех же путях ldap что в jabberd, openfire начал странно работать, добавляя в контакты не только людей, но и компьютеры (рабочие станции тоже в AD зафиксированы). Что же касается ограничений по передаче файлов, то тут видно создатели OpenFire скушали собаку. Я не знаю, как они это сделали – но это штука и правда работает. Вот какие есть инструменты помогающие этому серверу быть другом любому безопаснику:
1.Раздел Audit Policy – позволяет вести всякого рода логи о различных сетевых пакетах.
2.Плагин FileTransferDisabler – как же мне его не хватает в ejabebrd.
3.Бесплатный плагин Content Filter – это инструмент, за который любой фсбшник душу продаст. Он дает возможность блокировать сообщения с неугодными словечками и прочие издевательства над простыми пользователями.
4.Платный плагин OpenFireEnterprise – позволяет регулировать кучу возможностей, блокировать и разрешать только определенные jabber-клиенты, вести графическую статистику, отключать передачу фалами между клиентами.
Дикой несправедливость со стороны этого сервера я посчитал проблемную работу клиента Miranda(не ходят сообщения) – он стоит уже у многих пользователей и менять просто лениво. Также были непонятки с клиентом PSI (даже не коннектилось), хотя последняя релиз-кандидат PSI заработал замечательно.
Что в результате я отметил в своих записях:
Openfire

  • Работают не все клиенты, особенно проблемы с miranda -
  • Завязка на AD не полная, возможно неправильно настроил - (?)
  • Обмен файлами контролируется, ведутся полные протоколы работы пользователей +
  • Язык программирования: Java. Так как нужен jre, требует много ОЗУ -
  • Сервер бесплатен +
  • Система плагинов +
  • Самые вкусные плагины платные (enterprise) -
  • Легкость администрирования +
  • Шлюзы не тестировались

тут не отмечен

тут не отмечен ещё один огромный плюс ejabberd - он полностью поддерживает кластеры, включая роутер - оффлайн одного из серверов никак не повлияет на работу вторго. +возможность обновлять модули/код не останавливая сам сервер.
есть модуль для фильтрации:
http://www.ejabberd.im/mod_filter
так-же гдето на форуме я видел его модификацию для фильтрации сообщений.
http://www.ejabberd.im/node/1345
есть модули которые пишут в логи все XMPP-пакеты - можно потом что хочеш с ними делать, а передача файлов идёт как простой XMPP-пакет. Кстати - передача файлов работает только в том случае если один из клиентов доступен с другого по ip-адресу, иначе коннекта нет.

NTLM в eJabberd ?

что то тут не так:

Quote:

некоторые win-клиенты даже не спрашивали пароль пользователя использую NTLM аутентификацию

А это точно было на eJabberd ?

Работают не все

Работают не все клиенты, особенно проблемы с miranda -

Что за глупости? я прошел на этом сервере сквозь множество его версий и обновлений, еще начиная с WildFire. НИКОГДА!!! у меня небыло никаких проблем с клиентами. Всего лишь один раз клиенты(использовал в корпоративе Pandion) не захотел подключаться при жесткой привязке требования сертификата(который был левосгенерированным)... после снятия в настройках галочки через 5 минут вся сеть функционировала в прежнем ритме, в дальнейшем все пофиксили

Завязка на AD не полная, возможно неправильно настроил - (?)

100% неправильно было настроено, изучайте фильтрацию в запросах к АД. У меня опять-таки же все прекрасно было настроено, даже заблокированных/отключенных пользователей не показывал - ибо нефиг.

Самые вкусные плагины платные (enterprise) -

А где было видно чтоб самое хорошее бесплтано раздавали? Им ведь тоже кушать хочется... а без этого энтерпрайза тоже очень прекрасно живется - тем более что можно самому плагины под себя писать - было бы желание ;-)

Шлюзы не тестировались

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

Короче если вы не провели полномастабного иследования продукта - не стоит его закидывать минусами.
Всех желающих побеседовать о продукции Jive - милости прошу в конференцию xmpp://OpenFire@conference.jabber.ru

Подробней о завязке на AD

Настройка OpenFire:

Завязка на AD не полная, возможно неправильно настроил -

100% неправильно было настроено, изучайте фильтрацию в запросах к АД. У меня опять-таки же все прекрасно было настроено, даже заблокированных/отключенных пользователей не
показывал - ибо нефиг.

А можно ли подробней на счет завязки с AD и с фильтрацией так как у меня тоже похожая проблема. Отображаются учетные записи компьютеров и заблокированные и удаленные пользователи. Буду благодарен за любую помощь.

Отвечаю всем: 1.

Отвечаю всем:

1. "Модуль фильтрации в ejabberd":
Смотрел я http://www.ejabberd.im/mod_filter и http://www.ejabberd.im/node/1345.
Это мне не помогло. Возможно, если бы я был Erlang-guru все было бы иначе, но увы.

2. "ejabberd и NTLM" – уже не уверен, сейчас попробовал ситуацию воспроизвести, не получилось. может я где то был не внимателен, или уже что то поменял в настройках. я свои выбор остановил на конкуренте.

3. "В Openfire работают не все клиенты, особенно проблемы с miranda":
странно, но сейчас на тестовом боевом серваке эта проблема исчезла. может быть оно само патчится на тихаря со своего сервера? факт, того что openfire при наличии интернета куда-то лезет, я зафиксировал. особенно яро сервер докладывает производителю о том, какая лицензия на нём стоит. может ещё и крадет какую-то другую полезную информация, не знаю – не снифил.

4."Завязка openfire на AD и фильтры":
Тут разабрался, все прекрасно работает. В строчке User Filter написал: (&(objectClass=user)(!(objectClass=computer))(!(userAccountControl=514))(!(userAccountControl=546))(!(userAccountControl=66050)))

dimonis

dimonis wrote:

2.Плагин FileTransferDisabler – как же мне его не хватает в ejabebrd.

У меня Openfire 3.3.2.
В File Transfer Settings там вот что:
"Use the form below to configure the file transfer proxy service. The proxy enables clients to efficiently transfer files when they are not on the same local network. "
А вообще передача файла между клиентами в одной подсети не отключается.
Интересно, это из-за протокола вообще, или из-за реализации в частности?

Re: Проблемы системы XMPP (jabber) в услов

yuri wrote:

А вообще передача файла между клиентами в одной подсети не отключается.
Интересно, это из-за протокола вообще, или из-за реализации в частности?

Из-за реализации. Ничего не мешает серверу блокировать si-запросы, или отвечать на них ошибкой для xmpp-compliance.

Syndicate content