Как сохранить анонимность в сети
Содержание
- 1 Что стоит скрывать, или какие есть деанонимизирующие данные и методы их получения?
- 2 Чем VPN отличается от прокси?
- 3 Можно поподробнее об особенностях, плюсах и минусах аренды dedicated-серверов?
- 4 Через какие протоколы идет работа в VPN и какие у них есть особенности?
- 5 Какие минусы есть у VPN?
- 6 В чем различие между SSH-тунелями и VPN?
- 7 Как работает Tor со стороны клиента?
- 8 Что следует знать о I2P, и как эта сеть работает?
- 9 Какие еще есть сервисы/проекты по обеспечению анонимности?
- 10 Есть ли какие-то комплексные решения по обеспечению анонимности?
- 11 Есть еще какие-нибудь моменты при достижении анонимности?
Анонимизация в сети интернет заключается в множестве методов и средств, помогающих скрыть информацию о пользователе, включая IP-адрес, провайдера, местоположение и другие данные. Одним из таких методов являются прокси-серверы, которые могут быть разных видов и обладать разными степенями анонимности.
- Прокси-серверы — работает по протоколу http и выполняет функцию кэширования. Они могут быть прозрачными, искажающими, анонимными или элитными, в зависимости от настроек программы прокси-сервера. Комбинирование различных типов прокси-серверов может использоваться для создания цепочек анонимности и максимального сокрытия/нераскрытия косвенной информации о пользователе, которую можно спрашивать у провайдера.
- VPN-сервисы — тоже работают по разным протоколам, которые предлагают провайдеры на выбор.
- SSH-туннели, изначально создавались (и функционируют по сей день) для других целей, но также используются для анонимизации. По принципу действия довольно схожи с VPN’ами, поэтому в данной теме все разговоры о VPN будут подразумевать и их тоже.
- Dedicated-серверы — самое основное преимущество в том, что пропадает проблема раскрытия истории запросов узла, с которого проводились действия (как это может быть в случае с VPN/SSH или прокси).
- Tor — анонимная сеть, которая использует многоуровневое шифрование для обеспечения анонимности пользователей. Она позволяет обходить цензуру и защищать конфиденциальность пользователей.
- I2P — анонимная, децентрализованная сеть, работающая поверх интернета, не использующая IP-адресацию.
- Иные средства — анонимные сети, анонимайзеры и другие инструменты, еще не изучены сообществом из-за недостаточной популярности, но представляют перспективу в области анонимности и надежности.
Что стоит скрывать, или какие есть деанонимизирующие данные и методы их получения?
Хочу обратить внимание на один интересный ресурс, который посвящен вопросам, какую информацию мы оставляем о себе в сети, заходя в разных устройств:
- IP-адрес, или самый популярный идентификатор в интернете. Дает возможность найти провайдера юзера и узнать у него точный адрес через тот же IP.
- IP DNS провайдера, который можно «потерять» через метод, называемый DNS leaks (утечки DNS). Важно отметить, что эта утечка может произойти при связке HTTP/SOCKS4 (5 в некоторых случаях) + Tor! Поэтому тут надо быть особенно внимательными.
- Если большая часть трафика долго выходит в интернет через один узел, например, тот же Tor, то можно провести так называемое профилирование — отнести определенную активность к определенному псевдониму, который можно сдеанонить через другие каналы.
- Прослушивание трафика на выходном узле или Mitm-атаки (man in the middle).
- Одновременное подключение к анонимному и открытому каналам может в некоторых ситуациях создать неприятности, например, при обрывании соединения у клиента, оба канала перестанут функционировать, и на сервере можно будет определить нужный адрес, сопоставив время отсоединения пользователей (правда, это довольно геморный и далеко неточный способ деанонимизации).
- Деанонимизирующая активность в анонимном сеансе — пользование публичными сервисами, особенно теми, на которых уже есть информация об этом пользователе.
- MAC-адрес, который получает WiFi точка при подключении к ней (или он может быть бэкапнут коммутаторами одной из локальных сетей, через которую был осуществлен выход в интернет).
- Информация из браузеров:
- Cookies — это текстовые файлы c какими-либо данными (как правило, уникальными для каждого пользователя), хранимые приложением (часто — браузером) для разных задач, например, аутентификации. Часто бывает, что клиент сначала посетил ресурс из открытого сеанса, браузер сохранил cookies, а потом клиент соединился из анонимного сеанса, тогда сервер может сопоставить cookies и вычислить клиента;
- Flash, Java, Adobe Reader — первые три плагина вообще можно выделить, как отдельные приложения на базе браузера. Они могут обходить прокси (DNS leaks), засвечивать IP (IP leaks), создавать свои подобия долгоживущих cookies и др. Также все три (в особенности этим грешит Flash) часто служат подспорищем для эксплуатации каких-нибудь 0-day или 1-day уязвимостей, позволяющих порой проникнуть в саму систему;
- JavaScript — исполняется на стороне клиента, не обладает таким широким спектром возможности в плане деанона, хотя может предоставить точную информацию об ОС, виде и версии браузера, а также имеет доступ к некоторым технологиям браузера, которые могут также, например, слить IP-адрес.
- Browser fingerprint или отпечаток браузера — совокупность данных, которые браузер постоянно предоставляет серверу при работе с ним, что может сформировать достаточно уникальный «цифровой отпечаток», по которому можно будет найти юзера даже в анонимном сеансе или позже, по выходу из него;
Чем VPN отличается от прокси?
- Трафик между клиентом и прокси передается в открытом виде, при использовании VPN уже идет шифрование.
- Стабильность — при создании VPN соединения как правило постоянная, редко создаются разъединения, у прокси они происходят относительно чаще. Но все зависит от провайдера.
- Кроме шифрования соединения VPN предоставляет более анонимный сервис в том плане, что используются DNS сервера VPN сервиса и не может произойти раскрытия приватных данных типа DNS leak, что ни чуть не хуже, чем раскрытие IP-адресаю Правда у SOCKS5 и SOCKS4a-прокси есть такая же возможность переложить DNS сервис на прокси-сервер.
- VPN сервисы не ведут журналов или ведут на очень короткие сроки и неподробно (по крайней мере они так говорят), большинство прокси-серверов не дают таких обещаний.
Насколько эффективна цепочка из прокси-серверов?
Цепочка из прокси-серверов может быть неэффективной, если учитывать соотношение между временем деанонимизации и снижением скорости соединения от конечного ресурса к клиенту. Более того, множество недостатков деанонимизации, присущих прокси-серверам, сохраняются при использовании таких цепочек. Поэтому можно сделать вывод, что этот метод не рекомендуется для достижения максимальной анонимности.
В FAQ’e про прокси-серверы не сказано о SOCKS4a, зачем он нужен?
Это промежуточная версия между 4 и 5 SOCKS’ами, в которой все функционирует аналогично 4, за исключением того, что SOCKS4a принимает только доменное имя вместо IP-адреса ресурса и сам его резолвит.
Можно поподробнее об особенностях, плюсах и минусах аренды dedicated-серверов?
Выделенный сервер предназначен не только для анонимизации, но и для хостинга приложений, сервисов и других необходимых ресурсов по желанию заказчика. Важно отметить, что арендатору предоставляется отдельная физическая машина, что обеспечивает ему полный контроль над этим узлом и создает важное преимущество в плане анонимности — уверенность в том, что история запросов не будет утечки.
Учитывая вышесказанное и другие моменты можно выделить ряд преимуществ данного средства с точки зрения анонимизации:
- Настройка HTTP/SOCKS-прокси или SSH/VPN-соединения на выбор.
- Контроль истории запросов.
- Спасает при атаке через Flash, Java, JavaScript, если использовать удаленный браузер.
Ну и недостатки тоже присутствуют:
- Сильно дорогой метод.
- В некоторых странах априори не может предоставлять анонимность, потому что арендатор обязан предоставить о себе данные: паспорт, кредитка и др.
- Все соединения с выделенным сервером логируются у его провайдера, так что тут возникает доверенность немного другого плана.
Через какие протоколы идет работа в VPN и какие у них есть особенности?
Рекомендуется изначально изучить существующие в настоящее время варианты VPN-соединений, то есть комбинации и технологии, предлагаемые провайдерами, если не ставится цель освоения теории сетевых протоколов (хотя также можно рассмотреть варианты с использованием только одного протокола).
SSL (Secure Socket Layer) протокол защищенных сокетов — это протокол, который использует открытый ключ для проверки подлинности отправителя и получателя данных. Он обеспечивает надежность передачи данных за счет корректирующих кодов и безопасных хэш-функций. SSL является одним из простейших и менее анонимных протоколов для VPN-соединений, и часто используется в приложениях-клиентах для VPN. Он также часто является частью комбинации при создании VPN-соединения.
PPTP (Point-to-Point Tunneling Protocol) — это протокол, который часто используется, так как он быстрый и легко настраивается, однако считается менее защищенным по сравнению с другими протоколами.
L2TP (Layer 2 Tunneling Protocol) + IPSec (иногда IPSec опускают в названии, так как он выступает вспомогательным протоколом) — это комбинация протоколов, где L2TP обеспечивает транспорт, а IPSec отвечает за шифрование. Эта комбинация обеспечивает более сильное шифрование, чем PPTP, и устойчива к уязвимостям PPTP. Она также обеспечивает целостность сообщений и аутентификацию сторон. Есть также варианты VPN на основе только протокола IPSec или только L2TP, однако комбинация L2TP + IPSec предоставляет больше возможностей в области защиты и анонимизации.
OpenVPN — это безопасный и открытый протокол, который широко распространен, так как позволяет обходить множество блокировок, однако требует отдельного программного клиента. Технически, это не протокол, а реализация технологии VPN. Все сетевые операции проходят через TCP или UDP транспорт. Кроме того, OpenVPN может работать через множество прокси-серверов, включая HTTP, SOCKS, NAT и сетевые фильтры. Для обеспечения безопасности управляющего канала и потока данных OpenVPN использует SSLv3/TLSv1.
WireGuard — это простой и эффективный протокол виртуальной частной сети (VPN), обеспечивающий высокую скорость передачи данных, простоту настройки и управления, а также надежную защиту данных. Он основан на современных криптографических принципах, имеет небольшой объем кода, и использует симметричное шифрование и аутентификацию на основе предварительно распределенных ключей. WireGuard становится все более популярным в среде VPN-сервисов и используется во многих современных решениях для обеспечения безопасности и конфиденциальности в сетевых соединениях.
SSTP — такой же безопасный, как и OpenVPN, отдельного клиента не требует, однако сильно ограничен в платформах: Vista SP1, Win7, Win8. Инкапсулирует PPP-кадры в IP-датаграммы для передачи по сети. Для управления туннелем и передачи PPP-кадров данных протокол SSTP использует TCP-подключение (порт 443). Сообщение SSTP шифруется каналом SSL протокола HTTPS.
Отдельно стоит отметить сервисы, предоставляющие такие услуги как «DoubleVPN», когда перед достижением нужного узла трафик проходит 2 разных VPN-сервера в разных регионах. Или существует еще более жесткое решение — «QuadVPN», когда используется 4 сервера, которые пользователь может выбрать сам и расположить в нужном ему порядке.
Какие минусы есть у VPN?
Конечно же, не такая анонимность, как у некоторых других сервисов типа Tor’a, и не только потому, что алгоритм и схема другие. Также при использовании VPN все таки в критических ситуациях придется больше полагаться на добросовестное исполнение обязанностей этого сервиса (минимальное журналирование, работа без бэкапов трафика и пр.).
Следующий момент состоит в том, что хоть VPN и скрывает IP в большинстве случаев, а также предотвращает DNS leak, но есть ситуации, при которых и этот метод анонимизации даст сбой. А именно:
- IP leak через WebRTC — на хроме и мозилле работает гарантированно и реализовывается через обычный JavaScript.
- Утечка IP через Flash, инициировавший соединение с сервером и передавший ему IP клиента в обход VPN (правда работает не всегда). Хотя эти случае можно предотвратить выключив у себя в браузере JS, Flash и Java.
- При использовании клиентских настроек по умолчанию при разрыве соединения, в отличие от прокси-серверов, серфинг в сети будет продолжаться напрямую, уже не через виртуальный канал, то есть будет полное палево.
Но этого можно избежать подкорректировав таблицу маршрутизации, где в качестве основного шлюза по умолчанию указать только шлюз VPN-сервера или перенастроить файрвол.
В чем различие между SSH-тунелями и VPN?
SSH-туннель ни что иное, как шифруемое по протоколу SSH соединение, где данные шифруются на стороне клиента и расшифровываются у получателя (SSH-сервера). Создается для удаленного защищенного управления ОС, но как уже было написано выше, применяется еще для анонимизации.
Поддерживает 2 варианта работы: посредством реализации приложением HTTP/SOCKS-прокси для направления трафика через локальный прокси-сервер в SSH-туннель. Или происходит создание практически полноценного (можно сказать аналогичного, если брать последние версии SSH и OpenSSH) VPN-соединения.
VPN же разрабатывался в целях обеспечивать защищенный удаленный доступ к ресурсам корпоративных сетей, а следовательно компьютер, подключенный к VPN-серверу становиться частью локальной сети и может пользоваться ее сервисами.
То есть кроме технических мелких аспектов принципы функционирования схожи. А основное отличие состоим в том, что SSH-туннель — это соединение точка-точка, а VPN-соединение — это соединение устройство-сеть (хотя спецы могут и перенастроить по своему усмотрению).
Как работает Tor со стороны клиента?
В сети море вариаций ответов на этот вопрос, но хочу попробовать изложить основы как можно более просто и лаконично, избавив читателя от копания в горах аналитической и сложной информации.
Tor — система маршрутизаторов, доступных только клиентам самого Tor’a, через цепочку которых клиент соединяется с нужным ему ресурсом. При дефолтных настройках количество узлов — три. Tor использует многоуровневое шифрование. Опираясь на эти особенности, можно кратко описать общую схему доставки пакета данных от клиента к запрашиваемому ресурсу через 3 узла (то есть при настройках по умолчанию): предварительно пакет последовательно шифруется тремя ключами: сначала для третьего узла, потом для второго и в конце, для первого. Когда первый узел получает пакет, он расшифровывает «верхний» слой шифра (как при очистки луковицы) и узнаёт, куда отправить пакет дальше. Второй и третий сервер поступают аналогичным образом. А передача зашифрованных данных между промежуточными маршрутизаторами осуществляется через SOCKS-интерфейсы, что обеспечивает анонимность в купе с динамичным переконфигурированием маршрутов. И в отличие от статических прокси-цепочек, конфигурации луковых маршрутизаторов может меняться чуть ли не с каждым новым запросом, что только усложняет деанон.
Какие преимущества и недостатки есть у Tor’a?
Из преимуществ стоит выделить:
- Один из самых высоких уровней анонимности (при должной конфигурации), особенно в комбинации с другими способами типа VPN.
- Простота в использовании — скачал, пользуйся (можно даже без особых настроек).
Недостатки:
- Относительно низкая скорость, так как трафик идет через цепочку узлов, каждый раз происходит расшифровка и может проходить вообще через другой континент.
- Выходной трафик может прослушиваться, а если не использовать HTTPS, то и прекрасно фильтроваться для анализа.
- Может не спасти при включенных плагинах — Flash, Java и даже от JavaScript’a, но создатели проекта рекомендуют эти дела отключать.
- Наличие управляющих серверов.
Если сайт детектит Tor, то я никак не могу зайти на этот сайт анонимным используя его?
Попасть на такой сайт можно двумя способами. При помощи более изощренной схемы, которая де-факто делает это посещение еще более анонимным: связка Tor ⇢ VPN, можно Tor ⇢ Proxy, если не нужна дополнительная анонимность, а только факт сокрытия использования Tor для сервера сайта, но надо использовать именно в этой последовательности. Так получается, что сначала запрос идет через луковые хосты, затем через VPN/Proxy, а на выходе выглядит, как будто просто VPN/Proxy (или вообще обычное соединение).
Но стоит заметить, что взаимодействие этих связок вызывает бурные обсуждения на форумах, вот раздел о Tor и VPN на сайте лукового проекта.
Что следует знать о I2P, и как эта сеть работает?
I2P — распределенная, самоорганизующаяся сеть, основанная на равноправии ее участников, отличающаяся шифрованием (на каких этапах оно происходит и какими способами), переменными посредниками (хопами), нигде не используются IP-адреса. В ней есть свои сайты, форумы и другие сервисы.
В сумме при пересылке сообщения используется четыре уровня шифрования (сквозное, чесночное, туннельное, а также шифрование транспортного уровня), перед шифрованием в каждый сетевой пакет автоматически добавляется небольшое случайное количество случайных байт, чтобы ещё больше обезличить передаваемую информацию и затруднить попытки анализа содержимого и блокировки передаваемых сетевых пакетов.
Весь трафик передается по туннелям — временные однонаправленные пути, проходящие через ряд узлов, которые бывают входящими или исходящими. Адрессация происходит на основе данных из так называемой сетевой базы NetDb, которая распределена в той или иной мере по всем клиентам I2P. NetDb содержит в себе:
- RouterInfos — контактные данные роутеров (клиентов), используются для построения туннелей (упрощая, они представляют собой криптографические идентификаторы каждого узла);
- LeaseSets — контактные данные адресатов, используются для связи исходящих и входящих туннелей.
Принцип взаимодействия узлов этой сети
Этап 1. Узел «Kate» строит исходящие туннели. Он обращается к NetDb за данными о роутерах и строит туннель с их участием.
Этап 2. «Boris» строит входной туннель аналогично тому, как и строится исходящий туннель. Затем он публикует свои координаты или так называемый «LeaseSet» в NetDb (здесь отметьте, что LeaseSet передается через исходящий туннель).
Этап 3. Когда «Kate» отправляет сообщение «Boris’у», он запрашивает в NetDb LeaseSet «Boris’а». И по исходящим туннелям пересылает сообщение к шлюзу адресата.
Еще стоит отметить, что у I2P есть возможность выхода в Интернет через специальные Outproxy, но они неофициальные и по совокупности факторов даже хуже выходных узлов Тоr. Также внутренние сайты в сети I2P доступны из внешнего Интернета через прокси-сервер. Но на этих входных и выходных шлюзах высока вероятность частично потерять анонимность, так что надо быть осторожным и по возможности этого избегать.
Какие есть преимущества и недостатки у I2P сети?
Преимущества:
- Высокий уровень анонимности клиента (при любых разумных настройках и использовании).
- Полная децентрализация, что ведёт к устойчивости сети.
- Конфиденциальность данных: сквозное шифрование между клиентом и адресатом.
- Очень высокая степень анонимности сервера (при создании ресурса), не известен его IP-адрес.
Недостатки:
- Низкая скорость и большое время отклика.
- «Свой интернет» или частичная изолированность от интернета, с возможностью туда попасть и повышением вероятности деанона.
- Не спасает от атаки через плагины (Java, Flash) и JavaScript, если не отключить их.
Какие еще есть сервисы/проекты по обеспечению анонимности?
- Freenet — одноранговая сеть распределенного хранения данных.
- GNUnet — скоординированный набор софта для peer-to-peer соединения, не нуждающегося в серверах.
- JAP — John Donym, в основу взят Tor.
- RetroShare — кроссплатформенный софт для бессерверного обмена письмами, мгновенными сообщениями и файлами с помощью шифрованной одноранговой F2F (friend-to-friend) сети.
- Perfect Dark — японский клиент под винду для файлового обмена. Анонимность сети Perfect Dark базируется на отказе от использования прямых соединений между конечными клиентами, неизвестности IP-адресов и полном шифровании всего, что только можно.
Следующие 3 проекта особенно интересные тем, что их цель — скрыть пользователя реализуется путем освобождения от провайдерской зависимости при интернет-соединении, за счет построения беспроводных сетей. Ведь тогда интернет станет еще более самоорганизованным:
- Byzantium
- Netsukuku — Networked Electronic Technician Skilled in Ultimate Killing, Utility and Kamikaze Uplinking.
- B.A.T.M.A.N — Better Approach To Mobile Ad-hoc Networking.
Есть ли какие-то комплексные решения по обеспечению анонимности?
Кроме связок и комбинаций различных методов, вроде Tor+VPN, описанных выше можно воспользоваться дистрибутивами линукса, заточенными на эти потребности. Преимущество такого решения в том, что в них уже есть большинство этих комбинированных решений, все настройки выставлены на обеспечение максимального количества рубежей для деанонимизаторов, все потенциально опасные службы и софт вырезаны, полезные установлены, в некоторых помимо документации есть всплывающие подсказки, которые не дадут поздним вечером потерять бдительность.
По своему опыту и некоторых других знающих людей я бы выбрал дистрибутив Whonix, так как он содержит в себе самые новые техники по обеспечению анонимности и безопасности в сети, постоянно развивается и имеет очень гибкую настройку на все случаи жизни и смерти. Также имеет интересную архитектуру в виде двух сборок: Gateway и Workstation, которые в функционируют в связке. Основное преимущество этого состоит в том, что если в результате появления какой-нибудь 0-day в Tor или самой ОС, через которую попробуют раскрыть прятавшегося пользователя Whonix, то будет «деанонимизирована» только виртуальная Workstation и атакующий получит «очень ценную» информацию типа IP 192.168.0.1 и Mac address 02:00:01:01:01:01.
Но за наличие такого функционала и гибкости в настройке надо платить — этим обуславливается сложность конфигурации ОС из-за чего ее порой ставят в низ топа операционок для анонимности.
Более легкие в настройке аналоги — это довольно известные Tails, рекомендованный Сноуденом, и Liberte, которые также можно с успехом использовать в этих целях и которые обладают очень хорошим арсеналом для обеспечения анонимности.
Есть еще какие-нибудь моменты при достижении анонимности?
Да, есть. Существует ряд правил, которых желательно придерживаться даже в анонимном сеансе (если стоит цель достичь практически полной анонимности, конечно) и мер, которые необходимо предпринять перед входом в этот сеанс. Сейчас о них будет написано подробнее.
- При использовании VPN, Proxy и пр. всегда в настройках устанавливать использование статических DNS-серверов провайдера сервиса, дабы избежать утечек DNS. Или выставлять должные настройки в барузере или межсетевом экране.
- Не использовать постоянные цепочки Tor, регулярно менять выходные узлы (VPN-серверы, прокси-серверы).
- При пользовании браузером отключать по возможности все плагины (Java, Flash, еще какие-нибудь Adobe’вские поделки) и даже JavaScript (если задача полностью минимализировать риски деанона), а также отрубать использование cookies, ведение истории, долгосрочного кэширования, не разрешать отправлять HTTP-заголовки User-Agent и HTTP-Referer или подменять их (но это специальные браузеры для анонимности нужны, большинство стандартных не позволяют такую роскошь), использовать минимум браузерных расширений и т. д. Вообще есть еще один ресурс, описывающий настройки для анонимности в различных браузерах, к которому тоже при желании стоит обратиться.
- При выходе в анонимном режиме в сеть следует использовать «чистую», полностью обновленную ОС с самыми последними стабильными версиями ПО. Чистая она должна быть — чтобы было сложнее отличить «отпечатки» ее, браузера и другого софта от среднестатистических показателей, а обновленная, чтобы понижалась вероятность подхватить какую-нибудь малварь и создать себе определенных проблем, ставящих под угрозу работу всех сосредоточенных для анонимизации средств.
- Быть внимательным при появлении предупреждений о валидности сертификатов и ключей, для предотвращения Mitm-атак (прослушки незашифрованного трафика).
- Не допускать никакой левой активности в анонимном сеансе. Например, если клиент из анонимного сеанса заходит на свою страницу в соц. сети, то его интернет-провайдер об этом не узнает. Но соц. сеть, несмотря на то, что не видит реальный IP-адрес клиента, точно знает, кто зашел.
- Не допускать одновременного подключения к ресурсу по анонимному и открытому каналу (описание опасности было приведено выше).
- Стараться «обфусцировать» все свои сообщения и другие продукты авторского интеллектуального производства, так как по жаргону, лексике и стиллистике речевых оборотов можно с довольно большой точностью определить автора. И уже есть конторы, которые делают на этом целый бизнес, так что не надо недооценивать этот фактор.
- Перед подключением к локальной сети или беспроводной точке доступа предварительно менять MAC-адрес.
- Не использовать любое недоверенное или непроверенное приложение.
- Желательно обеспечить себе «предпоследний рубеж», то есть какой-то промежуточный узел до своего, через который вести всю активность (как это делается с dedicated-серверами или реализовано в Whonix), чтобы в случае преодоления всех предыдущих преград или заражения рабочей системы третие лица получали доступ к болванке-посреднику и не имели особых возможностей продвигаться в вашу сторону дальше (или эти возможности были бы крайне дороги или требовали затраты очень большого количества времени).