Как Вы уже знаете, существуют анонимные proxy, используя которые Вы можете анонимно путешествовать по Internet. А существуют ли способы "вычислить" посетителя, пользующегося анонимными proxy серверами?

Да, существуют. Имеются средства, позволяющие как определить посетителя, который пользуется разными анонимными proxy, так и определить Ваш IP адрес, даже если Вы используете анонимный proxy сервер.

Cookies

На первый взгляд, cookies не имеют никакого отношения к proxy. Cookie - это небольшая порция информации, которую сервер может передавать клиенту в дополнение к запрошенной web-странице. Эту дополнительную информацию браузер клиента сохраняет у себя и выдает по запросу сервера. Cookies могут быть как на время одной сессии (после чего они удаляются), так и постоянно храниться на компьютере клиента.

Для чего нужны cookies? К примеру, при входе на сайт у Вас запрашивается пароль (скажем, на почте). После ввода пароль сохраняется в cookies и при переходе со страницы на страницу (когда Вы читаете сообщения) вместо того чтобы каждый раз спрашивать у Вас пароль, сервер берет его из cookies.

Что дает cookie для определения proxy? IP адрес с помощью cookie не определить. Однако, при первом входе на web сайт, IP адрес клиента (определенный сервером, т.е. IP proxy) сервер может сохранить в cookies. А когда Вы в следующий раз входите на сайт, сервер вновь определяет Ваш IP и сравнивает его с сохраненным в cookies. И если IP адреса (старый и новый) различаются, сервер "может сделать выводы". И если Вы не запретите у себя cookies, никакой proxy Вам не поможет (анонимайзеры могут запретить cookies прямо у себя, не пропуская их к Вашему компьютеру).

JavaScript / VBScript

Это специальные подпрограммы (скрипты), которые выполняются на компьютере пользователя. Поэтому как Вы ни настраивайте браузер (если только Вы не запретите выполнение активных сценариев - этих скриптов), Ваш реальный IP адрес скрыть не удастся. Эти скрипты являются простыми программами и обладают довольно ограниченным набором функций, однако теоретически они могут определить Ваш IP и множество различных настроек Вашего браузера. Кроме того, они (в принципе) могут даже изменить настройки Вашего браузера!

Защита от этих скриптов является многоступенчатой, Вы можете ограничивать доступ скриптов к тем или иным возможностям браузера. Однако наиболее надежным вариантом защиты является полный запрет выполнения активных сценариев. Запретить скрипты Вы можете и прямо в анонимайзерах.

Java

В отличие от JavaScript, Java является полноценным языком программирования и (как следствие) программы на Java обладают значительно более широкими возможностями (в частности, это касается определения настроек Вашего браузера и различных функций для работы с Internet). То есть программы на Java могут легко определить Ваш IP и практически любые настройки браузера.

Что касается защиты от определения Вашего IP адреса с помощью Java, то тут все сложнее: самым надежным (и вероятно практически единственным) способом является полный запрет Java, поскольку Java имеет очень много различных сетевых функций и проблематично запретить их все.

ActiveX и plug-ins

ActiveX и plug-ins - это подключаемые к браузеру модули и различные дополнения для браузера. Эти модули являются на самом деле полноценными программами, которые выполняются на компьютере пользователя. Поэтому они обладают гораздо более широкими возможностями, чем Java и JavaScript. Они могут легко определить любые настройки браузера, "вычислить" Ваш реальный IP адрес, и даже легко изменить настройки proxy!

Защитой от них является полный запрет ActiveX и запрет автоматической установки plug-ins.

RBL

Существует еще один довольно эффективный способ "вычислить" proxy сервер. Он не дает 100% гарантии (не все прокси можно определить таким образом), однако от него нельзя защититься, меняя любые настройки на своем компьютере.
В чем суть проверки proxy по RBL? В Intenet существуют так называемые "черные списки" ("блеклисты", RBL - Realtime Blackhole List), которые изначально были предназначены для борьбы со спамом (достаточно сделать поиск в Яндексе по фразе "что такое RBL", чтобы узнать об этом подробнее). В настоящее время в эти RBL вносятся не только SMTP сервера (через которые можно рассылать спам), но и многие прокси сервера (через которые также можно рассылать спам). Эти списки являются (как следует из названия: RBL - realtime) постоянно обновляемыми и наиболее оперативными (прокси сервер может попасть в них в течение нескольких часов после того, как через него был разослан спам).

Как узнать, находится ли прокси в этих списках? Очень просто: надо определить IP адрес прокси, а потом сделать поиск в каждом из RBL (этих списков очень много, так же, как, например, поисковых систем). Примеры RBL: www.spamcop.net , www.mail-abuse.com , opm.blitzed.org , dsbl.org и т.д.

