Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 416 сообщений
Cообщения с меткой

jabber - Самое интересное в блогах

Следующие 30  »
rss_rss_hh_new

[Перевод] Как вести секретную переписку в мире, где за вами постоянно следят: методы Эдварда Сноудена. Часть 1

Среда, 18 Ноября 2015 г. 15:58 (ссылка)





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



Когда вы берете в руки телефон и совершаете звонок, отправляете SMS, электронное письмо, сообщение в Facebook или Google Hangouts, другие люди могут отследить, что именно вы говорите, с кем ведете беседу и где находитесь. Эта личная информация может быть доступна не только поставщику услуг, который выступает в роли посредника в вашем разговоре, но и телекоммуникационным компаниям, предоставляющим услуги доступа в Интернет, разведывательным службам и правоохранительным органам и даже нескольким подросткам, которые могут отследить ваши действия в сети Wi-Fi с помощью приложения Wireshark.



Однако если вы примите нужные меры для защиты своей информации, то сможете передавать секретные и анонимные онлайн-сообщения. В этой статье я подробно расскажу о том, как это сделать. Мы детально рассмотрим методы, которыми два с половиной года назад воспользовался информатор и экс-сотрудник АНБ Эдвард Сноуден, для того чтобы связаться со мной. Другими словами, я покажу, как создать анонимную учетную запись для онлайн-переписки и обмениваться сообщениями с помощью протокола шифрования под названием Off-the-Record Messaging, или OTR.



Если вы не хотите читать всю статью, можете сразу перейти к разделу, где поэтапно описано, как создать учетную запись на платформах Mac OS X, Windows, Linux и Android. Когда же у вас появится достаточно времени, вернитесь к началу и ознакомьтесь с важными замечаниями, которые идут до этих разделов.



Во-первых, нужно убедиться, что вы используете именно шифрование между конечными пользователями [англ. end-to-end encryption]. В этом случае сообщение будет шифроваться на одном конце – скажем, на смартфоне – и расшифровываться на другом – например, на ноутбуке. Никто, включая вашего интернет-провайдера, не сможет расшифровать ваше сообщение. Сравните этот тип шифрования с другим типом, когда вы устанавливаете связь через своего провайдера, к примеру, по HTTPS-соединению. HTTPS защитит ваше сообщение от потенциальных шпионов в сети Wi-Fi вроде подростков с установленным Wireshark или от вашего поставщика услуг связи, но не сможет защитить сообщение от компании на другом конце вашего соединения – например, Google или Facebook – а также от правоохранительных органов и разведывательных служб, запрашивающих информацию у этих компаний.



Еще одно, не менее важное замечание заключается в необходимости защитить не только содержание вашей переписки, но и ее метаданные. Некоторые метаданные, например, кто с кем разговаривает, могут играть очень важную роль. Если кто-то собирается связаться с журналистом, то одного шифрования письма будет недостаточно, чтобы скрыть сам факт переписки с журналистом. Точно так же, если вы – несчастные влюбленные, пытающие связаться друг с другом и сохранить это втайне от своих враждующих семей, вам придется скрыть не только содержимое ваших любовных посланий, но и тот факт, что вы в принципе выходили на связь. Давайте кратко рассмотрим, как же это можно сделать



Сокрытие личности



Представьте, что Джульетта пытается выйти на связь с Ромео. Они оба знают, что если будут использовать телефон, почту, Skype или другие традиционные способы, то они не смогут скрыть от своих влиятельных семей факт того, что они контактировали. Весь фокус в том, чтобы скрыть скорее не то, что они общались, а то, что они – Ромео и Джульетта.



Джульетта и Ромео решили завести новые учетные записи для общения. Джульетта взяла себе псевдоним «Церера», а Ромео взял себе имя «Эрида». Теперь, когда Церера и Эрида могут обмениваться зашифрованными сообщениями, узнать, что под этими именами скрываются Джульетта и Ромео, будет гораздо сложнее. Если учетную запись Джульетты будут проверять на наличие связи с Ромео – а ее вспыльчивый двоюродный брат, мягко говоря, немного самонадеян – то никаких улик найдено не будет.



Конечно, недостаточно просто взять себе новое имя. На данном этапе все еще можно, а иногда даже довольно просто, выяснить, что под Церерой скрывается Джульетта, а под Эридой – Ромео.



Джульетта заходит в свою учетную запись под именем «Церера» с того же IP-адреса, который она использует и для других целей на своем компьютере (например, когда связывается с братом Лоренцо по e-mail). Если ее активность в Интернете отслеживается (а это, наверняка, так, потому что вся наша активность в Интернете отслеживается), сопоставить ряд фактов будет несложно. Если сервис вынужден передавать IP-адрес, с которого пользователь «Церера» выходит в Сеть, то его легко можно будет сопоставить с IP-адресом Джульетты. Та же проблема возникает и у Ромео.



У независимых сервисов вроде телекоммуникационных компаний и почтовых доменов есть доступ к частной информации о своих пользователях, и, согласно «доктрине третьего лица», эти пользователи «не могут ожидать сокрытия» такой информации. Этот принцип действует не только на тайных влюбленных: журналисты, которые могут получить ряд привилегий в соответствии с Первой поправкой Конституции США, должны внимательно следить за тем, кто отвечает за услуги их связи. В 2013 году Министерство Юстиции США получило данные о ряде телефонных звонков, сделанных журналистами Associated Press, в ходе расследования по делу об утечке информации. Многие новостные издания не имеют собственного почтового сервиса: New York Times и Wall Street Journal пользуются почтой Google, USA Today пользуется услугами Microsoft – поэтому Правительство США может запросить их данные. (Издание The Intercept пользуется собственным почтовым сервисом).



Анонимность



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



Tor предназначен для анонимного использования сети Интернет. Он представляет собой децентрализованную сеть произвольных «узлов» – компьютеров, которые передают и исполняют запросы в Интернете от имени других компьютеров. Tor позволяет вам оставаться анонимным, подключая вас к Интернету через серию таких узлов. Если хотя бы один из узлов был помещен в серию намеренно, то никто не сможет узнать, кто вы и чем занимаетесь: можно будет либо узнать ваш IP-адрес, не зная, чем вы занимаетесь в Сети, либо узнать, чем вы занимаетесь в Сети, и при этом не знать ваш IP-адрес.



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



Если Ромео и Джульетта воспользуются сетью Tor, чтобы получить доступ к своим учетным записям Эриды и Цереры, и если они будут обмениваться сообщениями с шифрованием по протоколу OTR, то они, наконец, смогут организовать личную онлайн-переписку независимо от того, будут за ними следить или нет.







Ромео и Джульетта втайне обмениваются зашифрованными сообщениями с анонимных учетных записей



Хакеры окружают нас со всех сторон



Теперь, когда Ромео и Джульетта создали новые анонимные учетные записи в сети Tor, давайте протестируем все части нашей системы на наличие недостатков.



