Поиск по тегу

Тюнинг кэша Openfire

Openfire использует кэш для эффективной работы. Но размер кэша по умолчанию может оказаться мал, если у Вас в джаббере подключено много пользователей/групп. При этом в логах об ошибках вы можете увидеть множество сообщений такого плана:

Cache Roster was full, shrinked to 90% in 0ms.

Для решения этой проблемы вам следует добавить следующие параметры:

cache.group.size = 5242880
cache.group.maxLifetime = 3600000

cache.username2roster.size = 5242880
cache.username2roster.maxLifetime = 3600000

cache.userGroup.size = 5242880
cache.userGroup.maxLifetime = 3600000

cache.userCache.size = 2097152
cache.userCache.maxLifetime = 3600000

cache.groupMeta.size = 2097152
cache.groupMeta.maxLifetime = 3600000

Добавлять новые настройки следует через вкладку Server -> Server Manager -> System Properties.
После обновления настроек следует перезапустить службу.


Перехват сообщений передаваемых через SSL/TLS

Меня давно мучил один вопрос ИТ-безопасности, а именно возможность перехвата сообщений, передаваемых через SSL/TLS. На нашем корпоративном джаббере используется данный метод защиты и мне как сдвинутому гику добропорядочному ИТ-спецу требовалось его проверить.

Потратил пару часов личного времени на маленькое исследование: Между клиентом и легитимным сервером подсунул свой шлюз с сертификатами, который должен был: провести авторизацию клиента, а затем авторизоваться от его имени на легитимном сервере для ретрансляции и перехвата сообщений. Но, увы, MitM-атака не увенчалась успехом. Клиент не повелся на сертификат. Предварительный вердикт - не сломалось с первого раза и это радует. Будет время - продолжу, а пока есть задачи поважнее.

P.S. Комментариев по используемому софту в исследовании не даю - Гугль вам в помощь)


Ветхий и Новый заветы XMPP

XMPP LogoНастало время развеять один укоренившийся миф.

Принято считать, что XMPP и Jabber это одно и тоже. В принципе, так и есть: XMPP обратно совместим с Jabber, но и довольно серьёзные различия также имеют место. Большая, если не бо́льшая часть этих различий как раз приходится на механизм установки соединения с сервером.

Семейство протоколов XMPP принято как стандарт RFC. RFC #3920 назвает "старый Jabber" терминами "pre-XMPP" и "XMPP 0.9"; это, конечно, неофициальные наименования. Мы будем использовать термин "Jabber", ссылаясь на устаревшие версии протокола, и "XMPP", — ссылаясь на текущую, стандартную, версию.  Стандартный порт для XMPP — 5222, 5223 (SSL). Также возможно использовать порт 80 и/или 443, если возникают проблемы с файрволом.

Чтобы было понятнее "кто есть кто" и чего ожидать от конкретного сервера:

* jabberd 1.4 — Jabber сервер; кое-где всё ещё используется, но больше не развивается.
* jabberd2 — XMPP-сервер. Используется не очень часто.
* ejabberd — XMPP-сервер. Используется очень широко; в частности, jabber.org и jabber.ru работают на нём.
* openfire — XMPP-сервер. Его юзаю я

По материалам сайта


Кластер из jabber-серверов Openfire

Вчера наткнулся на новость в блоге разработчиков OpenFire о том, что плагин для создания кластера стал open source  (Полностью соответствует лицензии Oracle Coherence) и теперь доступен всем желающим. Скоро будем тестить ;)

Clustering Plugin Changelog

[Подробнее →]


OpenFire & SSL: Шифрование передачи сообщений на предприятии

Продолжаю цикл статей по настройке OpenFire.
Для организации защищенной передачи сообщений надо выполнить несколько шагов:

1. Заставить сам сервер работать с клиентами только по зашифрованному соединению.
Идем в Server -> Server Setting -> Security Setting. Параметр Client Connection Security выставляем "Required - Clients can only connect to the server using secured connections."

2. Нужен Jabber-клиент, поддерживающий SSL. С OpenFire по SSL не заработал только Qutim.
QIP Infium, Kopete, Pidgin и Miranda пошли нормально.

[Подробнее →]


OpenFire и автоматическое добавление контактов

Как сделать, чтобы в OpenFire пользователям автоматически загружался список контактов пользователей в ростер? Довольно просто! При привязке к AD можно сделать двумя способами:

Непосредственно расшарить нужную группу: Users/Groups -> Groups -> Щелкаем по нужной группе, например, Finance -> Активируем (если надо) Enable contact list group sharing -> Вводим имя группы (например, "трудяги" или "название компании") -> Активируем Share group with additional users -> . Теперь осталось лишь перезапустить клиенты для инициализации загрузки ростера. Все!

Либо, если как у меня в разных группах у вас не все пользуются джаббером, можно создать группу рассылки в Active Directory (Distribution group) и добавить в нее необходимых пользователей, а затем выполнить с этой группой действия, описанные выше.