Темная сторона интернета. Оверлейные сети.
Последнее время в интернете все чаще поднимается тема анонимности. И если в Англии или Германии люди уже смирились и стабильно используют Tor (да, в Европе интернет не такой уж и свободный), то в России до недавнего времени эта тема интересовала разве что гиков и любителей киберпанка. Но список запрещенных сайтов, введенный не так давно и уже породивший множество абсурдных ситуаций и еще больше — критики, заставил многих жителей Сети отправится в гугл и начать изучать вопрос — как же получить доступ к заблокированным сайтам? Это связано и с неуемным любопытством жителей Этой Страны, и с методикой блокировки сайтов провайдерами — когда блокируется не конкретный URL адрес, а IP — что вызывает массу проблем. Но не будем вдаваться в странности работы реестра, а перейдем непосредственно к теме статьи — оверлейных сетях.
Небольшой Disclaimer: данная статья рассчитана на начинающего пользователя и не покрывает всех технических особенностей каждой сети, таких как протоколы маршрутизации, используемые криптографические методы и пр. Эти моменты я постараюсь рассмотреть в одной из следующих статей.
Для начала — немного теории. Что есть оверлейная сеть? Как следует из названия — это сеть, работающая поверх другой сети. В качестве основного транспортного протокола такая сеть использует стандартные TCP и UDP — по сути основу большого интернета. Эти протоколы в оверлейных сетях, или, как я буду называть их дальше, «даркнетах» используются для построения зашифрованных туннелей, внутри которых уже работают собственные протоколы маршрутизации даркнетов, сильно отличающиеся от тех что мы привыкли видеть в обычном интернете. Справедливости ради, стоит отметить что оверлейной сетью может являться любая сеть внутри сети, даже если она построена на обычных протоколах — например, VPN-сеть между рабочими сетями.
Почему не обычный VPN для доступа к запрещенным ресурсам, спросите вы? В случае с VPN деятельность отдельно взятой личности можно без особых проблем отследить. Double, Triple, Quad VPN? Аналогично — просто займет больше времени. У вас есть точка входа, и, в большинстве случаев, точка выхода там же. Да и все данные, как правило, есть у некоего третьего лица — провайдер VPN, датацентр где стоят VPN-сервера, и так далее. Нехорошо? Нехорошо. Даже если сервис имеет хорошую репутацию — где гарантии?
Даркнеты же опираются на три основных параметра:
- Транзит. В обычном интернете вы подключаетесь напрямую к серверу. В оверлейных сетях ваш трафик проходит через несколько промежуточных узлов, прежде чем достигнет точки назначения — эти узлы выбираются случайно и весьма часто меняются.
- Шифрование. Авторы оверлейных сетей, как правило, cчитают каждый узел подверженным взлому и потенциально опасным. Поэтому информация, которая покинула ваш компьютер, зашифрована и не может быть расшифрована промежуточными узлами, через которые она идет.
- Децентрализация. У даркнетов нет центрального узла управления. Даже отключение большого количества участников сети не выведет ее из строя.
И да — софт для подключения к сети должен обязательно быть с открытым кодом. Так как сети с закрытым кодом, вроде Perfect Dark, анонимными не могут считаться по умолчанию.
Что же сейчас могут предложить разработчики заинтересованным пользователям? Много чего.
TOR.
Эта сеть, которую я уже упоминал в начале, не нуждается в представлении.
Основная цель, которую преследуют разработчики — возможность анонимного посещения сайтов в «Большом» интернете. Для этого используется клиент, который строит цепочку туннелей между участниками сети, выбирает точку выхода и в результате предоставляет вам полностью анонимный канал в интернет. Сеть строится добровольцами, которые устанавливают точки выхода (для этого достаточно поставить галочку в настройках клиента, и иметь реальный IP-адрес. Также в Tor еcть внутренние сайты, которые имеют домен .onion — на деле это спрятанный за tor-клиентом веб-сервер. Владелец такого сайта при всем желании не сможет узнать IP-адреса посетителей, а заинтересованных в закрытии такого скрытого сайта лиц — сильное разочарование — так как точно определить где находится сервер с сайтом очень и очень сложно.
Узлы сети делятся на релеи (через них ходит трафик), exit-ноды (через такие узлы собственно и происходит доступ в «Большой»
интернет), и «мосты» — это релеи не опубликованные в общем списке, которые используются в странах где tor запрещен.
Для начала работы с Tor достаточно скачать клиент с их сайта, который включает в себя собственно клиент для доступа к сети, прокси-сервер для вырезания из трафика лишней информации, которая может быть использована для идентификации пользователя, и удобной программы для управления клиентом. После этого достаточно прописать прокси-сервер в браузере (обычно это 127.0.0.1:9051) — и добро пожаловать в анонимный интернет. Почти. Почему почти — я обьясню ближе к концу статьи.
Внутри сети можно найти, например, почтовый сервис, который имеет зеркало в большом интернете — так что письма отправленные из сети tor будет невозможно определить — кроме того, такие письма абсолютно анонимны.
Впрочем, есть и свои минусы. Структура сети такова, что список узлов изначально лежит в открытом доступе. Кроме того, любой владелец exit-ноды может отследить весь трафик, который идет через его ноду. Так что вбивать пароли на сайтах без https — довольно плохая идея.
Итого, плюсы сети:
- Анонимный браузинг без особых затруднений
- Высокая скорость по сравнению с аналогами (тут можно увидеть скорости до пяти мегабит — в зависимости от текущей цепочки узлов)
- Развитое общество. Масса статей, ресурсов, и даже сторонних утилит — например консольный arm для использования tor на сервере или advtor, который позволит выбрать конкретную страну (или исключить нежелаемые) для relay- и exit-нод, да и вообще более тонко настроить клиент.
- Масса скрытых сервисов внутри сети — от почты и хостинга до черного рынка (легендарный Silk Road)
Но как я уже говорил, есть и минусы:
- Из-за того что список релеев находится в открытом доступе, на многих сайтах tor заблокирван частично или полностью. Например в википедии через tor не получится редактировать статьи.
- Возможность прослушивания трафика на exit-ноде — перехват трафика может настроить даже школьник. В Proof-Of-Concept где-то даже мелькала возможность инжекта в html-код страниц своего произвольного кода — а это очень серьезная проблема относительно анонимности.
- Tor заблокирован в некоторых странах, и может быть заблокирован где угодно без особых телодвижений — достаточно просто забанить все релеи, которые, как я уже говорил, находятся в открытом доступе.
FreeNet.
Если tor предназначается в основном для анонимного браузинга большого интернета, то freenet создавался с совсем другой целью — это распределенное хранилище данных.
Как работает freenet? Вы делитесь частью своего диска и каналом в интернет с другими пользователями фринета, и чем больше вы даете — тем больше вы получаете. На диск будут складываться зашифрованные куски файлов, которые пользователи загружают в сеть. Отсюда и плюс, и минус этой сети — контент в ней абсолютно статичен — поднять динамический веб-сервер невозможно. Поэтому «просмотр» сайта во фринете начанается со скачивания его на локальный клиент. Зато фринет идеален для проектов вроде wikileaks или компромат.ру — так как удалить контент невозможно — он «размазан» по клиентам участников сети, многократно дуплицируется (на случай выхода из строя большого количества узлов) и полностью зашифрован — ни один участник сети не знает, что именно хранится в его клиенте. Надо куда-то слить компромат на конкурента, а он — большая шишка и может закрыть любой сайт? Вы не найдете места лучше фринета.
Впрочем, статичность клиента частично решается плагинами. Например, есть плагин Sone, который представляет из себя распределенный форум. Ну и разумеется в наличии есть распределенная электронная почта. У freenet нет своей внутренней доменной зоны, адреса ресурсов начинаются с идентификаторов вроде UCS@.
Чтобы подключится к сети, достаточно скачать клиент, указать ему лимиты, выставить режим «параноидальности» — через сколько промежуточных узлов ходить (для особых параноиков есть возможность ходить в сеть только через «друзей»), открыть браузер и открыть веб-панель freenet. Добро пожаловать!
Итак, плюсы:
- Идеальное место для хранения любого контента.
- Наличие плагинов, позволяющее расширять функциональность клиента.
Минусы:
- Cтатичность сайтов. Впрочем, опять же, это и плюс, и минус.
- Довольно медленная скорость сети.
- Высокое потребление процессора и памяти.
YaCy.
Это не совсем распределенная сеть. Это распределенная поисковая система, которая работает целиком и полностью за счет участников сети. Они пополняют базу сайтов, их клиенты индексируют сеть, и их же клиенты выступают поисковыми машинами. Такая поисковая система не фильтруется, в ней нет цензуры, все что проиндексировано — останется в ней навсегда.
Установка довольно простая, как и с другими сетями — скачать клиент и открыть веб-панель. Все настойки выполняются через браузер, но если вам нужен только поиск — туда можно даже не залезать.
Сам поиск выполняется в нескольких режимах:
- Вы сами составляете список сайтов которые надо индексировать
- Вы принимаете запросы на сканирование от других членов сети, которые распространяют списки сайтов
- Вы настраиваете в браузере (или, что предпочтительнее, «качалке интернета») прокси-сервер YaCy, и все что проходит через этот прокси-сервер — индексируется клиентом.
Индесируются обычные страницы, изображения, аудио- и видеофайлы. Вы также можете открыть свой поисковик для других людей — тогда они смогут использовать ваш клиент для поиска контента.
Из-за своей структуры YaCy является идеальным дополнением к Tor, I2P или даже Freenet — так как контент в этих сетях по понятным причинам не будет проиндексирован «большими» поисковиками.
При поиске пользователи могут «голосовать» за сайты и конкретные ссылки в результатах поиска — тем самым улучшая качество индекса.
Плюсы сети:
- Оригинальная идея
- Очень быстрая работа сети
- Неплохая база сайтов
- Возможность совместной работы с другими даркнетами
- Качество поисковой выдачи регулируется пользователями
Минусы сети:
- Малое количество пользователей
- По некоторым запросам отвратительное качество выдачи
- Основной язык разработчиков Немецкий, отсюда нехватка информации о сети на других языках.
I2P.
Я специально оставил самое вкусное под конец. C моей точки зрения I2P на данный момент является самой технически продвинутой и перспективной сетью. В отличие от других I2P не затачивается под какую-то конкретную задачу, а пытается создать полноценную сеть поверх «Большого» интернета. В I2P работает любой протокол, будь то SSH, BitTorrent или Git. В клиент, который в I2P называется роутером, уже встроен почтовый клиент, BitTorrent клиент, и все это управляется через веб-браузер. Энтузиасты в сети могут также как и tor создавать выходные точки в большой интернет, и уже предпринимаются попытки создать распределенное хранилище, похожее на freenet.
Эта сеть недаром получила клеймо «сети абсолютных параноиков». Промежуточные узлы меняются раз в 10-15 минут, их количество можно настроить, криптографические ключи также динамически изменяются с течением времени.
В сети работает практически все. Можно организовать радио, cделать git-хостинг — вы не ограничены одним-двумя протоколами вроде HTTP и FTP. Есть вполне живой IRC-cервер.
Клиент имеет API для других приложений, что позволяет написать, например, анонимный мессенджер, который будет работать как обычное desktop-приложение. Клиент также поддерживает установку плагинов, что позволяет неограниченно его расширять.
Сервисы в I2P имеют доменную зону .i2p. Есть своебразный доменный сервис — но из-за распределенности сети «основного» быть по определению не может — скорее есть несколько, которые по негласному соглашению используются по умолчанию.
Для подключения к сети необходимо скачать клиент, пройти через мастер настройки, ответив на несколько вопросов, и прописать в браузере адрес прокси-сервера. Welcome!
Плюсы сети:
- Самая технически продвинутая сеть на данный момент.
- Высочайший уровень анонимности
- Соединяет в себе возможности других оверлейных сетей
- Практически неограниченная расширяемость клиента за счет архитектуры сети, плагинов, и API.
- Развитое, хоть и малочисленное (на момент написания статьи — в онлайне около 18000 роутеров, на IRC-cервере — около 400 человек) сообщество.
Минусы:
- Из-за высокой частоты смены тунелей не самая стабильная работа и не очень высокая скорость.
- Большое количество криптографии довольно сильно грузит процессор.
- Плохо работает без «белого» IP-адреса.
Другие.
Это не единственные проекты, хотелось бы упомянуть еще пару аналогичных, но менее значительных:
Tahoe-LAFS. Я думаю, все тут знакомы с сервисом под названием Dropbox? Tahoe — это аналогичное распределенное хранилище, но запускаемое на «своих» компьютерах, c высоким уровнем анонимности (при использовании общего облака) и шифрования. На данный момент весьма сложен в установке, настройке, и обладает далеко не самым дружелюбным интерфейсом…
Netsukuku. Этот проект стремится создать оверлейную сеть на базе одновременно «большого» интернета и WiFi-устройств, которые являются своеобразной «опорой» этой сети. Выглядит, конечно, интересно, но малораспространен.
Что использовать — решать вам и зависит от ваших целей. Cкорее всего вы установите какую-нибудь сеть, посмотрите, впечатлитесь и удалите. Но помните — каждый работающий узел сети помогает. Можно конечно вспомнить анекдот про Неуловимого Джо, но кто знает как скоро Джо, паля во все стороны из своего любимого револьвера кого-нибудь подстрелит и вынужден будет скрываться? Решать вам.
[…] блоге Lex Rivera подробно описываются особенности сетей, которые решают вышеназванную […]
[…] обзор сетей типа I2P, Tor и […]
Could be great to get an instruction about using yacy in i2p…
1. Install I2P and YaCy
2. Set YaCy proxy to I2P in-proxy
3. Feed list of I2P sites to YaCy grabber
Well, that’s all.