Я думаю, не нужно объяснять, зачем человеку может понадобиться надежный и защищенный канал связи. Да, ты можешь шифровать сообщения и слать по обычной почте, но уже сам факт отправки кое-что да значит. К тому же почта не всегда удобна, в наш век все привыкли пользоваться мессенджерами.

Выбор приватных мессенджеров велик, но о безопасности некоторых из них говорить не приходится. Сразу отсекаем WhatsApp, Viber, Skype и социальные сети. Чем они это заслужили? Наверное, лучшим ответом будет твит создателя Telegram Павла Дурова.

Почему Telegram частично или целиком запрещен в странах вроде Китая, Саудовской Аравии или Ирана, а WhatsApp — нет
Почему Telegram частично или целиком запрещен в странах вроде Китая, Саудовской Аравии или Ирана, а WhatsApp — нет

Остается вот такой список наиболее известных мессенджеров, которые считаются надежными:

  • Telegram;
  • Signal;
  • Threema;
  • Wickr.

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

Давай прикинем, какие критерии должны соблюдаться мессенджером, чтобы он был действительно анонимным. У меня вышел вот такой список.

  1. Не требует ввода номера телефона.
  2. Не требует никаких личных данных.
  3. Нельзя пренебрегать шифрованием и общаться в незащищенных чатах.
  4. Должны быть хоть какие-то подтверждения приватности. Хотя бы в виде блокировок в разных странах.

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

 

Пара слов о приватности

Под словом «приватность» обычно подразумевают две довольно разные по своей сути вещи. Первая — защита твоих данных от мониторинга государством и извлечения из них выгоды корпорациями. Вторая — защищенность от целенаправленной прослушки третьими лицами (к примеру, ради шантажа или промышленного шпионажа). Для нас важны оба этих аспекта, но нужно понимать, что во втором случае абсолютных гарантий не бывает. Можно предвидеть технические способы деанона (к примеру, от MitM защитит любой мессенджер с шифрованием), но существуют и другие. Опытный специалист постарается использовать для поиска любую выданную тобой крупицу информации, не говоря уже про методы социальной инженерии.

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

 

Шаг 1. Качаем софт

Для начала нам необходимо скачать сам клиент. Я для примера возьму Pidgin — он кросс-платформенный и прост в настройке.

Также нам необходим плагин OTR (Off-the-Record Messaging), который обеспечивает шифрование. Инсталлятор для виндовой версии Pidgin или исходники для сборки в Linux можешь скачать с сайта проекта.

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

 

Шаг 2. Пробрасываем трафик через Tor

Если у тебя установлен Tor Browser, то настроить проброс трафика можешь прямо из окна регистрации во вкладке «Прокси».

После запуска Tor Browser и нашего клиента Jabber нужно открыть вкладку «Средства» и выбрать там пункт «Настройки», а в настройках открыть пункт «Прокси». Ставь галочку в чекбоксе «Использовать удаленный DNS с прокси SOCKS4», а в пункте «Тип прокси» выбирай «Tor/Конфиденциальность (SOCKS5)»

В пункте «Узел» указывай 127.0.0.1 и выбирай порт 9150. Это стандартный порт Tor, хотя иногда встречается вариация 9050.


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


Теперь трафик Pidgin идет через Tor, и мы можем приступать к регистрации. Для начала нам необходимо определиться с сервером, на котором мы хотим завести учетку. Конечно, можно развернуть свой сервер, но тогда сохранить анонимность станет еще сложнее.

 

Шаг 3. Выбираем сервер

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


При выборе сервера в первую очередь стоит смотреть, в какой стране он находится. ЕС, США и страна, в которой ты живешь, — это заведомо неудачный вариант. Идеально, если сервер находится там, где законодательно запрещено собирать логи. Вот небольшой список серверов, которым доверяют многие хакеры, как в СНГ, так и за рубежом. Но обрати внимание, что некоторые из серверов находятся в США.

Сервер Страна Примечания Логи Onion-зеркало
securejabber.me Германия Могут заблокировать аккаунт по требованию немецких властей Нет giyvshdnojeivkom.onion
jabber.calyxinstitute.org Нидерланды Нет ijeeynrc6x2uy5ob.onion
sj.ms Швейцария Нет Нет
swissjabber.ch Швейцария Нет Нет
xmpp.jp Япония Нет Нет
wallstreetjabber.biz США Бывший securetalks.biz Нет wsjabberhzuots2e.onion
thesecure.biz Сингапур Нет Нет
exploit.im Франция Нет Нет
fuckav.in Франция Есть фильтр кириллических символов Нет Нет
jabber.otr.im Канада Сервер от создателей OTR Нет 5rgdtlawqkcplz75.onion
jabber.ccc.de Австрия Нет okj7xc6j2szr2y75.onion
xmpp.rows.io США Нет yz6yiv2hxyagvwy6.onion
jabber.cryptoparty.is Румыния Нет cryjabkbdljzohnp.onion
neko.im Нидерланды Ранее базировались в Норвегии Нет Нет
riseup.net США Нет 4cjw6cwpeaeppfqz.onion

 

Мелочи имеют значение

Возьмем для примера выбор никнейма. Казалось бы, элементарный пункт, но многие палятся именно на нем. Ты можешь не помнить, что уже использовал его где-то еще, а вот Google помнит все.

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

 

