Прежде чем мы подробно рассмотрим известные технологии сокрытия своего настоящего IP-адреса, нам следует узнать свой IP-адрес и выяснить некоторые вещи, обличающие наш компьютер в сети, например адрес DNS-сервера. Для этого достаточно зайти на любой сервис проверки анонимности, например www.whoer.net, главное чтобы он обладал интерактивной проверкой вашего компьютера с помощью Java, ActiveX, Flash и Javascipt. Изменить свой IP-адрес, например с помощью Socks или VPN, недостаточно, т.к. существует множество технологий, позволяющих его выявить, которые нужно либо отключить на своем компьютере, либо обмануть. Также не лишним будет изменить передаваемые НТТР-заголовки, это позволит «сбить» определение установленного ПО и географическое место расположения компьютера. Более детально проверить свой компьютер можно в расширенной версии www.whoer.net/ext.
VPN (Virtual Private Network, виртуальная частная сеть)
Внешне VPN-соединение мало чем отличается от подключения к обычной локальной сети: приложения вообще не почувствуют разницы и поэтому без какой-либо настройки будут использовать его для доступа в интернет. Когда одно из них захочет обратиться к удаленному ресурсу, на компьютере будет создан специальный GRE-пакет (Generic Routing Encapsulation, общая инкапсуляция маршрутов), который в зашифрованном виде будет отправлен VPN-серверу. VPN-сервер, в свою очередь, этот пакет расшифрует, разберется, в чем его суть (запрос на закачку какой-либо HTTP-страницы, просто передача данных и т.д.), и выполнит от своего лица (то есть засветит свой IP) соответствующее действие. Далее, получив ответ от удаленного ресурса, VPN-сервер поместит его в GRE-пакет, зашифрует и в таком виде отправит обратно клиенту.
Непрерывное шифрование передаваемых данных — это ключевой момент в обеспечении безопасности. PPTP-траффик может быть зашифрован с помощью MPPE(Microsoft Point-to-Point Encryption, поддерживает 40-, 56- и 128-битные ключи). Это майкрософтовский протокол. Ранние версии были чудовищно дырявы и элементарно взламывались, в новых грубые ошибки исправлены, но потуги майкрософта сделать что-то в области криптографии ничего кроме смеха не вызывают. Новые версии их протоколов просто особо не анализируют на предмет дыр.
OpenVPN — cвободная реализация технологии VPN, организуется на основе общепринятого в Интернете стека протоколов TCP/IP. Это гарантирует работу соединения даже с теми провайдерами, которые не поддерживают PPTP (чаще всего это операторы сотовой связи, которые режут все GRE-пакеты, проходящие через GPRS и EDGE). Также OpenVPN работает даже когда у вас нет реального ip-адреса, в отличие от PPTP, требующего одновременного установления двух сетевых сессий.
У OpenVPN есть целый ряд преимуществ перед технологией VPN:
- Адаптивное сжатие данных в соединении с применением алгоритма компрессии LZO. Cкорость передачи данных через OpenVPN выше чем у PPTP;
- Поддерживает гибкие методы авторизации подлинности клиента, основанные на сертификатах;
- Использование одного TCP/UDP-порта без привязки к конкретному порту ( в нашем случае UDP);
- Шифрование 2048 бит, обеспечивает беспрецедентную безопасность, реализовано через постоянный ключ.
Серверы для анонимных VPN обычно устанавливают в странах, где наиболее лояльно относятся ко взлому, спаму и т.д. (Китай, Корея и прочие). В большинстве случаев имеет место договоренность с администрацией, которая за определенную плату обязуется игнорировать жалобы в abuse-службу и не вести логи. На основе своего опыта работы могу порекомендовать полностью автоматический OpenVPN сервисwww.vpnlab.ru c большим выбором серверов.
Proxy, SOCKS
Прокси-сервер (от англ. proxy — «представитель, уполномоченный») — служба в компьютерных сетях, позволяющая клиентам выполнять косвенные запросы к другим сетевым службам.
Сначала клиент подключается к прокси-серверу и запрашивает какой-либо ресурс (например, файл), расположенный на другом сервере. Затем прокси-сервер подключается к указанному серверу, получает ресурс у него и передает клиенту.
То, к каким серверам и по каким протоколам мы может обращаться через прокси, зависит от типа этого прокси, т. е. протокола, по которому мы обращаемся к нему. Типов прокси существует несколько: HTTP-прокси, SOCKS4, SOCKS5 и некотрые другие.
HTTP-прокси наиболее распространены, их легче всего найти в интернете, но работают они только с HTTP (есть и https-прокси), к тому же могут вставлять в заголовки запроса адрес клиента, то есть быть не анонимными.
Протокол SOCKS наиболее примечателен тем, что он инкапсулирует протоколы не прикладного, а транспортного уровня, т.е. TCP/IP и UDP/IP. Поскольку только по этим протоколам возможна работа в Сети, через SOCKS можно работать с любыми серверами, в том числе и такими же SOCKS и, таким образом, организовывать цепочки SOCKS-серверов. По этой же причине все SOCKS-сервера анонимны — невозможно на уровне TCP/IP и UDP/IP передать дополнительную информацию, не нарушив работу вышестоящего протокола.
Еще можно выделить анонимайзеры — выглядят как обычный поисковик, только вместо слов/фраз в них нужно вводить URL того сайта, который ты хотел бы посмотреть. Анонимайзеры представляют собой скрипты, написанные, например, на perl, php, cgi-скрипты.
Пара полезных программ по работе с http-прокси и соксами:
SocksChain — программа, позволяющая работать через цепочку SOCKS или HTTP-прокси (нужно помнить, что любой прокси-сервер, а тем более бесплатный, ведет лог. И человек, который располагает соответствующими правами, всегда сможет вычислить, куда вы заходили и что вы делали, даже если вы будете использовать цепочки из 10 анонимных прокси-серверов в разных концах планеты).
FreeCap — программа для прозрачной переадресации подключений через SOCKS-сервер программ, которые не имеют родной поддержки SOCKS-прокси.
TOR
Tor (The Onion Router) — свободная (BSD) реализация второго поколения onion router (так называемая «луковая (многослойная) маршрутизация»). Система, позволяющая пользователям соединяться анонимно, обеспечивая передачу пользовательских данных в зашифрованном виде. Рассматривается как анонимная сеть, предоставляющая анонимный web-сёрфинг и безопасную передачу данных. С помощью Tor пользователи смогут сохранять анонимность при посещении web-сайтов, публикации материалов, отправке сообщений и работе с другими приложениями, использующими протокол TCP. Безопасность трафика обеспечивается за счёт использования распределённой сети серверов, называемых «многослойными маршрутизаторами» (onion routers).
Пользователи сети Tor запускают onion-proxy на своей машине, данное программное обеспечение подключается к серверам Tor, периодически образуя виртуальную цепочку сквозь сеть Tor, которая использует криптографию многоуровневым способом (аналогия с луком — англ. onion).
Каждый пакет, попадающий в систему, проходит через три различных сервера (нода), которые выбираются случайным образом. Перед отправлением пакет последовательно шифруется тремя ключами: сначала для третьей ноды, потом для второй, и, в конце концов, для первой.
Когда первая нода получает пакет, она расшифровывает «верхний» слой шифра (аналогия с тем, как чистят луковицу) и узнает, куда отправить пакет дальше. Второй и третий сервер поступают аналогичным образом. В то же время, программное обеспечение onion-proxy предоставляет SOCKS-интерфейс. Программы, работающие по SOCKS-интерфейсу, могут быть настроены на работу через сеть Tor, который, мультиплексируя трафик, направляет его через виртуальную цепочку Tor, что в конечном итоге позволяет обеспечивать анонимный сёрфинг в сети.
Cуществуют специальные надстройки Tor для веб-браузеров Opera, Firefox.
SSH-туннелинг
SSH (Secure Shell) — сетевой протокол, позволяющий производить удалённое управление компьютером и передачу файлов. Использует алгоритмы шифрования передаваемой информации.
SSH-туннелинг можно рассмотреть в качестве дешевой замены VPN. Принцип данной реализации следующий: весь сетевой софт на компьютере форвардится на назначенный порт (вашего локалхоста), на котором висит сервис, соединенный по SSH с сервером (а как мы знаем, соединение по SSH протоколу шифруется) и туннелирующий все запросы; далее весь ваш трафик (уже не в зашифрованном виде) может форвардится с сервера на прокси (поддерживающий туннерирование) или сокс, которые передают весь трафик к необходимым адресам. Наличие прокси или сокса не обязательно.
Какие плюсы данной системы:
- Для организации данной схемы не нужно устанавливать серверный софт (т.к. SSH-аккаунт и сокс можно без проблем достать в интернете);
- Т.к. при SSH-соединении трафик шифруется и сжимается, то мы получаем небольшой прирост скорости работы в инете (это верно, когда сокс-демон находится на том же сервере);
- В случае, когда сокс-сервер находится на другом хосте, то мы получаем дополнительную цепочку серверов, которые повышают нам безопасность и анонимность.
JAP
В одном из немецких институтов был разработан довольно хитрый способ сохранения анонимности. В систему пользователя устанавливается специальная прокси-программа JAP, которая принимает все запросы пользователя на подключения, криптует (AES с 128-bit длиной ключа) и в безопасном режиме отправляет на специальный промежуточный сервер (так называемый микс). Дело в том, что микс одновременно использует огромное количество пользователей, причем система построена так, чтобы каждый из них был неразличим для сервера. А поскольку все клиенты одинаковые, то и вычислить конкретно одного пользователя не представляется возможным.
Миксы обычно устанавливаются на добровольных началах, в основном в университетах, которые официально подтверждают, что не ведут никаких логов. К тому же обычно используются цепочки миксов, как правило 3 микса.
P2P анонимайзеры
Рассмотрим на примере сети Peek-A-Boot:
Peek-A-Booty — это распределенная пиринговая сеть из компьютеров, принадлежащих добровольцам из различных стран. Сеть создана для того, чтобы пользователи могли обходить наложенные локальной цензурой ограничения и получать доступ к запрещенным в том или ином государстве ресурсы интернета.
Каждый узел сети маскируется, так что пользователь может направлять запросы и получать информацию с определенных IP-адресов в обход цензурных барьеров.
Пользователь, подсоединяется к специальной сети, где работает Peek-A-Booty. Несколько случайно выбранных компьютеров получают доступ к веб-сайту, и пересылают данные тому, кто послал запрос.
Весь трафик в этой сети шифруется по принятому в электронной коммерции стандарту SSL, так что все выглядит как невинная транзакция.
Вывод
Из всех рассмотренных нами методов только TOR и P2P является полностью бесплатными, при этом обладают высокой надежностью, но, к сожалению, не удобны в поседневном использовании и настройке.
С точки зрения высокого уровня безопасности и простоты в настойке лидирует OpenVPN, но цены на него начинаются от 15$ в месяц. Широкое распостранение сейчас получает технология DoubleVPN в которой пакеты проходят через два VPN сервера. Это пожалуй, самое быстрое и удобное решение вопроса гарантированной анонимности, но цена…
Промежуточным решением можеть стать так называемый аналог VPN — SSH-туннелинг, для которого достаточно наличия лишь shell-доступа, что весьма дешево, а само соединение настраивается, например, через Putty. К сожалению, настройка не проста и трудоемка, удобство использования тоже хромает, так что это по прежнему вариант для «гиков».