В современном бизнесе все большую роль играют так называемые «системы мгновенного обмена сообщениями» (Instant Messaging, IM), так же еще называемые «интернет-пейджеры». Таких сервисов довольно много, но наиболее известным и популярным в нашей стране без сомнения является ICQ, которую пользователи фамильярно окрестили «аськой».
Очень многие фирмы используют ICQ в своей работе для общения с клиентами и внутри фирмы. К сожалению, большинство из них просто не задумываются, насколько небезопасно их использование и к каким последствиям это может привести.
Маленькие проблемы маленькой фирмы
Первые сложности возникают, когда компания вырастает настолько, что возникает необходимость в использовании доменной структуры Microsoft Windows (Active Directory, AD) и обеспечения четкого разграничения прав пользователей. На этом этапе обнаруживается, что оригинальный клиент ICQ не может корректно работать с перемещаемыми профилями пользователей (Roaming Profile) и требует наличие у пользователя прав «Локальный администратор» (Local Administrator) или, как минимум, прав «Опытный пользователь» (Power Users). Обе эти группы дают пользователю слишком много прав, делая контроль над его действиями на рабочей станции трудновыполнимой задачей. К тому же, затрудняется техническое обслуживание компьютера и резко повышается риск возникновения вирусных эпидемий. Что уж говорить о баннерах, присутствующих в родном клиенте ICQ, создающих ощутимый прирост трафика, что неизбежно повышает расходы на доступ в интернет.
Для решения этих проблем обычно прибегают к использованию альтернативных клиентов ICQ, созданных группами независимых от AOL разработчиков и не обладающих вышеперечисленными недостатками. Наиболее известными из них являются Miranda (http://www.miranda-im.org) и SIM, Simple Instant Messenger (http://sim-icq.sourceforge.net). К сожалению, при использовании этих клиентов надо учитывать одну неприятную особенность «аськи», а именно тот факт, что ICQ является закрытым протоколом, целиком и полностью принадлежащим AOL. Соответственно, его спецификации в любой момент могут быть изменены таким образом, что независимые клиенты независимых разработчиков попросту перестанут работать. Такое уже случалось в 2000-2001 годах. Тогда независимые разработчики модифицировали свои программы, и они смогли без проблем работать с новой версией ICQ, но, как говорится, неприятный осадок остался. Тем более, что в последний раз подобная модификация заняла у них несколько месяцев…
Больше бизнес – больше проблем
Это только малая часть проблем, которая возникает при использовании ICQ. К сожалению, остальные проблемы гораздо сложнее. Их существование не проявляется в такой явной форме и, как мы увидим далее, решить их, оставаясь в рамках возможностей, предоставляемых в родной ICQ, невозможно.
Для того чтобы уяснить, какие еще проблемы и опасности возникают при работе с ICQ, давайте подробнее рассмотрим, как же она функционирует. Для этого сначала обратимся к рисунку №1, иллюстрирующему процедуру авторизации пользователя на сервере ICQ, а также обмен сообщениями между служащими двух фирм с типовой конфигурацией корпоративной сети.
[картинка не сохранилась]
Рисунок №1
Как видно на схеме, для начала работы с ICQ пользователь обязан авторизоваться на сервере ICQ, принадлежащем компании AOL, расположенном на территории США. Это приводит к следующим проблемам:
При дальнейшем рассмотрении схемы, мы обнаруживаем, что при использовании типичной корпоративной сети, защищенной брандмауэром или использующим для предоставления доступа в интернет трансляцию адресов (NAT), все сообщения будут проходить через сервер AOL. Такая ситуация будет возникать даже если только один из собеседников будет защищен брандмауэром или использовать для доступа трансляцию адресов. В связи с этим, под угрозой перехвата оказываются не только учетные данные пользователя, но и его сообщения, а также сильно увеличивается возможность конфликта с законами США. Избежать подобной схемы передачи сообщений можно только в том случае, если оба собеседника не используют ни NAT, ни брандмауэр, что, разумеется, неприемлемо, поскольку оставляют всю сеть полностью беззащитной перед любыми атаками.
Также нельзя забывать, что не существует эффективных технических средств, позволяющих контролировать передаваемую через ICQ информацию и, в силу технических особенностей ICQ, создание таких средств в ближайшем будущем маловероятно.
Социально-психологические аспекты
Информационная безопасность предприятия зависит не только от технических деталей, но и от многих социально-психологических аспектов. И в данном случае ICQ предстает не в лучшем виде. Дело в том, что управление учетной записью ICQ находится в распоряжении пользователя и, следовательно, учетная запись и вся информация, с ней связанная, воспринимается как личная собственность. Менеджер, общающийся с клиентом через «аську», воспринимает его, как своего личного клиента, а не как клиента своей компании. В случае, если фирма небольшая, такой подход может играть даже положительную роль, стимулируя конкуренцию между менеджерами и повышая эффективность их работы. Но по мере роста фирмы, такой собственнический подход способствует раздроблению коллектива, мешает формированию команды и выполнению более сложных задач, требующих кооперации. Негативная роль такого подхода также очень сильно проявляется в случае возникновения конфликтов: обиженный менеджер, уходя из фирмы, «забирает с собой» всех или значительную часть «своих» клиентов. И по мере увеличения размера фирмы, риск возникновения такой проблемы также повышается.
На этом этапе обнаруживается и еще одна неприятная для фирмы особенность ICQ, а именно тот факт, что в отличие от традиционных корпоративных систем обмена информацией (например, электронной почты), авторизованный пользователь ICQ имеет полные права по управлению своей учетной записью и может, например, сменить пароль. В этих условиях возможности фирмы оставить под своим управлением UIN, через который происходит обмен информацией между менеджером и клиентами, является практически невыполнимой задачей.
Полумеры, вроде выдачи при поступлении на работу UIN-а, зарегистрированного на имя фирмы, не являются полноценным решением проблемы. При «полюбовном» расставании с сотрудником, UIN и связанные с ним контакты, остаются за фирмой, но при возникновении конфликтов этот процесс сильно осложняется, и конечный результат в общем случае зависит от квалификации сотрудников IT-подразделения этой фирмы.
Также надо заметить, что AOL и её служба технической поддержки проводят политику невмешательства в подобные конфликты и все обращения к ним на подобные темы обычно игнорируются.
«Кто виноват?» и «Что делать?»
Да, именно такие вопросы всегда возникают, когда выясняется, что имеющееся решение более наших потребностей не удовлетворяет. На первый вопрос ответ простой: как всегда, при проблемах с безопасностью в первую очередь виноваты мы сами, виноваты в том, что изначально приняли недостаточно продуманное решение. Посудите сами – многие из вас готовы доверить такую важную функцию как, например, корпоративная почта, бесплатному публичному почтовому серверу (например, http://www.mail.ru)? Я уверен, что большинство из вас ответят на этот вопрос отрицательно. Но, с другой стороны, мы почему-то доверяем такую важную функцию обмена информацией, как корпоративный Instant Messaging точно такому же бесплатному публичному серверу. И с этим надо что-то делать, чтобы разрешить все вышеописанные проблемы.
Однако, сначала надо сформулировать требования к желаемой системе и после этого выбрать техническое решение. Итак, анализируя имеющиеся проблемы с ICQ, приходим к выводу, что корпоративная IM-система должна обладать следующими свойствами:
Как мы видим требования довольно жесткие. Требование №1 однозначно отсекает все другие публичные IM-сервисы, такие как AOL Instant Messenger (AIM), MSN Messenger, Yahoo Pager и другие. Требование №4 отсекает такую систему как Windows Messenger и соответственно IM-службу сервера MS Exchange. Требование №5 делает невозможным использование таких систем как IRC.
Как видим, остается не так уж и много. Первая мысль – поискать, нет ли корпоративного решения у самой AOL? Да, на первый взгляд такое решение есть, это ICQ GroupWare Server, но при ближайшем рассмотрении выясняется, что оно так же не идеально. ICQ GroupWare Server плохо интегрируется с публичной сетью ICQ, требуя своего, к слову, очень неудачного клиента, практически не интегрируется с другими IM-сервисами и, самое главное, его разработка и развитие прекращены в 1999 году.
Знакомство с Jabber/XMPP
Несколько лет назад, после рассмотрения всех вышеописанных вариантов, мы были бы вынуждены констатировать, что решения проблемы нет, и пришлось бы либо отказываться от ICQ, либо продолжать мириться с её недостатками. Но сейчас имеется система, удовлетворяющая всем вышеописанным требованиям. Давайте подробнее рассмотрим схему работы Jabber/XMPP. Для этого обратимся к рисунку №2.
[картинка не сохранилась]
Рисунок №2
Как видно на приведенной схеме, клиент авторизуется на сервере, расположенном в сети компании, а также непосредственно обменивается сообщениями исключительно с сервером предприятия. На сервер ложится задача управления потоком сообщений, передачи их другим клиентам и серверам, в том числе, и серверам других компаний. Поскольку сервер находится в сети и под полным управлением предприятия, автоматически решается проблема управления учетными записями пользователей. Все внутрикорпоративные сообщения гарантированно не покидают защищенной сети компании. Поскольку всё общение с внешними пользователями ведется исключительно через корпоративный сервер, не возникает особых сложностей по обеспечению корректного взаимодействия с системой трансляции адресов и корпоративным брандмауэром. Этим также обуславливается простая и однозначная идентификация пользователя по его XMPP-адресу (Jabber ID, JID). Как могут заметить IT-специалисты, принципиальная схема функционирования Jabber/XMPP очень похожа на схему функционирования электронной почты. Из-за этого «внешне» JID выглядит полностью аналогично адресу электронной почты (user@host), что в свою очередь позволяет использовать один и тот же символический адрес как для электронной почты, так и для обмена IM-сообщениями.
Кроме того, стоит также отметить, что в отличие от ICQ, Jabber/XMPP по умолчанию передает пароли в защищенном виде, а также позволяет организовывать защищенные соединения на участке клиент-сервер (с помощью SSL) и клиент-клиент (с помощью PGP/GnuPG).
Отдельно стоит рассмотреть схему взаимодействия Jabber/XMPP и ICQ. Для этого обратимся к рисунку №3.
[картинка не сохранилась]
Рисунок №3
Как мы видим, использование Jabber/XMMP позволяет с одной стороны продолжать использовать ICQ, и, с другой стороны, при правильной корпоративной политике, позволяет избежать основных проблем, возникающих при использовании ICQ.
Во-первых, весь внутрикорпоративный обмен посредством IM между пользователями осуществляется посредством Jabber/XMPP, и, следовательно, полностью изолирован внутри защищенной корпоративной сети.
Во-вторых, пользователь не имеет непосредственного доступа к учетной информации ICQ, вся необходимая информация об учетных записях ICQ хранится на корпоративном сервере и, соответственно, выдача специальных UIN, зарегистрированных на компанию, становится безопасной и оправданной.
В-третьих, облегчается контроль над информацией, передаваемой посредством ICQ.
Подробнее о Jabber/XMPP
На самом деле, функции Jabber-системы не ограничиваются выполнением функций IM. Это очень гибкая и расширяемая система на основе открытого протокола, использующего в качестве основы современный стандарт описания данных XML. На рисунке №4 изображены основные компоненты и сервисы Jabber-системы.
[картинка не сохранилась]
Рисунок №4
Основой всей системы является Jabber/XMPP сервер, обеспечивающий передачу сообщений между клиентами, другими серверами и транспортами. Также он исполняет функции авторизации пользователей. Как можно заметить, «в чистом виде» сервис, предоставляемый Jabber-сервером, минимален и сводится исключительно к управлению потоком сообщений и авторизации, именно поэтому его ещё иногда называют XML-routers. Вся дополнительная функциональность обеспечивается посредством дополнительных модулей, называемых «транспорты». Именно транспорты обеспечивают такие функции как обмен сообщениями с пользователями других IM-систем, например ICQ, поддержка конференций (чатов), ведение дневника (Weblog, blog), получение информации об обновлении выбранных сайтов (RSS News) и многие другие.
На основе этих транспортов можно реализовывать многие функции, польза от некоторых очевидна сразу, остальных – зачастую становится видна после более внимательного изучения. Например, blog очень удобен для ведения ежедневных отчетов о проделанной работе, что часто используется, например, службами поддержки пользователей. Конференции (чаты) удобны не только для проведения «телесовещаний», но и как средство поддержки клиентов.
В принципе нет никаких технических ограничений для создания транспорта, который, при наличии соответствующих аппаратных средств, будет управлять той же самой пресловутой кофеваркой и вообще любым технологическом процессом. Принципиальным ограничением в данном случае будет являться ответ на вопрос «Удобно ли это делать с помощью IM-клиента?».
Поскольку большинство имеющихся реализаций Jabber-сервера поддерживают взаимодействие с LDAP, не возникает особых проблем по его интеграции в информационную инфраструктуру предприятия, например, со службой, Microsoft Active Directory.
В спецификациях протокола Jabber единственной допустимой кодировкой символов является Unicode (UTF-8), что в теории гарантирует отсутствие каких-либо проблем с поддержкой любых национальных алфавитов, в том числе и кириллицы. На практике, однако, попадаются отдельные экземпляры клиентских программ, которые, благодаря презрению их создателей ко всем спецификациям, стандартам и рекомендациям, не умеет работать ни с чем, кроме латиницы. На практике это не является проблемой, выбор клиентов просто огромен и большинство из них сделано корректно, так что на отдельных «отщепенцев» можно просто не обращать внимание.
Существует несколько реализаций сервера, как коммерческих, так и бесплатных, работающих как на платформе Windows, так и под различными версиями Unix.
Более подробную информацию о Jabber/XMPP, описание протоколов, список существующих клиентов, серверов и т.д. можно получить по ссылкам: http://www.jabber.org (на английском языке) и http://www.jabber.ru (на русском языке). Также эти сервера предоставляют бесплатный Jabber-сервис, которым после регистрации может воспользоваться любой желающий.
Миграция с ICQ на Jabber/XMPP
В завершении рассмотрим приблизительный план миграции на Jabber/XMPP, и кратко упомянем наиболее часто возникающие вопросы и проблемы, связанные с этим процессом.
Предполагается, что руководство предприятия осознает необходимость перехода и готово выделить необходимые средства и, самое главное, обеспечить полную и безоговорочную управленческую поддержку при внедрении данных решений. Без этих условий переход является задачей очень проблематичной и вряд ли выполнимой.
1. На первом этапе пользователи переводятся на альтернативный ICQ-клиент, например, на вышеупомянутые Miranda или SIM. Более предпочтительным выглядит клиент Miranda, поскольку она обладает следующими достоинствами:
Самая большая проблема на этом этапе – проблема адаптации пользователя, обучение его работе с выбранным клиентом. Как показывает практика, некоторое недовольство неизбежно, но при достаточной поддержке со стороны руководства предприятия оно преодолимо. Для облегчения миграции пользователей настоятельно рекомендуется заменить оригинальные пиктограммы Miranda на пиктограммы ICQ. Очень важный момент: не должно быть исключений - все сотрудники должны использовать клиент Miranda. Поэтому рекомендуется в первую очередь перевести IT-подразделение, и сразу вслед за ним руководство предприятия. Такой подход резко сужает возможности остальных пользователей выразить или попытаться оправдать свое недовольство. В противном случае, оно может привести к различным неприятным последствиям, вплоть до саботажа и попыток оправдать несделанную работу проблемами перехода или личной виной сотрудников IT-подразделения.
Хорошим результатом считается три месяца на адаптацию более 90% всех пользователей. Но в особо тяжелых случаях процесс этот может растянуться на срок до одного года.
Если вы используете в качестве клиентской программы Miranda, и у вас имеется достаточно быстрая локальная сеть, то рекомендуется установить её в отдельный каталог на сервере, чтоб пользователи запускали ее непосредственно с сервера. Это сильно облегчит процесс обновления версий и установки необходимых наборов plug-in и иконок. Данные и конфигурацию пользователя, Miranda должна хранить в каталоге %APPDATA%\Miranda\ или %USERPROFILE%\Miranda\ - это необходимо для обеспечения ее корректной работы в среде Windows 2000/XP, особенно если они используются в составе домена и с перемещаемыми профилями пользователей. SIM тоже можно запускать из общей папки на сервере.
Из всех доступных plug-in настоятельно рекомендуется обратить внимание на такой plug-in как nHistory. Кроме своей основной функции (очень удобной системы управления и отображения истории сообщений), он обеспечивает отображение графических смайликов, что опять же облегчает переход пользователей. Как это ни смешно, но именно отсутствие графических смайликов, является одной из основных причин неприятия пользователями подобных программ. Также очень полезен plug-in для отправки SMS.
Также рекомендуется подобрать небольшую, но симпатичную коллекцию фоновых рисунков и иконок, это тоже облегчает пользователям привыкание к новой программе.
2. На втором этапе устанавливается и тестируется Jabber-сервер. Я рекомендую использовать «оригинальный» jabberd с http://www.jabber.org, поскольку он имеет следующие преимущества:
К спорным моментам стоит отнести тот факт, что эта реализация сервера изначально предназначена для работы на Unix-платформе. С одной стороны, это дает ей большую стабильность, но, с другой, для большинства организаций это означает необходимость покупки отдельного сервера и наличие администратора Unix. Эти два фактора могут склонить чашу весов в пользу использования коммерческого сервера под Windows. К тому же серверы, изначально ориентированные на работу в среде Windows, нередко обеспечивают улучшенную интеграцию с такими сервисами как Active Directory и MS Exchange. С другой стороны, при наличии достаточного опыта у системного администратора существует возможность запустить jabberd в среде Windows, для этой цели можно использовать такие инструменты как cygwin и MinGW, но лучше использовать MS SFU (распространяется бесплатно через сайт http://www.microsoft.com) версии 3.5 или более поздней. В случае, если вы всё-таки решили установить jabberd на Unix, то выбор конкретной версии определяется следующими параметрами:
Поскольку в данной ситуации выбор не связывается привычками и предпочтениями пользователей, а лежит в основном в технической сфере, то обычно подбор необходимого программного обеспечения не вызывает затруднений у сотрудников IT-подразделения.
Поскольку в данной ситуации выбор не связывается привычками и предпочтениями пользователей, а лежит в основном в технической сфере, то обычно подбор необходимого программного обеспечения не вызывает затруднений у сотрудников IT-подразделения.
3. Третий этап начинается с подключения у пользователей plug-in поддержки Jabber/XMPP. После этого им всем сообщаются их служебные UIN, при этом пароли к ним не сообщаются. С этого момента и начинается собственно переходный этап.
4. По завершению успешного перехода, Вы даете прочитать эту статью всем своим основным партнерам и клиентам, с целью убедить их перейти на Jabber/XMPP. Это позволит Вам минимизировать использование ICQ, и в полной мере начать использовать все преимущества Jabber.
Автор: Сергей Иванов-Радкевич, скрыто
Все права защищены.
Оригинал: снимок Wayback Machine от 24.03.2008; в архиве есть ещё адресов: 1.