Как сайт узнает, что конкретный прокси сервер - в одном из RBL? Это довольно просто. Прежде всего: когда Вы открываете сайт, сайту становится известен IP адрес клиента (подробнее об этом читайте в статье "Анонимность прокси"). Клиент (в случае, если Вы подключаетесь через прокси) - это прокси сервер. Зная IP адрес прокси (для любопытных: это переменная REMOTE_ADDR), сайт посылает запрос на каждый RBL, чтобы узнать, находится ли этот IP в данном "черном списке". Какой запрос посылается? Читайте тут: SpamCop FAQ.

Борьба "брони и снаряда"

Противостояние желающих быть анонимными в Internet с желающими знать все о своих клиентах будет вечным. Будут появляться новые средства для сокрытия информации о своих перемещениях по Сети и будут новые средства, "пробивающие" или "обходящие" эту защиту.

Защититься от определения Вашего IP можно несколькими способами:

  1. запреты
    • запретить cookies
    • запретить выполнение активных сценариев
    • запретить Java
    • запретить ActiveX
  2. использовать соксификацию браузера. При этом вся информация, которую отправляет и принимает Ваш браузер (или другая программа), "перехватывается" и направляется на proxy сервер.
  3. Использовать "чистые" (т.е. еще не попавшие в RBL, non-RBL) прокси серверы. То есть каждый прокси перед использованием нужно проверить хотя бы в 1-2 (лучше в 10-20) наиболее популярных RBL. Есть специальные программы, которые позволяют проверять прокси на наличие в RBL.

В 1-м случае "пробить" такую защиту очень просто: достаточно построить сайт на основе Java / JavaScript / Cookies (например динамические меню и т.д.). В этом случае при отключении активных сценариев сайт станет просто "нерабочим" (а на web почту с отключенными cookies могут просто не пустить).

Во втором случае нет 100% гарантии, что Ваш IP будет действительно "спрятан". Объясняем подробнее: для определения Вашего IP есть 2 метода:

  1. Java программа обращается напрямую в Internet, минуя proxy (она это может, даже если Ваш браузер настроен на работу через proxy) и сервер "сообщает" программе, какой у Вас реальный IP адрес
  2. анализируются настройки Windows и IP адрес выявляется из настроек

Так вот, соксификация может защитить от 1-го способа определения IP, но не от 2-го!

В третьем случае, если IP адрес все-таки имеется в RBL (и сайт проверяет наличие IP клиента в различных RBL), то не поможет никакая анонимность прокси (даже high anonymous / socks4 / socks5), запрет ActiveX / Java / .... Главное - чтобы IP адрес прокси сервера был "чистым" ("не засветившимся" в "черных списках"). На данный момент (начало 2005 года) очень немногие сайты проверяют наличие IP адреса в RBL.

Так что же делать, если очень нужно и анонимным быть и чтобы Java / JavaScript / ActiveX были?

Давайте рассмотрим, в чем именно состоит суть задачи: чтобы, с одной стороны, анализируя настройки компьютера, нельзя было узнать реальный внешний IP адрес, и, в то же время, чтобы нельзя было подключиться в Internet напрямую (минуя анонимный proxy сервер).

Возможны 2 варианта решения этой проблемы:

  1. Вам нужно организовать корпоративную сеть, со внутренними IP адресами (192.168.1.x или что-то в этом роде). Корпоративный proxy сервер (это другой компьютер и он имеет 2 IP адреса: внутренний и внешний) переадресует все запросы на анонимный бесплатный прокси (для того, чтобы это сделать, Вам нужны полномочия (и знания) системного администратора). Минуя корпоративный прокси, в Internet подключиться невозможно (поскольку у компьютера нет внешнего IP адреса), анализируя настройки компьютера - тоже. Если даже Java / ActiveX скрипт определит (и "выдаст" web серверу) Ваш внутренний IP адрес (192.168.1.x), это не раскроет Вашу анонимность. В общем, можно считать это 100% анонимностью.
  2. Вам необходимо установить на своем компьютере Firewall, в котором запретить все соединения с Internet из браузера (кроме как с тем прокси сервером, который Вам нужен). При этом желательно сделать port mapping на этот бесплатный прокси сервер, а в браузере прописать "прокси" 127.0.0.1 и локальный порт из port mapping. Но тут возможна проблема - поскольку у Вас реальный и внешний IP адрес, он может быть передан серверу (скрипт проанализирует настройки Windows и "выдаст" Ваш IP).

И последнее: любой proxy сервер (а тем более бесплатный) ведет лог-файл (протокол своей работы), в котором подробно расписано, какой IP адрес в какое время куда обращается. И человек (или организация), который располагает соответствующими полномочиями (доступом к любой информации) и запасом времени, всегда сможет выяснить, куда Вы ходили и что Вы делали, даже если Вы будете использовать цепочки из 10 анонимных proxy серверов в разных концах планеты.

назад в proxy FAQ


Мы знаем, что сейчас вы в

Ashburn, United States
В интернете это может узнать любой!
Как защитить себя?
Мне все равно