Использование протокола XMPP для организации корпоративной системы обмена сообщениями

Изображение пользователя oleg_mmm@jabber.ru.

По материалам восьмой международной научно-практической конференции "Информационная безопасность 2006", г. Таганрог, 3-7 июля 2006 г.
Автор доклада: Мотиенко О.В., ТРТУ


В последнее время весьма популярными стали IM-системы общения (Instant Messaging – мгновенные сообщения), например, ICQ, AOL, MSN, Yahoo. Однако использование таких систем представляет потенциальную угрозу для корпоративной безопасности, так как сотрудники нередко передают конфиденциальные данные, а иногда даже данные, представляющие корпоративную тайну, через такие системы. Таким образом, сообщение между сотрудниками, находящимися в одном офисе, передается в Internet, обрабатывается сервером и возвращается назад (Рис. 1). В тоже время, нельзя отрицать тот факт, что применение IM-систем нередко повышают эффективность работы сотрудников и организации в целом. Обычным методом защиты является запрет доступа к таким сетям для сотрудников, работающих с конфиденциальными данными.



Рис. 1. Путь прохождения сообщения в коммерческих публичных IM



Вот уже более 7 лет специалистами всего мира ведется разработка протокола Jabber (новое название XMPP) и расширений к нему (JEP). Jabber/XMPP - это открытый протокол, использующий XML, для быстрого обмена сообщениями и информацией о присутствии между любыми двумя абонентами в Интернет. Первым применением технологии XMPP стало появление асинхронной и расширяемой платформы для обмена мгновенными сообщениями и сети обмена мгновенными сообщениями, сходная по возможностям с коммерческими системами IM, такими, как AIM, ICQ, MSN и Yahoo. Однако, Jabber имеет ряд преимуществ по сравнению с коммерческими системами IM:

  • Открытость - протокол Jabber/XMPP является свободным (от лицензирования), открытым, общедоступным и, кроме того, лёгок для понимания; существует множество реализаций серверов и клиентов, а также библиотек с открытым исходным кодом.

  • Расширяемость - с помощью пространств имён в XML можно расширить протокол Jabber/XMPP для выполнения требуемых задач и для обеспечения поддержки взаимодействия между различными системами. Общие расширения разрабатываются под контролем Jabber Software Foundation.

  • Децентрализованность - кто угодно может запустить свой собственный сервер Jabber/XMPP.

  • Безопасность - Любой сервер Jabber может быть изолирован от общедоступной сети Jabber, многие из вариантов реализации сервера используют SSL при обмене как между клиентом и сервером, так и между серверами, немало клиентов поддерживают шифрование с помощью PGP/GPG внутри протокола.

Применение протокола XMPP в корпоративных сетях позволяет достичь приемлемого уровня безопасности в первую очередь за счет установки корпоративного сервера XMPP. Это позволяет ограничить трафик сообщений корпоративной сетью, а для сотрудников, находящихся за пределами офиса организовать защищенный канал связи с офисом (Рис. 2).


Рис. 2. Путь прохождения сообщения в сети XMPP при использовании одного сервера.


Кроме того, протокол XMPP позволяет реализовать аналогичное решение с использованием межсерверных связей (s2s, server-to-server), в том числе с использованием SSL (Рис.3).



Рис. 3. Путь прохождения сообщения в сети XMPP при использовании нескольких серверов.


Так как программное обеспечение для Jabber/XMPP в основном разрабатывается под лицензиями, позволяющими публикацию исходного кода, то это облегчает аудит и адаптацию программного обеспечения, упрощает поиск и устранение уязвимостей.

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

В 2005 году появилось расширение протокола, получившее название JEP-0166: Jingle, представляющее собой решение для голосового общения поверх XMPP, позволяющее использовать возможности протокола для защиты голосовых соединений. В настоящее время это расширение еще находится в разработке, но уже есть его реализации, например, в системе IM компании Google (http://www.google.com/talk/) и в клиенте с открытыми исходными кодами Psi (http://psi-im.org/).

На основе протокола XMPP была реализована система корпоративная система обмена сообщениями в виде законченного аппаратно-программного решения (сервера) на основе программного обеспечения с открытым кодом. В качестве операционной системы была выбрана FreeBSD, в качестве основного сервера XMPPejabberd, сервер баз данных - PostgreSQL. Для управления и администрирования используется набор модулей, написанных на языке PHP, исполняемых с помощью HTTP-сервера Apache (Рис. 4).



Рис. 4. Программно-аппаратное решение


Рассмотренное решение успешно работает и совершенствуется уже в течение 11 месяцев.


  1. Стоунз М. PostgreSQL. Основы. / Издательство: Символ-Плюс - 2002 г. - ISBN 5-93286-043-0

  2. Process-one. Ejabberd Installation and Operation Guide / Internet, http://process-one.net/en/projects/ejabberd/ - 2006.

  3. Internet Engineering Task Force (IETF). RFC-3920. XMPP Core. / Internet, http://www.ietf.org/rfc/rfc3920.txt - 2004.

  4. Internet Engineering Task Force (IETF). RFC-3921. XMPP IM. / Internet, http://www.ietf.org/rfc/rfc3921.txt - 2004.

  5. Internet Engineering Task Force (IETF). RFC-3922. XMPP CPIM. / Internet, http://www.ietf.org/rfc/rfc3922.txt - 2004.

  6. Internet Engineering Task Force (IETF). RFC-3923. XMPP E2E. / Internet, http://www.ietf.org/rfc/rfc3923.txt - 2004.

  7. The XMPP Standards Foundation (XSF). XMPP Extension Protocols (XEPs). / Internet, http://www.xmpp.org/extensions/ - 2006.


Опубликовано oleg_mmm@jabber.ru в пт, 2007-02-16 12:49. categories [ ]