Со стороны Джульетты: злоумышленник, отслеживающий интернет-трафик Джульетты, сможет увидеть, что ее трафик частично проходит через Tor, но не сможет понять, для чего Джульетта его использует. Если хакеры начнут проверять, кому Джульетта пишет электронные письма, с кем она связывается по Skype, кому звонит и кому отправляет сообщения, то признаков ее связи с Ромео обнаружено не будет. (Конечно, использование сети Tor само по себе может вызвать подозрения. Именно поэтому The Intercept для сохранения анонимности рекомендует осуществлять со своего персонального компьютера сетевое подключение, никак не связанное с организацией-поставщиком услуг. Другими словами, чтобы обезопасить себя, Джульетта могла бы выйти в Интернет из кафе Starbucks или публичной библиотеки).



Со стороны Ромео: злоумышленник, отслеживающий интернет-трафик Ромео, сможет увидеть, что его трафик частично проходит через Tor. Если этот человек просмотрит всю почту, звонки, сообщения, а также активность Ромео в Skype, то Джульетту он найти не сможет.



Со стороны чат-сервера: служба обмена сообщениями сама может отследить, что некто с IP-адресом в сети Tor создал пользователя «Церера», некто с IP-адресом в сети Tor создал пользователя «Эрида», и оба этих пользователя обмениваются друг с другом зашифрованными сообщениями. Нельзя узнать, что Церера – это на самом деле Джульетта или что Эрида – это на самом деле Ромео, так как их IP-адреса скрывает Tor. Также невозможно узнать, о чем Церера и Эрида говорят между собой, потому что их сообщения зашифрованы при помощи OTR. Эти учетные записи могли бы с такой же легкостью принадлежать информатору и журналисту или правозащитнику и его адвокату, а не двум влюбленным, обменивающимся стихами.



Даже после принятия этих мер остается небольшая доля метаданных, которая может просочиться, если вы будете действовать неосторожно. Вот, о чем нужно помнить:




  • Обязательно используйте Tor, когда создаете учетную запись для обмена сообщениями, а не только когда вы ведете переписку.

  • Никогда не заходите в свою учетную запись, если вы не находитесь в сети Tor.

  • Убедитесь, что ваш логин не раскроет вашу настоящую личность: например, не используйте логин, которым вы уже когда-то пользовались. Вместо этого можно взять случайное имя, которое не имеет к вам никакого отношения. Зачастую многие полагают, что анонимная учетная запись должна стать вашим «вторым я». Эти люди придумывают крутой логин, а затем привязываются к нему. Однако лучше относиться к своему новому имени, как к чему-то одноразовому или временному: ваша задача – скрыть скрытую личность, а не выставлять ее на всеобщее обозрение. Набор случайных символов вроде «bk7c7erd19» подойдет в качестве имени куда лучше, чем «gameofthronesfan».

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

  • Следите за тем, с кем именно вы контактируете и через какую из анонимных учетных записей. Если один из ваших контактов не защищен, то это может увеличить шансы на то, что другие контакты также окажутся незащищенными. Логично будет создать отдельную учетную запись для каждого отдельного проекта или контакта, чтобы снизить риск разоблачения целой сети анонимных контактов.

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

  • Следите за своими привычками. Если вы заходите в свою учетную запись утром, когда начинаете пользоваться компьютером, и выходите из нее вечером по окончании работы, то в сервисе будет храниться информация о том, в каком часовом поясе вы находитесь и в какое время вы работаете. Для вас это, может быть, не так важно, но если все-таки важно, лучше договориться с собеседником о времени, когда вы будете в сети.

  • Следите за тем, как вы используете свой IP-адрес в Tor. Если вы используете Tor как для анонимной учетной записи, так и для обычного аккаунта, который имеет к вам какое-то отношение, то записи в журнале сервера могут указать на связь между вашей анонимной учетной записью и вашей настоящей личностью. При помощи уникального логина и пароля для протокола SOCKS вы можете настроить Tor так, что в каждая из ваших учетных записей будет работать в разных каналах связи. В дальнейшем об этом будет сказано подробнее.



Tor не безупречен



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



Tor никогда не был надежной защитой против «глобального наблюдателя» – сил, которые могут следить за всеми узлами сети в режиме реального времени по всему миру. Эти силы могли бы следить за трафиком пользователей Tor, входящих в сеть, наблюдать за движением трафика по всему миру и затем смотреть, как этот трафик покидает сеть, тем самым поясняя, какой трафик принадлежит тому или иному пользователю.



Но несмотря на все это, документы Сноудена, опубликованные The Guardian, указывают на то, что объединенные шпионские силы «Пяти глаз» [англ. Five Eyes] (США, Великобритания, Канада, Австралия и Новая Зеландия) пока не считаются «глобальным наблюдателем»: по крайней мере, они не считались таковым в июле 2012 года, когда состоялась презентация этих совершенно секретных материалов. Как оказалось, западные разведывательные агентства могут лишь разоблачить случайного неудачливого пользователя ради своей выгоды и никогда не могли разоблачить конкретного пользователя по первому требованию.







Как бы многообещающе это ни звучало, Tor не всегда может скрыть вашу личность, особенно если вы уже находитесь под наблюдением. Яркий пример – арест Джереми Хаммонда.



ФБР подозревало, что Хаммонд может быть участником хакерской группировки LulzSec, продолжавшей совершать киберпреступления в 2011 году. В частности, ФБР считало, что он может работать в онлайн-чате под псевдонимом sup_g. Его сотрудники установили наблюдение за квартирой Хаммонда в Чикаго, следя за тем, к каким серверам он подключался по своей Wi-Fi сети. В юридически заверенном документе ФБР утверждается, что «значительная часть трафика исходила из чикагской квартиры [Хаммонда] в Интернет через сеть Tor». ФБР провело низкотехнологичную корреляционную атаку трафика, чтобы подтвердить, что Хаммонд в самом деле действовал под именем sup_g. Когда Хаммонд покидал свою квартиру, трафик по сети Tor прекращался, и sup_g выходил из чата. Когда же он возвращался домой, трафик возобновлялся, и sup_g снова появлялся в сети. Поскольку он был главным подозреваемым, Tor уже не мог скрыть его личность.



Тор не является чем-то сверхъестественным; это – лишь инструмент. Человеку, который его использует, следует учитывать деятельность ФБР, если он желает оставаться анонимным.



Безопасность рабочей станции



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



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



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



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



Первый контакт



Когда вы собираетесь начать онлайн-переписку, не всегда ясно, как именно это нужно делать. Если вы можете встретиться с человеком лично, то установить защищенный канал связи достаточно просто: при встрече нужно лишь узнать друг у друга логины, данные чат-сервера обмена сообщениями и отпечатки OTR (подробнее об этом смотрите ниже).



Однако не всегда есть возможность встретится лично: вы можете находится на большом расстоянии друг от друга или одна сторона может захотеть остаться неизвестной для другой. Даже если вы оба хотите встретиться лично, как вы об этом договоритесь, если вам нужно скрыть факт того, что вы поддерживаете связь друг с другом?



