Наша задачка на сегодня — анонимно разместить сайт в интернете. Есть не так много технологий, которые нам в этом деле смогут помочь. Но одним из самых технологичных решений, которое предоставляет возможность анонимного хостинга, практически исключая возможность определения, где на самом деле находится сервер с файлами, является I2P.
Итак, что такое I2P? Технологию лучше всего воспринимать как дополнительный сетевой уровень, который работает поверх привычного протокола IP и предоставляет возможности для анонимной передачи данных. В I2P используются различные виды криптографии для безопасной передачи сообщений и многочисленные pear-to-pear туннели, на основе которых обеспечивается анонимность и отказоустойчивость системы. Мы уже не раз упоминали I2P на страницах журнала, но никогда не останавливались на ее работе подробно. Да и мало кто имел с ней дело. Куда большую известность в области анонимизации получила разработка Tor. Поэтому, рассказывая про то, как работает I2P, мы будем проводить некоторые сравнения этих двух технологий.
Обе системы, I2P и Tor, используют многоуровневую криптографию, чтобы посредники не могли дешифровать содержание передаваемых через них пакетов. Единственное, что известно для каждого узла — это следующее звено в цепочке передачи данных. В то время как Tor больше сфокусирован на сохранении инкогнито клиента во время серфинга в интернете, задача I2P заключается в создании анонимной сети, объединяющей подключившихся пользователей. И хотя возможность анонимного серфинга все-таки есть (с использованием специальных шлюзов, которые имеют доступ «наружу», о чем ты можешь прочитать во врезке), главное ее назначение — это анонимный хостинг сервисов.
[ad name=»Responbl»]
Речь идет в первую очередь о размещении в сети веб-сайтов, которые в терминологии I2P называются eepsites. Это чем-то напоминает концепцию Hidden Services, доступную пользователям Tor, но анонимный хостинг в I2P работает значительно быстрее. Это уже не жалкая попытка, а действительно работающая технология для размещения сайтов, надежная и устойчивая.
В I2P нет никаких центральных серверов и нет привычных DNS-серверов, но зато используется распределенная хеш-таблица DHT (Distributed Hash Table), построенная на базе Kademlia. Такой подход позволяет устранить серьезную точку отказа системы. Мы все помним историю, когда в 2007 году в Китае файрволом был перекрыт доступ к главной директории сервисов Tor. То, что I2P опирается на пиринговую технологию для обмена информацией о роутинге, позволяет избежать подобных проблем. Система, с помощью которой пользователи I2P получают информацию друг о друге, называется NetDB. Каждый участник сети является роутером, через который передается транзитный трафик, поэтому, вообще говоря, в системе нет какой-либо заметной разницы между сервером и обычным клиентом.
Для обращения к другим роутерам и сервисам не используются IP’шники, адресация осуществляется с помощью специального криптографического идентификатора, посредством которого обозначаются как роутеры, так и конечные сервисы. К примеру, идентификатор www.i2p2.i2p (главного сайта проекта внутри сети I2P) выглядит так:
-KR6qyfPWXoN~F3UzzYSMIsaRy4udcRkHu2Dx9syXSz
[… вырезано …]
e9NYkIqvrKvUAt1i55we0Nkt6xlEdhBqg6xXOyIAAAA
Таким образом, для точки назначения используется 516 байт в Base64. Очевидно, что подобный идентификатор едва ли можно назвать удобным. К тому же он не будет работать с некоторыми протоколами (в том числе HTTP). Поэтому I2P предлагает еще один путь для именования идентификаторов — он называется «Base 32 Names» и довольно схож с правилами составления имен .onion в сети Tor. Изначальный 516-байтовый идентификатор декодируется (с заменой некоторых символов) в исходный raw-вид. Полученное значение хешируется с помощью SHA256 и после этого кодируется в Base32. В конце концов к результату прибавляется .b32.i2p. Что получается в итоге? Вполне пригодная к использованию последовательность символов. Если проделать операцию для оригинального идентификатора www.i2p2.i2p, то получится следующее:
rjxwbsw4zjhv4zsplma6jmf5nr24e4ymvvbycd3swgiinbvg7oga.b32.i2p
С такой формой работать уже гораздо проще. В I2P нет какого-то официального аналога DNS-сервера, который выполнял бы резолвинг имен (то есть устанавливал соответствие между доменом <somename>.i2p и идентификатором), так как это была бы серьезная точка отказа всей системы. Каждая нода I2P имеет собственный набор текстовых файлов, в которых выполнен маппинг для сервисов. Эти файлы очень похожи на привычный нам конфиг HOSTS. Тем не менее, пользователь может синхронизировать свою базу «привязок» через специальный сервер подписки внутри I2P. При этом он исключительно доверяет владельцу такого сервиса, полагая, что тот предоставляет ему «правильные» идентификаторы.
Построение цепочки для передачи данных
В I2P реализовано несколько интересных технологий для устранения возможности перехвата и подмены трафика. В то время как в Tor используется одна цепочка для выполнения коммуникаций, I2P опирается на концепции входящих («in») и исходящих («out») туннелей. Таким образом, запросы и ответы далеко не всегда идут по одному и тому же пути. Во время передачи сообщение подвергается многоуровневому шифрованию (сквозное, туннельное и транспортного уровня), а конечные узлы обозначаются криптованными идентификаторами. Более того, сами туннели перестраиваются каждые десять минут.
Помимо этого в I2P используется «чесночная маршрутизация» (Garlic routing). По сути, это многослойное шифрование, которое позволяет единственному сообщению (так называемому «чесноку») содержать в себе множество «зубчиков» — полностью сформированных сообщений с инструкциями для их доставки. В один «чеснок» в момент его формирования перед отправкой закладывается множество «зубчиков», являющихся зашифрованными сообщениями как нашего узла, так и чужих — транзитных. Является ли тот или иной «зубчик» в «чесноке» нашим сообщением или это чужое транзитное сообщение, которое проходит через нас, знает только тот, кто создал «чеснок». Никто иной получить эту информацию не может.
[ad name=»Responbl»]
Такой сложный подход обеспечивает высокий уровень защиты данных, но при этом не ограничивает возможности использования I2P. В сети могут быть размещены самые разные сервисы: IRC, BitTorrent, eDonkey, Email. К тому же разработчики I2P предоставляют API для создания новых приложений, которые работают через защищенную сеть, но не требуют от пользователя дополнительно устанавливать и настраивать I2P-клиент.
Интересные внутренние ресурсы I2P
- inproxy.tino.i2p/status.php — постоянно обновляемый индекс eepsite, отображающий информацию о доступности того или иного сервиса;
- tracker2.postman.i2p и exotrack.i2p — крупнейшие BitTorrent-трекеры;
- hashparty.i2p — сервис для взлома хешей (LM, MD5, MYSQLSHA1, NTLM, SHA1 и так далее);
- redzara.i2p
Раз уж речь зашла про установку клиента, то перейдем к практической части нашего материала. I2P написан на Java, а потому запустить приложение можно практически на любой ОС — лишь бы в системе была установлена Java-машина. Дистрибутив клиента снабжен удобным инсталлятором, который все сделает за тебя. После окончания установки перейди в каталог с приложением и запусти его демон. Все управление осуществляется через веб-оболочку, которая доступна по адресу 127.0.0.1:7657/index.jsp. С ней мы и будем работать дальше. Чтобы иметь возможность посещать ресурсы I2P и внешние ресурсы интернета (на анонимных условиях), лучше сразу прописать в браузере HTTP-прокси: 127.0.0.1:4444. Вот и вся установка. Добавить нечего.
Итак, поскольку одно из главных предназначений I2P — создание условий для полностью анонимного хостинга, то разумно начать нашу практику именно с этого момента. Сайт, размещенный внутри I2P, называется eepsite. Да, он не будет доступен широкой общественности через интернет, но к нему всегда смогут обратиться пользователи I2P и при желании сделать зеркало ресурса в глобальной Сети. При этом теоретически (и это вопрос для отдельного обсуждения, к которому мы вернемся в конце статьи) выявить твой настоящий IP-адрес будет чрезвычайно сложно. Предлагаю тебе ниже step-by-step инструкцию по размещению сайта через I2P.
Анонимный серфинг
Пускай возможность анонимного серфинга и не является основной для I2P, но она все-таки реализована. Все, что нужно — прописать в браузере прокси: 127.0.0.1:4444. Но вопрос, насколько такой серфинг безопасен, ты должен решить сам. Для доступа к ресурсам интернета используются специальные шлюзы (так называемые outproxy). Соответственно, есть потенциальный риск, что кто-то установил там снифер и мониторит весь трафик. Короче говоря, I2P не для этого. Если хочешь выходить в инет через анонимный и шифрованный канал, то используй VPN/Tor/SSH-туннель. I2P — это, прежде всего, анонимный хостинг.
Помимо непосредственно хостинга веб-серверов через I2P вполне себе работают и многие другие сервисы. В качестве примера приведу настройки для создания SSH-туннеля, что может быть полезно по меньшей мере для того, чтобы администрировать свой eepsite. Тут есть свои нюансы.
Информация о пирах — лучшая иллюстрация P2P-природы сети I2P
Осторожный читатель может задать вопрос: «А действительно ли I2P может обеспечить 100% анонимность владельцу eepsite?». Короткий ответ: нет. Несмотря на то, что сама система продумана очень здорово, сдать владельца сервиса могут сами сервисы, которые хостятся в I2P. Простой пример — уязвимость в веб-приложении. Если суметь ее проэскплуатировать до возможности выполнения команд, то есть большая вероятность выявить настоящий IP-адрес компьютера. Это не единственная опасность. Если тебе интересна эта тема, рекомендую доклад Irongeek’а об обнаружении скрытых сервисов в подобных сетях, который он недавно представил на хакерской конференции BlackHat 2011 DC.
Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…
Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…
Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…
С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…
Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…
Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…
View Comments