Настройка pidgin через тор
Связка из протоколов XMPP и OTR позволяет реализовать достаточно современное и надёжное шифрование переписки, а главное — она универсальна, так как есть множество совместимых клиентов для различных ОС. В этом материале мы рассмотрим пошаговую настройку мессенджеров ChatSecure для смартфонов и Pidgin для Windows-десктопа
Вообще-то говорить о защищённости мессенджеров в отрыве от защищённости других компонентов системы несколько странно. Нет-нет, мы все же попробуем дать практические советы и инструкции для не слишком опытных пользователей, однако для начала придётся рассказать о других важных аспектах. И первый из них очень прост — мессенджер не существует сам по себе, он всегда работает в окружении ОС и других программ, которые могут оказаться не слишком надёжными и безопасными. Какой толк от защищённого мессенджера, если ваша модная клавиатура с пони и гифками на смартфоне сразу отправляет всё набранное прямо на сервера производителя? С другой стороны, и сами приложения могут сохранять на устройстве свои данные, порой в не слишком защищённом виде.
Про различные зловреды для любых ОС или уязвимости даже говорить не будем — один Quadrooter чего стоит. Ну или истории с предустановкой в прошивку аппаратов именитых производителей программ-шпионов, якобы нужных для сбора статистики. А ведь есть ещё более экзотические методы удалённого сбора информации! Впрочем, паранойей от этого обзаводиться не стоит, надо всего лишь не забывать, что уязвимости есть всегда и везде. Кроме того, нужно понимать, что, какой бы прекрасной ни была архитектура приложения в теории, на практике реализовывать её будут живые люди, которым свойственно ошибаться. И даже открытость кода не является достаточным условием для того, чтобы все ошибки такого рода быстро нашли и исправили.
Второй важный аспект — это то, что любой мессенджер для работы требует сетевого подключения. Очевидно, что нас интересует интернет-соединение, а это автоматически означает прохождение трафика через неконтролируемые пользователем каналы. Даже если он зашифрован, это ещё не означает, что его нельзя будет расшифровать потом. Собственно говоря, для подобных задач и предназначены системы вроде СОРМ, а также различные законы. И это третий аспект. В некоторых странах в принципе запрещено использовать стойкое шифрование, в других же пользователь по первому требованию властей обязан предоставить ключи для расшифровки. К слову, на территории Таможенного союза, куда входит Россия, на этот счёт тоже есть правила.
Наконец, последнее важное замечание — всегда придётся искать баланс между удобством пользования и защищённостью. Ранее мы рассказывали про создание сетей P2P-VPN, однако они подойдут лишь опытным пользователям, которые наверняка обойдутся и без наших советов. Вариант попроще — сети F2F или другие пиринговые сети вроде TOR или I2P, в которых есть собственные сервисы для общения (заметьте, именно внутри сетей, а не для проксирования других сервисов). Но это опять-таки не слишком просто для обычного пользователя. К счастью, EFF уже давно подготовила инструкции по настройкам безопасности различных мессенджеров. С учётом вышесказанного из этой таблицы были отобраны два решения, совместимых друг с другом: для мобильных устройств и для десктопов. Оба они сводятся к использованию протоколов Off-the-Record Messaging (OTR) и XMPP.
Настроить его совсем нетрудно. Для работы ChatSecure в Android потребуется сканер штрих-кодов — приложение само предложит его установить. Кроме того, ChatSecure поддерживает интеграцию с TOR-клиентом Orbot. При первом запуске предлагается задать мастер-пароль, который надо будет вводить при каждом открытии приложения. Лучше от него не отказываться и задать надёжную кодовую фразу. Далее мессенджер предложит добавить новый аккаунт.
На Android проще всего воспользоваться учётной записью Google Talk/Hangouts, но для пущей безопасности можно прямо в приложении завести отдельный аккаунт на любом из общедоступных Jabber-серверов (для простоты ChatSecure и сам предлагает штук пять на выбор). Для надёжности лучше заводить всем участникам аккаунты на одном и том же сервере. Также рекомендуется в настройках программы включить автоматическое удаление незащищённых медиафайлов (Delete Insecure Media), а в настройках аккаунта включить обязательные безопасное TLS-подключение и принудительное шифрование переписки (Chat Encryption, Always Require). Для некоторых серверов там же требуется включить обработку SRV-записи. Чтобы зайти в настройки аккаунта, надо кликнуть по его названию в меню слева.
После взаимного добавления контактов рекомендуется также придумать секретный вопрос и ответ на него, чтобы в случае чего удалённо проверить подлинность собеседника. Затем в списке контактов нужно кликнуть по необходимому и в открывшемся окне чата посмотреть на значок замочка в правом верхнем углу. Если у этого значка стоит красный крестик, а не зелёная галочка, то надо кликнуть по нему и включить шифрование (Start Encryption). Через некоторое время, если у обоих собеседников правильные настройки и приложение активно, будет установлен защищённый обмен данными. Даже если в настройках включено принудительное шифрование переписки, стоит дождаться установки защищённого чата.
Обратите внимание, что для корректной работы в настройках Google придётся включить доступ для непроверенных приложений, хотя надёжнее всё-таки использовать двухэтапную аутентификацию и сгенерировать для Pidgin отдельный пароль. В дополнительных настройках аккаунта рекомендуется использовать принудительное шифрование для подключения к серверу и запретить аутентификацию открытым текстом через нешифрованные соединения. Затем в списке модулей (Ctrl+U) необходимо включить плагин OTR, а в настройках плагина для нужного аккаунта сгенерировать новый ключ (отпечаток). Желательно включить принудительное использование OTR и, если хочется, отключить запись логов переписки.
Как в случае ChatSecure, для защищённого разговора необходимо, чтобы у собеседника имелись свой Jabber-аккаунт и клиент с поддержкой OTR, а сам он должен быть онлайн. Для включения шифрования в окне переписки в меню OTR надо выбрать соответствующий пункт. Через несколько мгновений шифрование будет активировано, на что будет указывать статус в самом окне чате и в области справа и ниже чата. Дополнительно аутентифицировать собеседника можно с помощью всё того же меню OTR. Если собеседник использует ChatSecure, то для него подойдёт вариант проверки подлинности с помощью секретных вопроса и ответа. Ещё раз напомним, что проверять наличие шифрования необходимо при каждой новой беседе.
Как видите, защита переписки в мессенджере — это не такая уж сложная задача. Для остальных ОС и клиентов инструкции по настройке OTR можно найти на сайте EFF, а вот к советам по использованию других разрекламированных защищённых мессенджеров надо подходить с осторожностью. Естественно, что стопроцентной защиты не гарантируют ни они, ни приведённая выше инструкция. Для тех, кому эта тема интересна, можно посоветовать материалы про шифрование накопителей, отключение телеметрии в Windows, безопасность мобильных устройств и тонкости работы VPN. Впрочем, лучшая защита во всём — это здравый смысл и осторожность. Искренне надеемся, что все наши советы будут использованы читателями исключительно в благих целях.
Если ты считаешь, что Tor - это исключительно средство для обеспечения
приватности в сети, то ты неправ дважды. Во-первых, его распределенную сеть
можно использовать в разных целях. А, во-вторых, не так уж безопасен черт, как
его малюют. Увы.
Замечательный инструмент для обеспечения анонимности и сохранности данных в
сети хорош по многим причинам. Сразу остаются не у дел любые сниферы, в том
числе установленные и на интернет-маршрутизаторах, потому как весь трафик
передается через цепочку узлов исключительно в зашифрованном виде. Крайне
затруднительно или, если полностью поверить разработчикам, то даже невозможно
становится отследить источник отправки данных благодаря постоянно меняющимся
цепочкам специальных узлов-посредников, через которые передаются данные. Кто не
пробовал использовать Tor, чтобы банально сменить свой IP? Минус на первый
взгляд один - скорость работы. Каждый из нодов, входящих в цепочку, вносит
серьезную задержку, как по времени отклика, так и банально по ширине канала. В
результате получаем анонимное соединение. Анонимное и модемное :). Но диалапный
коннект - это не самая главная проблема активных пользователей Tor. Гораздо
сильнее их должно волновать, что любые данные можно перехватить и, черт подери,
сделать это просто!
Шаг 5. Включаем OTR
Поскольку плагин мы уже скачали и установили, его можно активировать из клиента. Открываем Pidgin, жмем «Средства» и выбираем пункт «Модули».
Активируем плагин Off-the-Record (OTR).
Далее нам необходимо настроить этот модуль. Для этого в самом низу списка модулей нажимаем «Настроить модуль».
В окне настройки модуля нам первым делом надо сгенерировать ключ для своего аккаунта. Выбираем аккаунт, для которого нужно создать ключ, и жмем «Создать». Появится окно генерации ключа.
Ключи создаются быстро, однако на этом шаге иногда происходит небольшое подвисание. Не пугайся! Pidgin не завис, он просто немного занят. Когда работа закончится, жми Ok и увидишь свой «отпечаток» из сорока символов (пять групп по восемь знаков).
Теперь отмечай галочками следующие пункты:
- «Использовать защищенные разговоры»;
- «Автоматически начинать защищенный разговор»;
- «Требовать защиту разговора»;
- «Не записывать разговоры через OTR в журнал».
Ведение журнала — дело исключительно добровольное. Если он пригодится, то включай, если нет, то помни, что его сможет прочитать любой, кому удастся получить доступ к твоему компьютеру — удаленный или совершенно непосредственный.
Ну и последняя галочка — это Show Otr button in toolbar. Она просто добавляет в интерфейс кнопку защиты чата и аутентификации собеседника.
Прокачиваем скорость
$ bootstrap.sh --libdir=/usr/lib --includedir=/usr/include
$ ./bjam --prefix=/usr
$ ./bjam install
После этого, заголовочные файлы должны оказаться в /usr/include/boost, а
библиотеки в /usr/lib. Теперь надо вручную создать символическую ссылку на
библиотеку libboost_system.so.1.40.0 (может кому и не понадобится, но у меня она
при установке автоматически не создалась):
$ ln -s /usr/lib/libboost_system.so.1.40.0 /usr/lib/libboost_system-mt.so
После этого можно компилировать и устанавливать tortunnel. Запускаем torproxy
- она выдает: torproxy . Теперь нужно выбрать подходящий exit
node. Для это идем сюда
http://128.31.0.34:9031/tor/status/all или сюда
http://moria.seul.org:9032/tor/status/authority и ищем узел с описанием "Exit,
Fast, Stable, Valid". Так обозначаются надежные и быстрые ноды - именно такие
нам и нужны. Далее копируем айпишик и выполняем: "./torproxy [ExitNodeIP]"
Теперь, для того чтобы все заработало, нужно через конфиг указать proxychains
использовать socks5. Итак, комментируем строку Socks4 127.0.0.1 9050
в /etc/proxychains.conf и добавляем socks5 127.0.0.1 5060 (5060 –
порт, который будет слушать tortunnel).
После этого можно запустить и Nmap:
@proxychains nmap -sT -p 80,443,21,23 92.241.175.142
Как ты видишь, скорость сканирования увеличилась (если нет – попробуй другой
нод). Теперь можно даже просканировать свою собственную машину. В довершении
научим Privoxy работать через tortunnel. Тем самым мы снизим уровень анонимности
(одна промежуточная нода вместо трех), но получим более шустрый серфинг. Заходим
в файл конфигурации и добавляем строчку:
Теперь открываем лиса и настраиваем http-proxy на 127.0.0.1:8118. После этого
идем на
http://torcheck.xenobite.eu/index.php проверять, действительно ли мы серфим
через Tor, если все ок - то отобразится страница с надписью "Your IP is
identified to be a Tor-EXIT.". Вот и все, теперь можно провести и ручной аудит
удаленной системы.
Пара слов о приватности
Под словом «приватность» обычно подразумевают две довольно разные по своей сути вещи. Первая — защита твоих данных от мониторинга государством и извлечения из них выгоды корпорациями. Вторая — защищенность от целенаправленной прослушки третьими лицами (к примеру, ради шантажа или промышленного шпионажа). Для нас важны оба этих аспекта, но нужно понимать, что во втором случае абсолютных гарантий не бывает. Можно предвидеть технические способы деанона (к примеру, от MitM защитит любой мессенджер с шифрованием), но существуют и другие. Опытный специалист постарается использовать для поиска любую выданную тобой крупицу информации, не говоря уже про методы социальной инженерии.
Но чтобы Jabber стал по-настоящему безопасным, его нужно правильно настроить, чем мы сейчас и займемся. Я для наглядности разделил этот процесс на несколько шагов.
U’r awesome and private 🙂
Поздравляю, теперь ты знаешь, как настроить канал связи, который будет неплохо защищен от отслеживания и перехвата! Однако, чтобы достичь приватности наивысшего уровня, придется пойти дальше — все же заморочиться и развернуть собственный сервер, а также заменить OTR на PGP. Но об этом как-нибудь в другой раз.
2. Затем нужно скачать Tor-браузер.
https://www.torproject.org/dist/torbrowser/4.0.4/torbrowser-install-4.0.4_ru.exe - прямая ссылка на скачивание Tor-браузера для операционной системы Windows.
Для использования следует запустить скачанный файл, распаковать его в любую удобную директорию и запустить файл "start-tor-browser". В появившемся окне нажать "Соединиться напрямую".
3. К этому этапу следует приступать, когда Pidgin + OTR установлены, а Tor-браузер скачан. Так же следует запустить Tor-браузер.
3.1. Запусить Pidgin.
3.2. Открыть "Средства" => "Настройки".
Там выбирать вкладку "Прокси".
Заполнить поля в соответствии со скриншотом.
Нажать "Закрыть".
Трафик месседжера Pidgin будет идти через Tor сеть.
3.3. Добавить свою учетную запись Jabber в месседжер Pidgin.
Нажать "Уч.записи" => Выбрать "Управлять учетными записями".
Нажать "Добавить".
Заполнить указанные в скриншоте поля в соответствии со своими данными. В примере указан джаббер аккаунт [email protected] , вам следует указать свои данные. Пустые поля заполнять не следует.
После того, как указанные поля заполнены в соответствии со скриншотом, следует нажать "Добавить".
P.S. Если у вас еще нет джаббер аккаунта, но вы хотите его зарегистрировать, то вам следует поставить галку на самую нижнюю строку: "Создать эту [. ] на сервере".
Теперь в месседжере Pidgin есть учетная запись, к которой он будет подключаться.
3.4. Осталось включить в настройках OTR плагин и сгенерировать ключи для шифрования переписки.
Нажать "Средства" => выбрать "Модули" => отметить галкой модуль "Off-the-Record (OTR)"
Теперь нужно на отмеченном модуле (плагине) нажать внизу на "Настроить модуль".
В пункте "Ключ для аккаунта" выбрать свой добававленный аккаунт (пункт 3.3) и нажать "Создать".
Создание ключа требует времени, а сам месседжер Pidgin может выглядеть так, будто он завис. Советую проявить терпение и оставить компьютер и Pidgin в покое до завершения процесса.
Как только ключ будет создан, появится уведомление.
С такими настройками Pidgin будет работать только при включенном Tor-браузере.
P.S. Если нужно использовать ICQ, то следуйте этому скриншоту:
ICQ так же будет работать через Tor.
В Pidgin можно добавить одновременно не ограниченное количество учетных записей XMPP и/или ICQ.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Использование Jabber (XMPP) и плагина для шифрования OTR с помощью клиента Pidgin
Что такое, для чего и альтернатива чему
Мы рассмотрим свободный клиент Pidgin для использования Jabber вместе с плагином OTR.
Debian и основанные на нем (Ubuntu, Linux Mint)
В данных системах Pidgin может быть уже установлен. Если приложение не установлено, открываем Terminal и устанавливаем его с помощью команды:
Запускаем программу установки приложения pidgin-2.10.9.exe (версия программы может быть более поздней). Выбираем язык.
В следующих окнах жмем "Далее" и переходим в окно выбора компонентов устанавливаемой программы. Здесь в случае необходимости можно добавить нужный язык в компоненте "Поддержка проверки орфографии".
Выбираем папку установки.
Нажимаем "Установить" и ждем завершения процесса установки.
Где создать аккаунт
Либертарные технические коллективы
Мы рекомендуем пользоваться сервисами, которые предоставляют либертарные технические коллективы. Они заботятся о безопасности предоставляемых сервисов, не связаны с государством и коммерческими структурами, а также имеют определенную репутацию и доверие среди множества активистов со всего мира.
Ниже приведена таблица коллективов, предоставляющих jabber-аккаунт, с указанием доменов для выбора и описанием как создать аккаунт.
Публичные серверы XMPP
Создание и использование аккаунта
При первом запуске Pidgin мы увидим окно приветствия.
Жмем "Добавить. " и переходим в окно добавления учетной записи.
На вкладке "Основные" заполняем поля следующим образом:
- Протокол: XMPP
- Имя пользователя: уникальное имя пользователя вашего аккаунта (до символа @); мы напоминаем, что оно не должно содержать ваших реальных данных (имя, фамилия, дата рождения и т.д.)
- Домен: название домена сервера XMPP (см. Публичные серверы XMPP или таблицу с информацией о вариантах доменов различных либертарных технических коллективов)
- Ресурс: необязательное поле; в случае использования jabber-аккаунта в различных местах или с помощью различных устройств, можно указать в этом поле к примеру work , home , android и т.д.
- Пароль / Запомнить пароль: пароль от вашего аккаунта; мы рекомендуем не вводить здесь пароль и не указывать, чтобы клиент его запоминал, т.к. если злоумышленник получит доступ к вашей системе, то он не сможет автоматически зайти под вашим jabber-аккаунтом
При создании нового аккаунта с помощью самого клиента (напр., в случае dukgo.com или draugr.de), нужно выбрать "Создать эту новую учетную запись на сервере".
Заполнение остальных параметров пользователя остается на ваше усмотрение.
Перейдя на вкладку "Дополнительно" приступим в настройке параметров безопасности:
Использование поля "Соединяться с сервером", а также настройки вкладки "Прокси" будут рассмотрены чуть позже в разделе Анонимизация через TOR. А пока жмем на кнопку "Добавить".
Если аккаунт был создан с помощью клиента, то должно появиться окно для регистрации новой учетной записи, в котором нужно указать имя пользователя и пароль для вашего аккаунта и нажать "Зарегистрировать".
В случае успешной регистрации появится подтверждение.
Если регистрацию выполнить не удалось, то появится уведомление с пояснением причины: напр., имя пользователя может быть уже занято (конфликт имен) или сервер в данный момент может быть перегружен.
Чтобы начать пользоваться новым аккаунтом, в появившемся окне учетных записей выбираем аккаунт, вводим пароль и жмем "OK".
Теперь, когда статус аккаунта изменился на "Доступен", можно добавить собеседника или чат в список собеседников, сгруппировать их (добавить группу) или сказать вашим собеседникам, чтобы добавили вас. Можно указать, чтобы в списке отображались собеседники не в сети, пустые группы и прочее.
Установка плагина OTR для Pidgin
Debian и основанные на нем (Ubuntu, Linux Mint)
Вводим в Terminal'е следующую команду:
Скачиваем плагин OTR с сайта разработчиков (на данный момент это файл pidgin-otr-4.0.0-1.exe).
Процесс установки предельно простой, просто проходимся по всем шагам установки и жмем "Далее".
Настройка плагина OTR
Чтобы активизировать плагин OTR проходим в меню "Средства -> Модули", выбираем "Off-the-Record (OTR)" и нажимаем "Настроить модуль".
В настройках модуля нажимаем "Создать" в блоке "Мои закрытые ключи". После этого будет сгенерирован криптографический ключ для безопасного общения. Создание закрытого ключа может занять продолжительное время в зависимости от ресурсов вашего компьютера, поэтому не спешите закрывать Pidgin даже если вам показалось, что он завис.
Чтобы подтвердить личность собеседника выбираем в меню окна "OTR -> Аутентифицированный контакт". Существует 3 способа подтвердить личность собеседника:
- Вопрос и ответ
Вы задаете вашему собеседнику такой вопрос, на который знаете ответ только вы и ваш собеседник. Только в случае ввода правильного ответа на ваш вопрос ваш собеседник подтвердит свою личность (однако это не означает, что вы подтвердите свою личность для вашего собеседника).
- Общий секрет
Вам и вашему собеседнику нужно ввести общий секретный ключ, известный только вам. В этом случае либо оба собеседника подтвердят личности друг друга, либо оба не подтвердят.
- Самостоятельная проверка отпечатка
Вы можете связаться с вашим собеседником по другому конфиденциальному каналу (напр., по почте с использованием GPG или предварительно при личной встрече) и сообщить ему свой отпечаток / полное имя вашего аккаунта. Если отпечаток / аккаунт совпадает, выберите "Я проверил(а)" и нажмите "Authenticate".
Когда личность вашего собеседника будет подтвеждена, статус изменится на "Защищено". Теперь вы точно знаете, что общаетесь не с самозванцем.
Отключение журналирования переписки
Несмотря на то, что вся переписка сейчас будет передаваться по сети в зашифрованном виде, в Pidgin по умолчанию включено журналирование вашей переписки со всеми собеседниками, т.е. она хранится на вашем компьютере в файлах журнала в незашифрованном виде. Получив доступ к вашему компьютеру, злоумышленник сможет ее прочесть. Мы настоятельно рекомендуем отключить ведение журналов вашей переписки в Pidgin. Для этого выбираем в меню "Средства -> Настройки", переходим на закладку "Журналы" и снимаем все галочки.
Начиная разговор с вашим собеседником, убедитесь также, что журнал для этого конкретного разговора не ведется (для этого в меню окна "Параметры -> Вести журнал" не должно быть галочки).
Проверить наличие журналов переписки (и при желании удалить их) можно в папке:
- C:\Users\\AppData\Roaming\ в Windows 7
- /home//.purple в Debian и основанных на нем
Протокол Jabber позволяет создавать чат-комнаты (конференции) для одновременного общения множества собеседников. Чтобы создать новый чат или присоединиться к уже существующему, нужно выбрать в меню "Собеседники -> Присоединиться к чату. ". В появившемся окне вводим название чата (поле "Комната"), сервер, где будет распологаться чат, ваш псевдоним в чате (поле "Имя") и пароль для входа в чат. Как правило, поле "Сервер" заполняется автоматически, но вы также можете выбрать любой севрер для чата, который предпочитаете. Ниже в качестве рекомендации приведен небольшой список серверов либертарных коллективов:
После нажатия на "Присоединиться" вы попадете в чат. Сообщите конфиденциально остальным собеседникам название комнаты, сервер и пароль, чтобы они тоже присоединились к беседе.
Помните, что переписка в чате плагином OTR не шифруется!
Чтобы обезопасить свое общение в чате:
- убедитесь, что каждый собеседник чата при настройке своего аккаунта установил значение поля "Безопасность соединения" в Требовать шифрование
- настройте анонимизацию через TOR
- пользуйтесь VPN
Анонимизация через TOR
Для анонимизации (т.е. сокрытия вашего реального IP-адреса) Tor должен быть включен все время работы Pidgin.
Запускаем Tor Browser, нажимаем на кнопку с луковицей, выбираем "Настройки" и смотрим параметры прокси.
Данные параметры прокси нужно ввести в настройках учетной записи на вкладке "Прокси" и перезайти в аккаунт.
- SOCKS хост: 127.0.0.1
- Тип прокси: SOCKS 5
- Порт: 9150
Скрытая служба от Riseup
Для аккаунтов, созданных на Riseup, доступно использование скрытой службы TOR. Для этого в настройках учетной записи на вкладке "Дополнительно" в поле "Соединяться с сервером" нужно прописать 4cjw6cwpeaeppfqz.onion , а на вкладке "Прокси" следующие значения и перезайти в аккаунт:
Скрытые сервисы - уникальная фишка Tor
Шаг 3. Выбираем сервер
Серверов существует огромное количество, владельцы многих из них заявляют, что не ведут логов. Но проверить это невозможно. Как будет выглядеть слитый лог, можешь полюбоваться на картинке.
При выборе сервера в первую очередь стоит смотреть, в какой стране он находится. ЕС, США и страна, в которой ты живешь, — это заведомо неудачный вариант. Идеально, если сервер находится там, где законодательно запрещено собирать логи. Вот небольшой список серверов, которым доверяют многие хакеры, как в СНГ, так и за рубежом. Но обрати внимание, что некоторые из серверов находятся в США.
Tor Scanner
Torscanner сканирует все выходные узлы, что занимает достаточно много
времени. Но я думаю, что ты сумеешь модифицировать программу таким образом,
чтобы она проверяла только определенный диапазон или один конкретный сервер и
уже их использовать в качестве выходных серверов (Tor'у можно явно указать какой
или какие выходные узлы использовать).
Где зарылась собака?
Итак, маршрут постоянно меняется, данные через промежуточные узлы проходят в
виде белиберды, т.е. в зашифрованном виде - где подвох? Он есть. Ведь, как
серьезно бы ни защищались данные, как изощренно не выбирался и запутывался
маршрут, где-то на выходе данные все равно нужно расшифровывать. Ведь только так
их можно доставить до места назначения. Эта операция осуществляется на последней
ноде в цепочке - так называемой выходной нодой (Exit Node). Если на таком узле
установить снифер, то данным ничего больше не останется, как прямиком попасть в
логи :).
Ты можешь подумать, что система такого положения дел не допускает и поднять
Tor для работы выходной ноды нельзя? Запросто! Вся система строится на большом
количестве энтузиастов, участвующих в проекте и предоставляющие свои домашние
компьютеры как ноды, и в том числе выходные. Несколько строчек кода в конфиге -
твой билет их ряды.
Анонимное сканирование
Перехватывать чужие логины и пароли мы научились. А вот задачка поинтересней.
Сталкивался ли ты c ситуацией, когда ты находишься во внутренней сети, а
посканировать интересующий тебя сервак нельзя, потому как это тут же привлечет
внимание IDS и соответственно админа. Или вот еще вариант: ты сканируешь
удаленный хост, а он распознает сканирование и блокирует твой айпишник.
Неприятные ситуации. Но и из них есть выход! Нам опять поможет Tor, который
можно использовать в качестве посредника для сканирования. Ведь, кто говорил,
что эта система можно использовать только для анонимного серфинга? 🙂
В чем преимущество такого сканирования? В нашем первом случае сканирование
сервера будет происходить из инета, а не из локальной сети. А во втором, даже
если нас заблокируют, мы всегда сможем пустить трафик через другой Tor-сервер,
благо их хватает. Итак, для наших экспериментов нам понадобится:
Устанавливаем, все, кроме tortunnel. Заходим в конфиг proxychains и, чтобы
пустить трафик через Tor, раскомментируем строчку:
Socks4 127.0.0.1 9050
Сохраняем и запускаем сканирование (адрес 92.241.175.142 - это IP xakep.ru):
" proxychains nmap -PN 92.241.175.142 ". На первый взгляд это кажется
быстрым и эффективным способом сканирования, но это не так. При дефолтном
SYN-сканировании пакеты через Tor не пойдут. Таким образом мы бы сканировали
сервер напрямую и, возможно, спалились бы. Хорошо - попробуем по-другому,
посмотрим, какие еще техники сканирования предлагает Nmap: "SCAN TECHNIQUES: -sS/sT/sA/sW/sM:
TCP SYN/Connect()/ACK/Window/Maimon scans".
Укажем Nmap использовать сканирование с полным соединением: " proxychains
nmap -sT -PN 92.241.175.142 "
Шаг 2. Пробрасываем трафик через Tor
Если у тебя установлен Tor Browser, то настроить проброс трафика можешь прямо из окна регистрации во вкладке «Прокси».
После запуска Tor Browser и нашего клиента Jabber нужно открыть вкладку «Средства» и выбрать там пункт «Настройки», а в настройках открыть пункт «Прокси». Ставь галочку в чекбоксе «Использовать удаленный DNS с прокси SOCKS4», а в пункте «Тип прокси» выбирай «Tor/Конфиденциальность (SOCKS5)»
В пункте «Узел» указывай 127.0.0.1 и выбирай порт 9150. Это стандартный порт Tor, хотя иногда встречается вариация 9050.
Как ты уже мог догадаться, Tor Browser должен быть запущен и слушать свой порт все время, пока ты будешь вести беседу. Включай его до запуска Pidgin — тогда тот не будет ругаться на отсутствие соединения с сервером.
Теперь трафик Pidgin идет через Tor, и мы можем приступать к регистрации. Для начала нам необходимо определиться с сервером, на котором мы хотим завести учетку. Конечно, можно развернуть свой сервер, но тогда сохранить анонимность станет еще сложнее.
Откуда берутся. ноды
Чтобы пустить трафик приложения через Tor, достаточно указать в настройках
прокси - адрес локального SOCKS-сервера. В случае, если такой возможности не
предусмотрено можно использовать соксофикатор (например, Sockcap), но помнить
при этом, что через сокс можно пустить только TCP-трафик. Впрочем, для
большинства пользователей намного более интересны будут готовые сборки (так
называемые Bundles), включающие сам Tor, а также преконфигурированные браузер
Firefox и IM-клиент Pidgin. Поставил и все работает! Кстати говоря, для большего
удобства для Firefox'а реализован плагин
Torbutton.
Щелкнул - и весь безопасно трафик уже передается через цепочку промежуточных
узлов. Что вообще представляют собой эти узлы и как в принципе устроен Tor?
Попробуем разобраться.
WARNING
Данная статья не является инструкцией или побуждением к действиям. Она
призвана лишь показать, что даже программы, создаваемые ради благих целей, могут
быть использованы во зло.
Выбор приватных мессенджеров велик, но о безопасности некоторых из них говорить не приходится. Сразу отсекаем WhatsApp, Viber, Skype и социальные сети. Чем они это заслужили? Наверное, лучшим ответом будет твит создателя Telegram Павла Дурова.
Почему Telegram частично или целиком запрещен в странах вроде Китая, Саудовской Аравии или Ирана, а WhatsApp — нет
Остается вот такой список наиболее известных мессенджеров, которые считаются надежными:
- Telegram;
- Signal;
- Threema;
- Wickr.
Есть еще и менее известные, но у всех них один общий минус — привязка к номеру телефона. Конечно, можно запариться и приобрести виртуальную симку, но делать неудобно, к тому же об анонимности платежа в таком случае тоже неплохо бы позаботиться.
Справочник анонима
Статьи из этого цикла публикуются бесплатно и доступны всем. Мы убеждены, что каждый имеет право на базовые знания о защите своих данных.
Другие статьи цикла:
Если для тебя эти материалы тривиальны — отлично! Но ты сделаешь доброе дело, отправив ссылку на них своим друзьям, знакомым и родственникам, менее подкованным в технических вопросах.
Давай прикинем, какие критерии должны соблюдаться мессенджером, чтобы он был действительно анонимным. У меня вышел вот такой список.
- Не требует ввода номера телефона.
- Не требует никаких личных данных.
- Нельзя пренебрегать шифрованием и общаться в незащищенных чатах.
- Должны быть хоть какие-то подтверждения приватности. Хотя бы в виде блокировок в разных странах.
Так как почти все новомодные мессенджеры не подходят по одному из пунктов, то лучшим вариантом для безопасного общения остается Jabber — известно, что даже специалисты АНБ используют его для переписки.
Шаг 1. Качаем софт
Для начала нам необходимо скачать сам клиент. Я для примера возьму Pidgin — он кросс-платформенный и прост в настройке.
Также нам необходим плагин OTR (Off-the-Record Messaging), который обеспечивает шифрование. Инсталлятор для виндовой версии Pidgin или исходники для сборки в Linux можешь скачать с сайта проекта.
При первом запуске Pidgin предложит войти под учетной записью, но мы пока что это отложим. Дело в том, что регистрация будет происходить с нашего реального IP-адреса, а нам хорошо бы позаботиться о том, чтобы IP оказался скрыт даже от владельцев сервиса (вдруг они решат радостно предоставить эту информацию любому, кто попросит!). Для этого можно использовать любой вид прокси, но мы для пущей надежности выберем Tor.
Жди подвох 🙂
Вывод может быть один - используя Tor будь осторожен. Да, система
обеспечивает неплохой уровень анонимности, но не может защитить твои данные от
перехвата. И пусть ты даже ты убедился, что на последнем узле не запущен
sslstrip, все равно никто не даст гарантии, что проходящие пакеты не дампятся
снифером. С другой стороны необязательно рассматривать Tor как исключительно
инструмент для анонимного серфинга в Сети. Несколько наших примеров - тому в
подтверждение.
Ловись-ловись, рыбка
Итак, выходная нода настроена, запущена, добавлена в базу - кто-нибудь
обязательно ею воспользуется уже в самое ближайшее время. Что ж, остается только
запустить любимый снифер Wireshark, выбрать Интерфейс, смотрящий во внешнюю сеть
и включить захват пакетов. А дальше нужно чуть подождать. В большинстве случаев
пакеты начинают сыпаться в логи уже очень скоро :))
$ python sslstrip.py -a -l 8080 -w today.log
$ iptables -t nat -I OUTPUT -p tcp -m owner -uid-owner 111 --dport 80 -j
DNAT --to-destination 127.0.0.1:8080
Мелочи имеют значение
Возьмем для примера выбор никнейма. Казалось бы, элементарный пункт, но многие палятся именно на нем. Ты можешь не помнить, что уже использовал его где-то еще, а вот Google помнит все.
Второй тонкий момент заключается в том, что хорошо бы не использовать никнеймы с символами, у которых есть кириллический аналог. Не на всех серверах настроены фильтры, которые запрещают такие трюки, так что у тебя в какой-то момент может появиться близнец, буквы имени которого не отличаются на вид, но имеют другие коды.
Специализированные ОС
Шаг 4. Регистрируемся на сервере
Определившись с логином и паролем, можешь приступать к регистрации на сервере. Открывай клиент и выбирай вкладку «Учетные записи», а в ней пункт «Управление учетными записями» (или просто нажми Ctrl + A).
В появившемся окне жми «Добавить», откроется окно регистрации и авторизации.
Тут нам необходимо сделать следующее:
- Выбрать из выпадающего списка протокол XMPP.
- Ввести желаемое имя пользователя.
- Ввести домен сервера, на котором ты собираешься завести учетную запись.
- Ресурс можно пропустить, так как на регистрацию он не влияет (по сути, это просто указание того, к какому девайсу привязан данный вход на сервер, — в ростере у твоих собеседников будет написано, с какого ресурса ты зашел).
- Ввести желаемый пароль.
- Поставить (или не поставить) галочку для запоминания пароля (рекомендую не ставить ее и не хранить пароль нигде, кроме своей головы, — ведь если кто-то получит доступ к твоему компьютеру, то пароль будет уже введен).
- Обязательно поставить галочку в чекбоксе «Создать новую учетную запись на сервере» (если, конечно, ты уже не регистрировался раньше).
После ввода всех данных может появиться отдельное окно для регистрации пользователя. Придется все ввести еще разок и нажать ОK.
Шаг 6. Аутентифицируем собеседника и защищаем чат
По сути, защищенный канал связи у тебя уже есть. Для добавления собеседника нужно нажать «Собеседники» и выбрать «Добавить собеседника».
И жмем «Добавить».
Теперь собеседнику придет запрос, и, когда он его подтвердит, можете начинать чат. Статус защищенности можно посмотреть прямо в окне чата. Если шифрование не включено, то там так и будет написано: «Не защищено». Нажав на него, ты увидишь меню.
Если же начать защищенный разговор, то надпись сменится на «Не идентиф.» — это значит, что чат защищен, но нужно аутентифицировать собеседника, чтобы быть уверенным, что он именно тот, за кого себя выдает.
Аутентифицировать собеседника можно тремя способами.
Вопрос и ответ на него. Ты задаешь вопрос собеседнику, а он должен дать правильный ответ.
Общий секрет.
Ручная сверка ключа. Это вариант на тот случай, если ключ нужно передать не через Jabber, а каким-то иным способом.
После того как собеседник будет аутентифицирован, на кнопке наконец появится зеленая надпись «Защищено».
Да здравствует Exit node!
Ну что ж, приступим. Для экспериментов нам понадобится любой никсовый
дистрибутив, пускай даже это будет
Backtrack,
запущенный с флешки, или Ubuntu на виртуальной машине - это совершенно не нужно.
Далее потребуется последняя версия Tor (на момент публикации - 0.2.1.19).
Любители GUI также могут скачать и установить Vidalia - мы же будем работать в
консоли. Итак скачиваем пакет, распаковываем и устанавливаем. Я думаю на этой
стадии никаких проблем быть не должно.
Для Tor'а важно, чтобы часы были установлены точно. В противном случае -
синхронизируем с публичными серверами времени. Забегая вперед скажу, что для
запуска Tor лучше создать отдельного пользователя - делается это командой
adduser. Я создал себе пользователя toruser: uid=111(toruser) gid=10(wheel)
groups=0(wheel),10(wheel). Теперь нужно создать файл конфигурации. Tor
использует для хранения своих данных папку .tor в домашней директории
пользователя (/home/toruser). Создаем папку .tor, создаем в ней файл torrc и
открываем его в текстовом редакторе.
Нас интересует несколько параметров :
ControlPort – на этом порту Tor будет принимать подключения для
управления Tor-сервером (т.е. можно подключиться удаленно для конфигурации Tor'а,
опция важна для тех, кто использует графические оболочки типа Vidalia или Tork).
Устанавливаем его в 9051.
DirPort – на этом порту Tor будет принимать данные от сервера
директорий. Устанавливаем в 9030.
ControlPort 9051
DirPort 9030
ExitPolicy – определяет, какой трафик мы будем принимать и форвардить.
Имеет формат "ExitPolicy Accept | reject address:port". По умолчанию политика
следующая:
reject *:25
reject *:119
reject *:135-139
reject *:445
reject *:563
reject *:1214
reject *:4661-4666
reject *:6346-6429
reject *:6699
reject *:6881-6999
accept *:*
Означает, что мы будем резать трафик, направленный на вышеперечисленные
порты, а весь остальной будем пропускать. В принципе можно ее и не
переопределять и оставить дефолтной, ну это уж на твой выбор. Я использовал
следующую:
ExitPolicy accept *:80, accept *:443, accept *:110, accept *:143,
accept *:993, accept *:995, reject *:*
HashedControlPassword – хеш пароля для доступа и конфигурации
Tor-сервера (чтобы никакой злобный хакер не смог переконфигурировать наш
сервер), создается при помощи команды: tor --hash-password.
Nickname – имя нашего сервера.
ORPort – порт, ожидающий подключения от других нодов.
SocksListenAddress - адрес, по которому Tor будет ждать подключений от
приложений, работающих через SOCKS. Формат: SocksListenAddress IP[:PORT]
Установим IP в 127.0.0.1, а порт оставим дефолтным (9050). Это понадобится нам,
если мы захотим использовать Tor в связке с Privoxy или другими прокси.
Сохраняем изменения и закрываем файл. Можно приступать к запуску. Открываем
консоль, логинимся под toruser и запускаем Tor, передав в качестве параметра
путь до конфиг-файла:
$ tor -f /home/toruser/.tor/torrc
Вот и появился наш сервер в списке. Посмотрим на строчку ниже HelloHacker.
Что мы видим: s Exit Fast Running V2Dir Valid. Exit - означает, что мы являемся
Exit Node!
Держать Exit Node - задача для крепких парней
Шаг 7. Настраиваем мобильный клиент
Клиенты Jabber с поддержкой шифрования есть и на мобильных устройствах. Например, ChatSecure для iOS и для Android. На всякий случай предупреждаю, что приложение для Android не указано на официальном сайте и для мессенджера требует многовато привилегий, так что используй на свой страх и риск.
Далее выбирай XMPP.
И вводи свои данные.
Если хочешь завести новый аккаунт, то нажимай «Создать новую учетную запись» и заполняй все данные. Большой плюс ChatSecure заключается в том, что он умеет пускать трафик через Tor без дополнительных ухищрений.
В ChatSecure заложен и список приватных серверов — выбирай, какой нравится, или, если уже выбрал раньше, вводи адрес в поле Custom в самом низу.
В конце тебе предложат сохранить сертификат. Сохраняй и дождись, пока закончится регистрация.
Вводи адрес контакта.
И аутентифицируй его одним из тех методов, которые мы уже перечисляли.
Читайте также: