Анонимные proxy (анонимайзеры) позволяют анонимно путешествовать в Сети и оставаться «неподотчетным». Впрочем, существуют одновременно и способы «вычисления» посетителя- анонмики, пользующегося proxy серверами для сохранения инкогнито.
Средства определения IP адреса посетителя, который пользуется анонимными proxy, различны. Они работают даже если пользователь задействовал анонимный proxy сервер. Расскажем о них подробнее
Cookies
Кажется, что «куки» (cookies) никак не относятся к proxy. Cookie – часть информации, которая передается сервером клиенту в «нагрузку» к запросу. Часть веб-страницы браузер сохраняет у себя и по запросу выдает ее серверу. Cookies бывают хранящиеся одну сессию (после чего удаляются), и постоянно присутствующие на компьютере пользователя.
Зачем вообще понадобились cookies? Один из примеров применения – вход на сайт. Предположим, что у пользователя запрашивается пароль (а это и почта, и рабочие сайты). После ввода пароль хранится в cookies, переходя по страницам сайта, чтобы не спрашивать пароль каждый раз, сервер получает его из cookies.
Чем cookie может помочь в определении proxy? Ведь IP адрес не определяется с помощью cookie. Впрочем, сервер может сохранить IP после выполнения первого входа на сайт. А дальше, при последующих сессиях, сервер, определяя IP адрес клиента, сравнивает его с предыдущим, хранившимся в cookies. Если старый и новый адреса различаются — сервер может «сделать для себя выводы». Поэтому не забывайте запрещать cookies, иначе proxy Вам никак не поможет.
Кроме того, анонимайзеры иногда запрещают cookies сами, не подпуская их к компьютеру пользователя.
JavaScript / VBScript
JavaScript / VBScript – скрипты, или специальные подпрограммы. Они полезны тем, что запускаются и выполняются на компьютере самого пользователя. Поэтому настроек браузера недостаточно для того чтобы запретить их выполнение. Единственный вариант – если вы запретите выполнение скриптов – «активных сценариев». Только тогда реальный IP адрес можно будет скрыть.
Скрипты представляют собой довольно простые программы с ограниченным функционалом. Впрочем, лучше перестраховаться, так как в теории они могут определить Ваш IP! А в дополнение ко всему — настройки браузера пользователя. А в еще более отдаленной теории, скрипты могут менять настройки браузера. Защитой от них будет многоступенчатая комбинация.
Скриптам можно и нужно ограничить доступ к возможностям браузера. А лучше всего для повышения надежности работы анонимайзера – полностью запретить выполнение action scripts (активных сценариев).
Запретить выполнение скриптов можно в анонимайзере.
Java
Java, в отличие от «младшего брата» JavaScript, — полноценный язык программирования. Вследствие этого программы, написанные на Java, могут иметь гораздо более широкие возможности. Это применимо и к определению настроек браузера пользователя, и к функциям при работе с Internet.
Итак, Java-программы легко определят IP пользователя и буквально все настройки браузера, которые он пытался скрыть.
Защита от Java сложна, для антиопределения IP адреса придется сделать все по-максимуму. Вероятнее всего, ради безопасности придется полностью запретить Java, так как у Java есть множество сетевых функций, которые проблематично запретить по одиночке.
ActiveX и plug-ins
ActiveX и plug-ins – модули, подключаемые к браузеру. Дополнения и модули по сути являются такими же полноценными программами, выполняемыми прямо на компьютере клиента. Так что они более гибки и функциональны, нежели Java или JavaScript.
ActiveX и plug-ins легко определяют любые настройки браузера, в том числе реальный IP пользователя, и даже изменяют настройки proxy. Защита одна — полный отказ от ActiveX и запрещение автоматической установки любых plug-ins.
RBL
Эффективный метод «вычисления» proxy сервера — RBL. Впрочем, он не гарантирует 100% определения прокси, но от RBL невозможно защититься, просто меняя настройки на рабочей машине.
Проверка proxy по RBL – это так называемыми «черными списками», которые существуют в Intenet. RBL расшифровывается как Realtime Blackhole List, а предназначены изначально для борьбы со спамом. Сейчас же в RBL вносятся SMTP сервера, которые применяются в рассылке спама, а также большинство прокси серверов, так как их тоже можно использовать для рассылки спама.
Списки оперативно (в режиме Realtime – реального времени) обновляются. А значит, любой прокси сервер легко попадает в них буквально за несколько часов с момента рассылки спама. Поэтому разумно сначала выяснить, не находится ли прокси в списках спамерских.
Для этого вначале определяют IP адрес прокси, затем ищут его в каждом RBL. Осложняется задача тем, что списков RBL много, примерно столько же, как поисковых систем. Это и www.spamcop.net, opm.blitzed.org, www.mail-abuse.com, dsbl.org, и другие.
Сайты же «узнают», что прокси сервер находится в листе RBL через IP. Открывая сайт, вы сообщаете ему IP адрес. Клиент же, при подключении к через прокси – непосредственно сервер. Об IP адресе прокси, переменную REMOTE_ADDR, сайт запрашивает информацию у каждого RBL.
«Атака и защита»
Всегда были, есть и будут желающие остаться анонимными в Сети. Но с ними также всегда будут бороться желающие узнать о своих клиентах все. Наверняка появятся новые способы и программные средства сокрытия информации о визитах на сайты в Сети. И с той же уверенностью можно говорить о новинках, способных «пробить» или обойти эту защитные методы.
Сейчас для защиты от определения IP необходимы:
- запреты
- cookies
- Java и JavaScript
- выполнения ActiopScripst (активных сценариев)
- ActiveX
- соксификация браузера. Вы сможете быть уверенными в том, что знаете, что именно отправляет и принимает браузер или какая-нибудь программа. Вся информация «перехватывается» и перенаправляется на proxy сервер.
- использование «чистых» прокси серверов, не находящихся в списках RBL. Помните, что каждый прокси желательно проверять в 10-20 или хотя бы в 1-2 самых популярных RBL. Для этого потребуются программы, проверяющие прокси на нахождение в RBL.
Вероятности неудачи
Запреты «пробиваются» довольно просто: создается сайт на основе Java / JavaScript / Cookies (динамические меню и т.п.), а при введении запретов сайт становится «нерабочим». Заметим, что на web-почту без cookies можно просто не войти.
Соксификация не дает 100% гарантии, что IP действительно «спрятан». Поскольку для нахождения IP есть два метода:
- В Интернет напрямую, без proxy (даже если браузер настроен только на работу через proxy) обращается Java-программа. А сервер, в свою очередь, выдает программе Ваш реальный IP.
- IP адрес выдается после анализа настроек Windows.
Соксификация как метод защиты способна преградить работу по первому алгоритму определения IP, но против второго она бессильна!
Глобальный фейл случится, если используемый IP адрес все же «засветился» в каком-нибудь отдаленном (и не проверенном вами) RBL. Если сайт проверил и подтверждил наличие в RBL IP клиента, увы, анонимность прокси бесполезна. Даже если вы сделали ставку на high anonymous / socks4 / socks5, и одновременно запретили ActiveX / Java / и все остальные. IP адрес прокси сервера должен быть «чистым». Впрочем, «черных списков», если вам не жизненно важна 100% защита, можно не бояться. Ведь до сих пор не так уж и много сайтов проверяет IP пользователя по RBL.
И анонимность, и Java / ActiveX?
Возможности пользователя, отключившего Java / ActiveX, невелики. Если вы взялись за решение задачи «и анонимность, и Java / ActiveX», попробуем определить ее суть. Итак, вам предстоит преградить получение реального внешнего IP, анализируя настройки вашего компьютера. В то же время, сделать так, чтобы нельзя было напрямую подключиться к Сети, не через анонимный proxy сервер.
Способы решения:
- Организовать корпоративную сеть со внутренними IP адресами.
Корпоративный proxy сервер (новый компьютер с 2 IP адресами, внутренним и внешним) все запросы переадресует на анонимный бесплатный прокси.
Не через корпоративный прокси выйти в Интернет невозможно, так как у компьютера нет внешнего IP. Анализировать настройки компьютера также бесполезно. Результат: Java / ActiveX скрипт могут определить и «выдать» ваш IP адрес web серверу, но это будет внутренний (192.168.1.x) IP и никоем образом не «рассекретит» вас. Условно это можно называть 100%-ной анонимностью.
- Установить Firewall, где запретить все соединения из браузера с Интернетом, кроме прокси сервера, который Вам необходим.
Не поленитесь сделать дополнительно port mapping на бесплатный прокси сервер, после чего в браузере пропишите локальный порт из port mapping и «прокси» 127.0.0.1.
Возможная проблема: если скрипт проанализирует настройки Windows и «выдаст» IP, у Вас все-таки реальный внешний IP адрес, который может быть передан серверу.
Итог: любой proxy сервер, и бесплатные в первую очередь, ведут лог-файлы (протоколы работы). В них подробно указано, какие IP адреса куда и в какие периоды времени обращаются. Поэтому человек или организация, у которых есть полномочия (доступ к информации) и запас времени, при необходимости смогут узнать все. Например, выяснить, куда Вы ходили, что делали, даже если перед началом работы создавать цепочки из 10 анонимных proxy серверов из разных концов земного шара.