Для того, чтобы установить первый контакт с Ромео, Джульетта должна специально для этого создать анонимную учетную запись, которая позволит ей связаться с публичным аккаунтом Ромео. Она может отравить Ромео электронное письмо со своего анонимного почтового ящика. Большинство email-сервисов при создании учетной записи требуют номер телефона пользователя, а некоторые закрывают доступ всем пользователям сети Tor, в связи с чем создание анонимной учетной записи усложняется. Джульетта могла бы также создать анонимный аккаунт в социальной сети и использовать его для связи с публичный профилем Ромео.



По возможности ей следует зашифровать первые сообщения, которые она отправляет Ромео. Процедура упрощается, если Ромео опубликует ключ PGP. Все журналисты The Intercept публикуют свои ключи PGP на странице профилей сотрудников. Если вы собираетесь установить первый контакт с журналистом, работающим в организации, которая использует платформу SecureDrop, то можете воспользоваться ею, чтобы не создавать новых анонимных аккаунтов и не разбираться с ключами PGP. SecureDrop используется и в The Intercept.



При первом контакте с Ромео Джульетта должна указать чат-сервер, на котором она создала учетную запись, свой логин, OTR-отпечаток и время, когда она будет ждать его в сети. Кроме того, она может дать Ромео необходимые инструкции для создания учетной записи, возможно, сославшись на эту статью.



Если и Джульетта, и Ромео зашли в свои анонимные аккаунты и начали обмениваться зашифрованными сообщениями с отпечатками OTR, то дело почти сделано. В зависимости от того, как Джульетта установила первый контакт с Ромео, внимательное изучение писем Ромео и его аккаунта в социальной сети может раскрыть пользовательские данные анонимной учетной записи Джульетты: так или иначе, она должна сообщить ему эти данные. Так следователи могут выяснить и скрытый профиль Ромео.



Чтобы предотвратить подобные ситуации, Джульетта и Ромео могут удалить свои аккаунты и перейти на новые, не оставив никаких следов. И в самом деле, Джульетте и Ромео следует покинуть свои старые учетные записи, когда они посчитают нужным, и перейти на новые аккаунты с новыми ключами OTR-шифрования. Существуют сотни публичных чат-серверов, и создать новый аккаунт можно совершенно бесплатно.



От теории к практике



Теперь, когда вы знакомы с теорией сокрытия своей личности, настало время для ее практического применения.

Не пугайтесь, я уверен, у вас все получится. Вам нужно будет лишь следовать инструкциям, предложенным для пользователей Mac OS X, Windows, Linux и Android. (К сожалению, анонимно связаться через чат-серверы на iPhone не получится). Для начала попрактикуйтесь со своим другом.



Jabber и Off-the-Record



Когда я говорил о «чат-серверах», на самом деле я имел в виду серверы Jabber, также известные как XMPP. Jabber – это открытый протокол для обмена мгновенными сообщениями; это не специальный сервис наподобие Signal, WhatsApp или Facebook. Jabber представляет собой децентрализованное интегрированное приложение, похожее на электронную почту. Я могу отправить письмо со своего ящика @theintercept.com на ваш gmail.com, потому что серверы The Intercept‘s и Gmail работают на одном стандартном протоколе.



Так что у каждого есть возможность запустить сервер Jabber: ею пользуется множество организаций, включая Calyx Institute, Riseup, Chaos Computer Club и DuckDuckGo и другие. Существуют сотни других публичных серверов Jabber. Сотрудники многих организаций работают на частных серверах Jabber, включая дочернюю компанию The Intercept под названием First Look Media. Сервис обмена сообщениями HipChat работает на базе Jabber, а его конкурент, Slack, использует шлюзы Jabber.



Так как Jabber децентрализован, пользователь с аккаунтом в Jabber вроде akiko@jabber.calyxinstitute.org может вести переписку с boris@dukgo.co. Но если обе стороны – Ромео и Джульетта в нашем примере – используют один сервер для своих аккаунтов в Jabber, то метаданные их переписки будут лучше защищены. Сообщения будут храниться на одном сервере и не будут передаваться по Интернету.



В отличие от электронной почты, большинство серверов Jabber разрешают пользователям создавать аккаунты через Tor и не требуют от вас никаких персональных данных. Вообще говоря, на многих серверах Jabber запускаются анонимные сервисы, позволяющие пользователям Tor связываться друг с другом, не выходя при этом из сети. Эта тема достаточно сложная, поэтому для простоты я не буду использовать анонимные сервисы при описании инструкций в дальнейшем.



Off-the-Record (OTR) – это протокол шифрования, который может добавить шифрование между конечными пользователями в любой сервис обмена сообщениями, включая Jabber. Чтобы обмениваться зашифрованными сообщениями, обе стороны должны использовать программное обеспечение, которое поддерживает шифрование по протоколу OTR. Есть несколько вариантов, но в данной статье описано применение Adium для пользователей Mac, Pidgin для пользователей Windows и Linux и ChatSecure для пользователей Android. ChatSecure также доступен и на iOS, но приложение не до конца совместимо с Tor на iOS-устройствах.



Выбираем сервер Jabber



Если вы собираетесь скрыть свою личность, создав учетную запись на платформе Android, можете сразу перейти к соответствующему разделу. В ChatSecure для Android имеется встроенная поддержка создания временных анонимных учетных записей для сокрытия личности.



Всем остальным необходимо скачать и установить браузер Tor. Откройте его и загрузите нашу статью в этом браузере, а не в том, который вы использовали ранее. Итак, сейчас вы пользуетесь браузером Tor. Это очень важный момент, потому что я не хочу, чтобы ваш IP-адрес затерялся в лог-файлах каждого из серверов Jabber, которым вы намеренны воспользоваться. Как будет показано в дальнейшем, в этом будет заключаться основная идея раскрытия вашей личности.



У вас есть выбор из сотен серверов Jabber. Мы можете найти списки некоторых публичных серверов Jabber, как, например, здесь и здесь. Какой из них следует выбрать?



Сервер не сможет определить, кто вы на самом деле (вы выполните подключение по сети Tor) или о чем вы пишете в своих сообщениях (вы будете использовать протокол OTR для шифрования своих сообщений), поэтому вам не нужно об этом беспокоиться. Тем не менее, лучше выбрать сервер, который с меньшей вероятностью передаст лог-файлы вашему правительству, а оно будет не очень радо тому, что пользователи сети Tor создают анонимные учетные записи.



Чаще всего люди создают аккаунты в Jabber напрямую через программы для обмена сообщениями. Настроить такую программу на передачу сообщений через Tor, находясь в своей учетной записи, несложно. Сложнее убедиться в том, что программа позволяет создавать через Tor новые аккаунты (если вы работаете в операционной системе Tails, тогда вам не о чем беспокоиться, так как весь ваш трафик будет проходить по сети Tor). В связи с этим я рекомендую выбрать сервер Jabber, который позволит вам создать новый аккаунт с сайта программы, и вы можете сделать это в браузере Tor вместо программы для обмена сообщениями.