Шаг 4. Регистрируемся на сервере

Определившись с логином и паролем, можешь приступать к регистрации на сервере. Открывай клиент и выбирай вкладку «Учетные записи», а в ней пункт «Управление учетными записями» (или просто нажми Ctrl + A).


В появившемся окне жми «Добавить», откроется окно регистрации и авторизации.


Тут нам необходимо сделать следующее:

  1. Выбрать из выпадающего списка протокол XMPP.
  2. Ввести желаемое имя пользователя.
  3. Ввести домен сервера, на котором ты собираешься завести учетную запись.
  4. Ресурс можно пропустить, так как на регистрацию он не влияет (по сути, это просто указание того, к какому девайсу привязан данный вход на сервер, — в ростере у твоих собеседников будет написано, с какого ресурса ты зашел).
  5. Ввести желаемый пароль.
  6. Поставить (или не поставить) галочку для запоминания пароля (рекомендую не ставить ее и не хранить пароль нигде, кроме своей головы, — ведь если кто-то получит доступ к твоему компьютеру, то пароль будет уже введен).
  7. Обязательно поставить галочку в чекбоксе «Создать новую учетную запись на сервере» (если, конечно, ты уже не регистрировался раньше).

После ввода всех данных может появиться отдельное окно для регистрации пользователя. Придется все ввести еще разок и нажать ОK.


 

Шаг 5. Включаем OTR

Учетка готова, и можно приступать к настройке шифрования. Я рекомендую один из двух вариантов: PGP или OTR. Здесь я для примера возьму OTR — он обеспечивает высокий уровень безопасности и легко настраивается. Однако при его использовании не шифруются сообщения в логах — так что для полной надежности их лучше отключать. А вот на сервере картинка выходит примерно следующая.


Поскольку плагин мы уже скачали и установили, его можно активировать из клиента. Открываем Pidgin, жмем «Средства» и выбираем пункт «Модули».


Активируем плагин Off-the-Record (OTR).


Далее нам необходимо настроить этот модуль. Для этого в самом низу списка модулей нажимаем «Настроить модуль».


В окне настройки модуля нам первым делом надо сгенерировать ключ для своего аккаунта. Выбираем аккаунт, для которого нужно создать ключ, и жмем «Создать». Появится окно генерации ключа.


Ключи создаются быстро, однако на этом шаге иногда происходит небольшое подвисание. Не пугайся! Pidgin не завис, он просто немного занят. Когда работа закончится, жми Ok и увидишь свой «отпечаток» из сорока символов (пять групп по восемь знаков).


Теперь отмечай галочками следующие пункты:

  • «Использовать защищенные разговоры»;
  • «Автоматически начинать защищенный разговор»;
  • «Требовать защиту разговора»;
  • «Не записывать разговоры через OTR в журнал».

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

Ну и последняя галочка — это Show Otr button in toolbar. Она просто добавляет в интерфейс кнопку защиты чата и аутентификации собеседника.


 

Шаг 6. Аутентифицируем собеседника и защищаем чат

По сути, защищенный канал связи у тебя уже есть. Для добавления собеседника нужно нажать «Собеседники» и выбрать «Добавить собеседника».


Выбираем собеседника.


И жмем «Добавить».

Теперь собеседнику придет запрос, и, когда он его подтвердит, можете начинать чат. Статус защищенности можно посмотреть прямо в окне чата. Если шифрование не включено, то там так и будет написано: «Не защищено». Нажав на него, ты увидишь меню.


Если же начать защищенный разговор, то надпись сменится на «Не идентиф.» — это значит, что чат защищен, но нужно аутентифицировать собеседника, чтобы быть уверенным, что он именно тот, за кого себя выдает.

Аутентифицировать собеседника можно тремя способами.

  1. Вопрос и ответ на него. Ты задаешь вопрос собеседнику, а он должен дать правильный ответ.


  2. Общий секрет.


  3. Ручная сверка ключа. Это вариант на тот случай, если ключ нужно передать не через Jabber, а каким-то иным способом.


После того как собеседник будет аутентифицирован, на кнопке наконец появится зеленая надпись «Защищено».

 

Шаг 7. Настраиваем мобильный клиент

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

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


Далее выбирай XMPP.


И вводи свои данные.


Если хочешь завести новый аккаунт, то нажимай «Создать новую учетную запись» и заполняй все данные. Большой плюс ChatSecure заключается в том, что он умеет пускать трафик через Tor без дополнительных ухищрений.


В ChatSecure заложен и список приватных серверов — выбирай, какой нравится, или, если уже выбрал раньше, вводи адрес в поле Custom в самом низу.


В конце тебе предложат сохранить сертификат. Сохраняй и дождись, пока закончится регистрация.


Теперь достаточно нажать на значок нового сообщения и в появившемся меню нажать «Добавить контакт».


Вводи адрес контакта.


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

 

U’r awesome and private 🙂

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

7 комментариев

Подпишитесь на ][, чтобы участвовать в обсуждении

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

Check Also

Конкурс хаков: пишем на PowerShell скрипт, который уведомляет о днях рождения пользователей Active Directory

В компаниях часто встречается задача уведомлять сотрудников о приближающихся днях рождения…