Далее перечислены несколько серверов Jabber, на которых можно создавать новые аккаунты с помощью браузера Tor. Они выбраны случайным образом из списка публичных серверов: ChatMe (расположен в Италии), CodeRollers (расположен в Румынии), Darkness XMPP (расположен в России), KodeRoot (расположен в США), Jabber.at (расположен в Австрии), Hot-Chilli (расположен в Германии), XMPP.jp (расположен в Японии) и т. д. Список довольно большой.



Готовы начать работу? Выберите сервер Jabber. Придумайте логин, никак не связанный с вашей настоящей личностью. Придумайте пароль, который вы больше нигде не используете.



Создайте аккаунт в Jabber при помощи браузера Tor. Теперь запишите данные сервера, на котором вы создали аккаунт, свои логин и пароль и переходите к следующему разделу в зависимости от платформы, которую вы используете: Android, Mac OS X, Windows или Linux.



Выберите свою операционную систему:



  • Анонимный обмен зашифрованными сообщениями на платформе Android;

  • Анонимный обмен зашифрованными сообщениями на платформах Windows и Linux;

  • Анонимный обмен зашифрованными сообщениями на платформе Mac OS X.





[Прим. переводчика: в данном материале приводятся только инструкции для Mac OS X – инструкции для Android, Windows и Linux читайте в Части 2]



(Пока не существует руководства для iOS, так как, несмотря на то, что у ChatSecure для iOS есть экспериментальная поддержка Tor, разработчики не рекомендуют рассчитывать на полную анонимность, пока эксперты в области безопасности не проведут тщательную проверку приложения).



Анонимная передача зашифрованных сообщений в Mac OS X



Если вы еще не создали новую учетную запись в Jabber с помощью браузера Tor, создайте ее в соответствии с инструкциями в разделе «Выбираем сервер Jabber», расположенном выше. Убедитесь, что вы знаете, на каком сервере вы создали свой аккаунт, а также свои логин и пароль.



Для данного примера я создал учетную запись в Jabber на сервере xmpp.jp и взял логин pluto1.



Установка Adium и настройка анонимной учетной записи через Tor



Скачайте и установите Adium – клиент для обмена сообщениями для Mac, который поддерживает шифрование по протоколу OTR.



Убедитесь, что браузер Tor открыт. Пока он открыт, сервис Tor работает на вашем компьютере в фоновом режиме. Когда вы закроете браузер Tor, сервис Top также прекратит свою работу. Это значит, что каждый раз, когда вы хотите воспользоваться своим скрытым аккаунтом в Jabber, ваш браузер Tor должен быть запущен в фоновом режиме, иначе Adium просто не сможет выполнить подключение. Итак, откройте браузер Tor и не закрывайте его, пока не выполните все инструкции.



Откройте Adium. После того, как вы его откроете, всплывет окно Adium Assistant Wizard. Закройте его: мы создадим аккаунт вручную, чтобы получить дополнительные возможности.







Выбрав окно «Контакты» (Contacts), кликните по строке меню в верхней части Adium и выберите пункт «Параметры» (Preferences). Убедитесь, что выбрана вкладка «Учетные записи» (Accounts) в верхней части окна. Кликните на кнопку «+» в левой нижней части окна, чтобы добавить новую учетную запись. Затем в раскрывающемся списке выберите «XMPP (Jabber)».







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







Прежде чем переходить к следующему шагу, переключитесь на вкладку «Прокси-сервер» (Connect using proxy) и выберите из списка тип «SOCKS5». В поле «Сервер» введите «127.0.0.1», а в поле «Порт» введите «9150». Придумайте для этой учетной записи имя пользователя и пароль и введите их в соответствующие поля. Данные настройки гарантируют, что Adium будет подключаться к этой учетной записи через Tor. Вводить имя пользователя и пароль не обязательно, но если вы будете ими пользоваться, то Tor будет подбирать для этой учетной записи отличные от других каналы связи, что увеличит вашу анонимность.







Перейдите на вкладку «Безопасность» (Privacy). В поле «Шифрование» (Encryption) измените значение с «Шифровать сообщения по запросу» (Encrypt chats as requested) на «Проводить обязательное шифрование и запретить открытый текст» (Force encryption and refuse plaintext).







Перейдите на вкладку «Настройки» (Options). Измените поле «Ресурс» (Resource) (по умолчанию установлено имя вашего компьютера) на «anonymous». Кроме того, в пункте «Безопасность» (Security) поставьте галочку напротив надписи «Требовать SSL/TLS» (Require SSL/TLS).







Теперь перейдите на вкладку «Учетные записи» (Account). Введите Jabber ID. Имя пользователя – pluto1, имя сервера Jabber – xmpp.jp, поэтому Jabber ID будет записан как pluto1@xmpp.jp. Введите свой пароль и нажмите «OK», чтобы зайти в свою учетную запись.







Теперь Adium попытается подключиться к вашей анонимной учетной записи через Tor. Если все пройдет успешно, в списке учетных записей должна появиться ваша учетная запись с подписью «Онлайн».







Ключи шифрования и отпечатки



Итак, вы анонимно вошли в свою скрытую учетную запись через Tor. Следующим шагом будет создание ключа шифрования по протоколу OTR. Каждый, кто желает воспользоваться протоколом OTR, должен сгенерировать собственный ключ. Этот ключ представляет собой файл, хранящийся на устройстве, которое вы используете для обмена сообщениями. Каждый ключ содержит уникальную последовательность символов, которая называется отпечатком этого ключа: никакие два ключа не могут иметь одинаковый отпечаток.



Попробуем создать свой ключ с шифрованием по OTR. В окне «Контакты» (Contacts) кликните по строке меню Adium и выберите пункт «Параметры» (Preferences). Перейдите на вкладку «Расширенные» (Advanced) и нажмите на боковую панель «Шифрование» (Encryption). Выберите свою анонимную учетную запись и нажмите на кнопку «Сгенерировать» (Generate), чтобы сгенерировать новый ключ. После завершения процедуры у вас появится новый отпечаток с шифрованием по OTR.







В нашем примере я создал новый ключ, использующий шифрование по OTR, для своей учетной записи pluto1@xmpp.jp с отпечатком C4CA056C 922C8579 C6856FBB 27F397B3 2817B938. Если вы хотите начать с кем-нибудь личную переписку, сообщите этому человеку ваш логин и имя сервера, а также отпечаток ключа с OTR. После того, как он создаст анонимную учетную запись в Jabber и сгенерирует ключ с шифрованием по OTR, попросите его также сообщить вам свои логин, имя сервера и отпечаток ключа.



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



Этот этап несколько запутан, но очень важен. Если отпечатки ключа не совпадают, это значит, что на вас направлена атака посредника. В этом случае не отмечайте контакт как надежный, а попытайтесь повторить процедуру чуть позже.



Добавление контактов и личная переписка



Я пытаюсь начать обмен личными сообщениями со своим другом. Он сообщил мне, что его учетная запись в Jabber – pluto2@wtfismyip.com, а OTR-отпечаток – A65B59E4 0D1FD90D D4B1BE9F F9163914 46A35AEE.

После того, как я создал свою учетную запись pluto1, я хочу добавить пользователя pluto2 к себе в контакты. Сначала я выбираю окно «Контакты» (Contacts) и затем нажимаю на кнопку меню «Контакт» и выбираю пункт «Добавить контакт» (Add Contact). В поле «Тип контакта» (Contact Type) я выбираю XMPP, а в поле Jabber ID ввожу «pluto2@wtfismyip.com». Затем нажимаю на кнопку «Добавить» (Add), чтобы добавить пользователя в список контактов.







После того, как вы добавили контакт в Jabber, вы не можете сразу определить, находится он в сети или нет. Сначала нужно получить согласие пользователя на просмотр его статуса. Поэтому теперь мне нужно подождать, пока pluto2 войдет в свою учетную запись и подтвердит мой запрос на добавление в список контактов.



Итак, pluto2 разрешил мне видеть, когда он находится в сети, и он отправляет запрос на то, чтобы я разрешил ему видеть, когда я нахожусь в сети. Я выбираю его контакт и нажимаю на кнопку «Разрешить добавить меня в список ваших контактов» (Authorize).







Теперь я впервые добавил пользователя pluto2 как свой контакт, и он будет отображаться в моем списке контактов, когда будет находиться в сети. Затем все, что мне нужно сделать для начала общения с ним, это щелкнуть два раза на его имени.







Я кликнул два раза на контакт pluto2 и написал «привет».







Перед тем, как отправить мое сообщение, Adium начал сеанс работы с OTR-шифрованием. Обратите внимание на надпись «личность pluto2@wtfismyip.com не подтверждена» (pluto2@wtfismyip.com’s identity not verified). Это значит, что во время обмена зашифрованными сообщениями я не могу быть полностью уверен в том, что не произойдет атаки посредника.

Кроме того, всплывает диалоговое окно «Подтверждение отпечатка OTR» (OTR Fingerprint Verification box). Совпадает ли отпечаток, который мне передал пользователь pluto2, с тем, что написано в этом окне?







Я сравниваю каждый из символов отпечатка, который pluto2 передал мне ранее, с символами отпечатка, на который ссылается Adium. Видно, что они и в самом деле одинаковые. Значит, никто не проводит атаку на шифрование, и я могу смело нажимать кнопку «Принять» (Accept). Если бы у меня не было OTR-отпечатка pluto2, я запросил бы его у pluto2 по внешнему [англ. out-of-band] каналу (не в этом чате, так как я не знаю, насколько он надежен), и затем подтвердил бы, что они совпадают. Если бы у меня не было на это времени, я бы кликнул по кнопке «Подтвердить позже» (Verify Later).



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



Вот, собственно, и все. Итог: мы создали анонимную учетную запись в Jabber через сеть Tor. Мы настроили программу для обмена сообщениями Adium и можем зайти в эту учетную запись через Tor. Мы создали новый ключ OTR-шифрования для этой учетной записи. Мы добавили в свою учетную запись один контакт и проверили его отпечаток OTR-шифрования. Теперь мы можем обмениваться с этим контактом сообщениями на достаточно высоком уровне защиты информации.







В Части 2 речь пойдет о настройке защищенного обмена сообщениями для платформ Windows, Linux и Android.



Продолжение следует...

Original source: habrahabr.ru (comments, light).

http://habrahabr.ru/post/271165/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

UX в мессенджерах: 2005 – 2015. Часть I. Предыстория. Годы 2005-2007

Пятница, 09 Октября 2015 г. 15:41 (ссылка)

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



Год 2005: до и во время



Волна популярности ICQ, первого инстант-мессенджера, запущенного в 1996 году, пошла на спад. Большую клиентскую базу ICQ обеспечивала простота и доступность сервиса. Базовая идея мессенджера – возможность поиска контактов по имени, месту жительства, почте, никнейму, полу, возрасту и другой информации, указываемой пользователями – нашла отражение даже в оригинальном названии: аббревиатура ICQ практически совпадала по звучанию с ‘I seek you’ (= я разыскиваю тебя). Долгое время минимальный функционал и нетребовательность к ресурсам являлись решающими факторами при выборе клиента для мгновенных сообщений.



Знакомой многим особенностью ICQ был уникальный идентификационный номер, который выдавался пользователям в порядке возрастания. Прежде чем начать общение, требовалось узнать номер собеседника. При этом красивые и особенные номера имели особую ценность и могли перепродаваться за солидные суммы.



В более старых версиях ICQ была такая непривычная современным пользователям особенность, как вывод входящих и исходящих сообщений в раздельных окнах (что, очевидно, являлось этапом перехода с формата электронной почты). Стоит отметить, что несмотря на то, что ICQ уступал в популярности другим мессенджерам за рубежом, в России он был широко распространен, некоторые используют ICQ до сих пор.



Сетевой протокол OSCAR, лежащий в основе ICQ, несмотря на свою проприетарность и закрытость кода, к этому времени уже был разобран методами реверс-инжиниринга и использовался для разработки огромного количества неофициальных клиентов, расширяющих функционал (таких, например, как российский многопротокольный клиент QIP, появившийся в 2005 году).



Популярность неофициальных клиентов росла, тогда как официальный ICQ становился все медленнее и перегружался рекламой. В ICQ 5 в 2005 году была введена система скинов, но на тот момент сервис и так уже был перегружен всяческой «мишурой».



Тенденция спада популярности коснулась и мессенджера AIM американской компании AOL, которой к этому моменту уже принадлежала ICQ. Особой популярностью AIM пользовался в офисах и на рабочих местах. Даже компания Microsoft ввела в свой мессенджер MSN поддержку протокола AIM, что повлекло за собой неоднократное переписывание кода AIM и вылилось в «кибервойну», в процессе которой программисты Microsoft раз за разом взламывали обновленный код AIM. Конец противостоянию положили угрозы внести вредоносный код в майкрософтовский MSN.



Мессенджер AIM отличался инновационностью. Голосовой чат был введен в нем намного раньше, чем в Skype. Мессенджер умел передавать файлы и обмениваться SMS с мобильными телефонами. Однако он распространялся бесплатно и о его развитии не слишком заботились. В попытке заработать на мессенджере хоть что-нибудь было принято решение ввести рекламные баннеры, которые не слишком-то вписывались в интерфейс AIM. Компания препятствовала разработке сторонних плагинов. Маленькая команда разработчиков AIM пыталась отстаивать свои инновации, несмотря на противодействие руководства компании.



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



Аналогичные функции выполняют и клиенты на основе протокола XMPP (Jabber). Эти системы отправки мгновенных сообщений популярны и сейчас. Они практически не менялись с момента своего создания, имея специфическую область применения. Эти системы получают второе дыхание с использованием веб-клиентов, встраиваемых прямо в сайт. Очень вероятно, что чаты, которые вы видите на сайтах, используют именно один из этих протоколов.



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



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



MSN Messenger (впоследствии – Windows Live Messenger), входивший в базовую поставку операционных систем Microsoft, был популярен в первую очередь именно из-за способа распространения. К этому моменту в нем уже присутствовали такие функции, как пересылка файлов и аудиозвонки через один из первых сервисов VoIP. С выходом Windows XP в MSN-мессенджер была добавлена функция группировки контактов и групповые голосовые беседы. Одной из интересных особенностей MSN был плагин интеграции с Windows Media Player, отображавший в профиле пользователя строчку с прослушиваемой им музыкой (Now Playing). В 2005 году в MSN-мессенджер были встроены flash-анимированные файлы для вставки сообщения, называющиеся ‘wink' (подмигивание). Они послужили основой современных анимированных смайликов и эмодзи.



В 2005 году был запущен Google Talk, ключевой особенностью которого была, конечно же, глубокая интеграция с учетной записью Google и Gmail. Google Talk использует протокол XMPP(Jabber), упоминавшийся выше.



Большое количество мессенджеров и их протоколов при наличии тенденции к интеграции и стандартизации обусловили появление формата мультипротокольных мессенджеров. Один из них, QIP уже упоминался выше. В отличие от старых мессенджеров с собственными протоколами, разработчики которых занимались, в том числе, и созданием этих протоколов, в таких мессенджерах упор делается на интерфейс и специальные возможности. В результате разработки получались целые «комбайны».



Возьмем, к примеру, мессенджер такого формата – Trillian. Помимо собственного протокола Astra, он поддерживает протоколы ICQ, IRC, Jabber, Facebook, MSN (Windows Live), Yahoo, Facebook и другие. Еще он умеет писать в Twitter и пользоваться почтой. Trillian может также проигрывать звуковые файлы с эмоциями при аудиосвязи, умеет упаковывать в архив передаваемые файлы, имеет широкий функционал записи истории разговоров и действий пользователя с поддержкой разметки XML. Подобные программы позволяют «собрать» контакты, разбросанные по разным соцсетям и сторонним сервисам.



Год 2006



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



Год 2007



Вышла версия Skype 3.5, в которой появилась поддержка видео в профиле пользователя, и возможность вставлять видео в чат. Skype набирает все большую популярность, вытесняя другие инстант-мессенджеры вроде ICQ.



Original source: habrahabr.ru (comments, light).

http://habrahabr.ru/post/268551/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Корпоративный Cisco Jabber: 11 версия очень радует

Четверг, 30 Июля 2015 г. 13:11 (ссылка)





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



В июне вышел релиз Cisco UC 11. За это время старый добрый Jabber нехило так поменялся и приобрел много полезных функций.



Если кратко — все основные десктопные и мобильные ОС кроме Linux, унификация интерфейса даже с аппаратными устройствами Cisco TelePresence, безопасный доступ для мобильных пользователей (запустил Jabber — поднялся шифрованный канал), некий аналог p2p для VDI-станций без лишних бросков от терминала к серверу, простой гостевой доступ для тех, у кого есть только браузер. Теперь давайте детальнее.



Все устройства



Cisco сделала клиент доступным практически на любом устройстве: Windows и OS X, iOS, Android, а также браузеры и тонкие клиенты VDI. Нет поддержки Linux, Windows Phone. Такое многообразие обеспечивает максимальную доступность клиента для пользователей, а также даёт им большую гибкость и возможность использовать своё «любимое» устройство для коммуникаций.









Можно начать искать различия в новом и старом интерфейсе. Верхний старый, ниже новый.



Лицензирование для негомогенного парка устройств идёт проще и понятнее.



В момент перехода от Personal Communicator (предшественник Джаббера) к Jabber дизайн стал почти одинаковым на всех устройствах. Даже на абонентских терминалах TelePresence (персональных и групповых), обеспечивающих высокое качество коммуникации, можно увидеть привычный интерфейс. Это очень помогает пользователям быстро освоиться и начать пользоваться сервисами.











При таком количестве устройств и платформ, на которых доступны сервисы UC, раньше было довольно сложно ориентироваться среди приложений. Одновременно существовали Personal Communicator, Jabber for Mac, Jabber Voice, Jabber IM, Jabber Video for TelePresence и другие клиенты. Сейчас всё стало логично и просто, все клиенты называются Jabber for XXX. Функциональные возможности были практически полностью унифицированы.



На всех устройствах поддерживаются базовые функции:


  • HD аудио- и видеозвонки.

  • Просмотр контента.

  • Голосовая почта.

  • Индивидуальный и групповой чат.

  • Списки контактов и адресная книга с поддержкой фотографий пользователей.

  • Статусы присутствия.



Демонстрация контента пока не работает на мобильных устройствах. Управление удалённым компьютером работает только под Win.



UC за пределами офиса



Еще 2–3 года назад обеспечить мобильных и удалённых сотрудников доступом к корпоративным сервисам коммуникаций было непросто. Нужно было обязательно делать выбор между использованием VPN-соединений или же ограничением функциональности. Построить VPN-туннель на первый взгляд кажется не такой уж и сложной задачей, но на практике это создавало массу барьеров и проблем: организационных (за VPN и UC обычно отвечают разные подразделения), технических (связанных с использованием оборудования с шифрованием в РФ) и пользовательских. Последние причём могли свести на нет все усилия от преодоления остальных, потому что это просто неудобно — каждый раз устанавливать VPN-соединение, когда ты выходишь за пределы офиса. При любом выборе решение получалось дороже и сложнее.



Появилась функция Mobile and Remote Access (MRA), и с ней жизнь стала намного лучше. Название функции говорит само за себя: она позволяет безопасно получить доступ к сервисам UC для мобильных и удалённых пользователей. Пользователи могут использовать Jabber где угодно, при этом не надо думать о своём местоположении и изменять какие-либо настройки. Просто нужно запустить приложение, а Jabber сам найдет нужный сервер для подключения. Ещё более привлекательной данную функцию делает то, что она абсолютно бесплатна. ПО пограничных серверов, обеспечивающих работу Jabber за пределами корпоративной сети, стоит $0, а клиенты Jabber не требуют лицензии для совершения внутренних звонков. Пожалуй, это одна из самых полезных и востребованных функций, которая сегодня реализуется в каждом проекте, где есть Jabber.



Гостевой доступ



Когда в конференции должен участвовать кто-то снаружи компании, то проблем обычно нет, если это большая компания, которая использует стандартное (H.323/SIP) решение корпоративной связи. Но в случае с небольшими компаниями или физлицами есть шансы не соединиться. Раньше стандартным выходом из этой ситуации могло быть предложение перенести видеоконференцию в скайпоподобный сервис, но такое решение подходило далеко не для всех сценариев и могло нарушать корпоративные политики.



В конце 2013 года появилось решение Jabber Guest, которое позволяет просто отправить любым способом ссылку удалённой стороне или разместить ее на сайте. Удалённый абонент может подключиться по ссылке с помощью браузера или мобильного устройства, а сотрудник при этом может использовать привычные для себя средства коммуникации. Данная функция идеально подходит для кадровиков, общения с физическими лицами, небольшими компаниями или привлечения сторонних экспертов.



Облака и VDI



Jabber может совместно использоваться с облачными сервисами Cisco WebEx и недавно появившимся сервисом Collaboration Meeting Rooms (CMR) Cloud, работающим на базе того же облака WebEx Cloud. Совместное использование Jabber с этими сервисами заключается в возможности использовать клиент для участия в облачных мероприятиях, а также инициировать их одним кликом. В последней версии Jabber появились возможности стартовать сессию в WebEx или CMR прямо из окна чата, минуя стадии планирования, приглашения участников и т. д.



С VDI старая боль в том, что рабочая станция с операционной системой находится в дата-центре, а периферийное оборудование (монитор, web-камера, микрофон, динамики) на рабочем месте подключены к тонкому клиенту, возникает существенная задержка при передаче голоса и видео до дата-центра и обратно. Стандартные приложения ВКС и UC просто не смогут работать в таких условиях. Однако для Jabber существует специальная прослойка, устанавливаемая на тонком клиенте, позволяющая обойти это ограничение. Аудио- и видеоданные передаются непосредственно между тонким клиентом и удалённым абонентом, минуя рабочую станцию в ЦОДе.

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



Встраиваемый Jabber



Jabber может быть зарегистрирован в операционной системе для обработки нажатий по определённым ссылкам. Это позволяет сделать звонок с помощью Jabber прямо из браузера или почтового клиента.



Интеграция Jabber с MS Exchange позволяет делать звонки или открывать окно чата прямо из интерфейса Outlook, а также видеть статус присутствия пользователя.







Используя Jabber SDK, функциональность Jabber может быть добавлена к любому веб-приложению, например, корпоративной информационной системе, социальной сети или веб-сайту, или создать специализированный клиент с ограниченным функционалом. Мы использовали SDK для создания прототипа примитивного клиента с возможностью совершать звонки на предварительно настроенные номера. Такое простое решение, например, может использоваться в общественных местах для экстренной связи или в составе информационных киосков.



Чего не хватает Jabber



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



Опыт работы с нашими заказчиками показал, что Jabber также не хватает популярности в РФ. Многие слышали, знакомы или уже используют Lync (новое название Skype for Business), а про Jabber часто приходится рассказывать. На мой взгляд, Jabber является достойным конкурентом и альтернативой Microsoft Lync.

Original source: habrahabr.ru (comments, light).

http://habrahabr.ru/post/263837/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Из песочницы] Запуск Converse.js в связке с Bosh punjab на Apache 2.4 и удалённым сервером Openfire или как прикрутить к страничке jabber из коробки

Среда, 04 Февраля 2015 г. 17:08 (ссылка)

Решил написать эту статью, поскольку не нашел в русскоязычном интернете описание решения проблем, с которыми столкнулся в процессе установки и настройки всего описанного в заголовке. Формально говоря, про punjab на Хабре есть статья, но, к моему сожалению, она мне помогла не сильно. Статья рассчитана на человека, который не сильно сведущ в хитростях администрирования, Pyton`а и т.д. и т.п.



Итак, начнём. Моя система представляет собой сервер на Ubuntu 14.04 на котором работает Apache 2.4. Он хостит страничку, к которой возникло желание прикрутить Jabber-клиент. Выбор клиента пал на Converse.js, так как он требует минимальное количество настроек и работает из коробки. Jabber сервер — Openfire. Он расположен на удалённой машине в сети, доступ к которому я имею только как рядовой пользователь. Известны о нём мне было только IP адрес и порт.



Любой JS — Jabber (самописный, Strophe, converse) потребует от вас наличия BOSH-сервера. Грубо говоря, это эхо сервер, который пересылает сообщения от JS-Jabbera к jabber серверу и обратно. В качестве BOSH был взят Punjab .



С вводной частью закончили — поехали ставить.



Punjab



Для работы он требует: Python 2.6>=, Twisted 11.1>=. Для Ubuntu в репозитории есть пакет python-twisted. Если есть желание использовать TLS, понадобится пакет pyopenssl.

Наш сервер работает без шифрования, потому я этот пакет не ставил.

Далее либо клоним с GitHub, либо качаем архив и разархивируем Punjab. Кладём его куда нам нравится, например /usr/share/punjab. Из этой папки в консоли выполняем:



python setup.py install


Далее по описанию авторов предлагается сразу запустить сервер. Я же рекомендую обратить своё внимание на файл punjab.tac.

В нём есть такая строка:



 internet.TCPServer(5280, site).setServiceParent(application)


Иных настроек для порта удалённого сервера я не нашёл, а так как наш сервер работает на порте 5222, эту я заменил 5280 на 5222:



internet.TCPServer(5222, site).setServiceParent(application)


У вас может возникнуть вопрос: «А где писать адрес jabber-сервера?». В конфигурации нигде. Адрес сервера указывается уже в клиенте в виде записи: vasyliy_pupkin@192.168.1.18, где 192.168.1.18 — адрес jabber-сервера.



Запускаем Punjab через консоль:



twistd -y punjab.tac


Если всё прошло нормально, консоль проглотит эту строку, а в папке punjab появится файл twistd.log, в котором можно посмотреть, как там поживает наш BOSH-сервер.



Тонкий момент: если в логе появляются записи о DNS, вам нужно дописать в punjab.tac сразу после строки:



bosh = HttpbService(1)
следующий код:

bosh.connect_srv = False 


Проверяем работу:



.http://адрес_сервера: порт_punjab/ покажет сообщение вида: A XEP-0124 — BOSH — component manager.

.http://адрес_сервера: порт_punjab/http-bind сообщение вида: XEP-0124 — BOSH



Apache 2.4



Предполагаю, что Апач у вас стоит. Нам нужно включить модули proxy, proxy_http. Включается простой командой a2enmod proxy proxy_http.



Идём в apache2.conf и дописываем там:



 
ProxyRequests Off
ProxyPass /http-bind http://localhost:5222/http-bind
ProxyPassReverse /http-bind http://localhost:5222/http-bind



Напомню, что у меня порт 5222.

Зачем это нужно. Браузер не может послать пакет на порт, только на адрес. Потому мы заменяем порт адресом.



Converse.js



Кладём файлы из архива converse в папку веб-сайта апача, открываем на редактирование index.html. В самом конце файла находим фрагмент JS-кода:



 converse.initialize({
bosh_service_url: 'https://conversejs.org/http-bind/', // Please use this connection manager only for testing purposes
i18n: locales['en'], // Refer to ./locale/locales.js to see which locales are supported
keepalive: true,
message_carbons: true,
play_sounds: true,
roster_groups: true,
show_controlbox_by_default: true,
xhr_user_search: false
});


В этом коде указываем нужный bosh_service_url и locales по желанию.



Сохраняем, открываем в браузере демо-страницу. На ней указываем свои учётные данные в форме входа в виде: «Jabber_Id@jabber_server» и пароль.



Если всё прошло гладко, вы увидите свой список контактов.

Original source: habrahabr.ru (comments, light).

http://habrahabr.ru/post/249731/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Установка jabber сервера prosody 0.9.7 в ос семейства windows

Среда, 04 Февраля 2015 г. 15:42 (ссылка)

Prosody — это легковесный кроссплатформенный XMPP-сервер, написанный на языке программирования Lua. На хабре есть несколько статей по настройке prosody в стандартном варианте — в linux. Настройка в windows содержит несколько подводных камней, о которых я постараюсь рассказать.







Сперва расскажу о плюсах и минусах данного решения. Плюсы: экстремальная легковесность.







На скриншоте — типичное потребление ресурсов prosody+служебной утилиты srvany, которую я использовал для создания службы. Ещё к плюсам можно отнести модульность и поддержку многих XEP.

И минусы: отсутствие GUI (для кого-то это не минус), для настройки под windows нужно поработать напильником. Настройка под windows сложнее аналогичной настройки под linux.



Первый подводный камень ожидает нас уже на этапе скачивания дистрибутива. Для windows можно скачать, как инсталлятор, так и просто архив с prosody. Дело в том, что все до единого bat-файлы содержат строчку



if exist Uninstall.exe set datastore=%APPDATA%\Prosody


Это значит, что если найден деинсталлятор, то все данные сервера будут храниться в %APPDATA% запустившего сервер пользователя. Это не то, что нам нужно, поэтому, для того, чтобы хранить данные там же, где хранится всё остальное, нужно либо использовать дистрибутив с архивом вместо инсталлятора, либо переименовать после инсталляции файл uninstall.exe, например, в uninstall.exe.bk. Скачиваем и устанавливаем необходимый дистрибутив.



Второй подводный камень — prosody под windows не имеет службы. Будем считать, что вас не устраивает каждый раз для запуска prosody логиниться под пользователя и запускать bat-файл prosody.bat. Для создания службы prosody я предлагаю использовать утилиту srvany, входящую в Windows Server 2003 Resource Kit Tools. Даже если ОС на вашем сервере будет отличаться от server 2003, srvany должна нам помочь.




  • Устанавливаем resource kit, соглашаемся с предупреждениями о несовместимости с ОС, если они будут.

  • Открываем командную строку cmd от имени администратора, выполняем следующее (вставьте свой путь к srvany):

    instsrv.exe Prosody "C:\Program Files (x86)\Windows Resource Kits\Tools\srvany.exe"

  • Открывaем regedit, идём в "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Prosody"

  • Создаём раздел "Parameters".

  • В разделе "Parameters" создаём строковый параметр "Application" со значением "C:\Program Files (x86)\Prosody\prosody.bat" (подставьте свой путь).



Служба создана, можно выставить ей тип запуска "автоматически". Внимание! Остановить созданную таким образом службу нельзя, для остановки завершите процессы srvany и lua. До тех пор, пока не сделаны все настройки, службу запускать не надо.



Настроим prosody. Для этого запустим bat-файл editconfig.bat. Все опции документированы, я не буду описывать всю настройку досконально. Документация по модулям может быть найдена на официальном сайте.



Рекомендуется использовать tls для шифрования сессий. Есть несколько вариантов настройки tls:


  • Можно получить бесплатный сертификат на год у StartCom. Если вы планируете открыть доступ к jabber-серверу из интернета.

  • Можно использовать самоподписанный сертификат. При первоначальном подключении к такому серверу все клиенты, обычно, выдают множественные предупреждения.

    Генерация самоподписанного сертификата
    Использовать prosodyctl для генерации сертификата в windows мы не можем, т.к. эта утилита не портирована. Необходимо


    • скачать openssl для windows

    • Указать конфигурационный файл openssl.cnf из поставки prosody (лежит в папке cert). Для этого необходимо открыть командную строку и выполнить следующее (указав свой путь):

      set OPENSSL_CONF=C:\Program Files (x86)\Prosody\certs\openssl.cnf

    • Перейти в директорию с распаковынным openssl и сгенерировать сертификаты:

      openssl req -new -x509 -days 1825 -nodes -out "prosody.crt" -newkey rsa:2048 -keyout "prosody.key"


  • Можно просто отключить модуль tls (хоть он и помечен, как generally required) или не указывать путь к сертификатам в конфигурационном файле. Это подойдёт для небольшого корпоративного офиса.



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



modules_enabled = {
-- Other modules
"groups"; -- Enable mod_groups
}
groups_file = "groups.txt"


Создадим groups.txt в поддиректории data. Если вы планируете использовать кириллицу, то правьте файл с помощью notepad++ или любого другого продвинутого текстового редактора в режиме UTF-8. Следующий пример файла взят из официальной документации:



    [Support Team]
support@example.com
john.doe@example.com

[Development Team]
hardworkingdeveloper@example.net=Joe Coder
other.dev@example.com=Mel


Здесь есть один нюанс. Пользователи каждой группы видят только тех, кто входит в эту же группу. О других случаях официальная документация молчит. Взглянув на исходный код модуля видно, что если поставить + перед названием группы, то она становится общей — эту группу видят все.



    [+Support Team]
support@example.com
john.doe@example.com

[+Development Team]
hardworkingdeveloper@example.net=Joe Coder
other.dev@example.com=Mel


Добавлять в группу можно даже несуществующих на данный момент пользователей.


Во время конфигурации можно запускать prosody из стартового скрипта prosody.bat для проверки результата. Запускайте скрипт от администратора во избежание проблем. После окончательной настройки запустите созданную ранее службу prosody. Управлять prosody на ходу можно, используя модули admin_adhoc и admin_telnet.

Original source: habrahabr.ru (comments, light).

http://habrahabr.ru/post/203202/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Пятый ежегодный новый год за компьютером

Среда, 31 Декабря 2014 г. 19:21 (ссылка)


IM*
С наступающим и кое-где наступившим!



Продолжаем славную традицию встреч нового года у компьютера.

Основная Jabber-конференция

habr2015@conference.leechcraft.org



Сервер: conference.leechcraft.org

Комната: habr2015





Резервная (лимит до 100):

habr2015@conference.jabber.ru



Сервер: conference.jabber.ru

Комната: habr2015





Просьба указывать часовой пояс в нике (Nickname[+3])



История:

2010 год — habrahabr.ru/post/111026/

2011 год — habrahabr.ru/post/135567/

2012 год — habrahabr.ru/post/164453/

2013 год — habrahabr.ru/post/207948/



Скрытый текст
image



Original source: habrahabr.ru (comments, light).

http://habrahabr.ru/post/247197/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<jabber - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda