Анонимность proxy

Обмен информацией в internet осуществляется по модели "клиент-сервер". Клиент посылает запрос (какие файлы ему нужны), а сервер посылает ответ (запрошенные файлы). Для тесного взаимодействия (так сказать, "полного взаимопонимания") между клиентом и сервером клиент посылает дополнительную информацию о себе: версию и название операционной системы, конфигурацию браузера (включая название и номер версии Вашего браузера) и т.д. Эта информация может быть необходима серверу, чтобы знать какую web страницу предоставить клиенту: для разных конфигураций браузеров могут быть разные варианты web-страниц. Однако поскольку обычно web страницы не зависят от браузеров, имеет смысл эту информацию скрыть от web сервера.

Какая информация передается web серверу (эту информацию в основном передает браузер, однако часть информации добавляет от себя прокси сервер):

  • название и версия операционной системы
  • название и версия браузера
  • настройки браузера (разрешение экрана, глубина цвета, поддержка java / javascript, ...)
  • ip адрес клиента (если используется proxy, то заменяется proxy сервером на ip proxy)
  • используется ли proxy сервер (если используется proxy, то ip клиента - это ip proxy) - добавляется proxy сервером
  • если используется proxy, то Ваш реальный ip адрес - добавляется proxy сервером
  • другая информация

Важнейшей частью этой информации (и "совершенно ненужной" web серверу) является информация о ip адресе и о факте использования proxy. Ведь используя Ваш ip, о Вас можно узнать очень многое:

  • страну, где Вы находитесь
  • город
  • название Вашего провайдера и его e-mail
  • Ваш физический адрес! (иногда)

Информация, передаваемая клиентом серверу, доступна для сервера в виде так называемых переменных окружения (environment variables). Каждая единица этой информации является значением какой-либо переменной. Если же какая-то часть информации не передается, то соответствующая ей переменная будет пустая (ее значение будет неопределенным).

Какие бывают переменные окружения:

selected-text">remote_addr - ip адрес клиента
selected-text">http_via - если не пустая, значит используется proxy. Значение - адрес (или несколько адресов) proxy сервера.
selected-text">http_x_forwarded_for - если не пустая, значит используется proxy. Значение - реальный ip адрес клиента (Ваш ip).
http_accept_language - какой язык используется в браузере по умолчанию (на каком языке лучше отображать страницу)
http_user_agent - так называемый "агент пользователя". Для большинства браузеров это будет mozilla. Кроме того, тут же указывается название и версия браузера (например msie 5.5) и операционная система (например windows 98)
http_host - имя web-сервера.

Здесь перечислена лишь малая часть переменных окружения. На самом деле их гораздо больше (document_root, http_accept_encoding, http_cache_control, http_connection, server_addr, server_software, server_protocol, ...) и их количество может зависить от конфигурации (настроек) как сервера, так и клиента.

Пример значений переменных:
remote_addr = 194.85.1.1
http_accept_language = ru
http_user_agent = mozilla/4.0 (compatible; msie 5.0; windows 98)
http_host = www.webserver.ru
http_via = 194.85.1.1 (squid/2.4.stable7)
http_x_forwarded_for = 194.115.5.5

Анонимность при работе в internet определяется тем, какие из переменных окружения "скрываются" от web сервера.
Для фильтрования передаваемой серверу информации существуют системы, называемые firewall (брандмауэры). proxy сервер также может выполнять (в определенной степени) роль firewall, "удаляя" информацию о ip адресе клиента.

Если proxy сервер не используется, то переменные окружения выглядят следующим образом:

remote_addr = Ваш ip
http_via = не определена
http_x_forwarded_for = не определена

По тому, какие переменные окружения подменяют / "скрывают" proxy серверы, существуют несколько видов proxy.

Прозрачные (обычные) proxy

Они не скрывают информацию о Вашем ip адресе:

remote_addr = ip proxy
http_via = ip proxy (используется proxy сервер)
http_x_forwarded_for = Ваш ip

Функцией таких proxy серверов не является повышение Вашей анонимности в internet. Они предназначены для кэширования информации, организации совместного доступа в internet нескольких компьютеров и т.д.

Анонимные proxy

Все proxy серверы, тем или иным способом скрывающие ip адрес клиента, называют анонимными. Хотя существуют несколько вариантов анонимных proxy, как правило, говоря "анонимный proxy сервер" имеют в виду их все, не различая подвиды.

простые анонимные proxy

Эти proxy серверы не скрывают того факта, что используется proxy, однако они подменяют Ваш ip на свой:

remote_addr = ip proxy
http_via = ip proxy (используется proxy сервер)
http_x_forwarded_for = ip proxy

Эти proxy наиболее распространены из всех видов анонимных proxy серверов.

искажающие proxy

Как и простые анонимные proxy серверы, эти proxy не скрывают того факта, что используется proxy сервер. Однако ip адрес клиента (Ваш) подменяется на другой (в общем случае произвольный, случайный) ip:

remote_addr = ip proxy
http_via = ip proxy (используется proxy сервер)
http_x_forwarded_for = случайный ip

элитные анонимные proxy

Эти proxy серверы также называют "сверх анонимные proxy", "high anonymous proxy". В отличие от других видов анонимных proxy серверов они скрывают факт использования proxy:

remote_addr = ip proxy
http_via = не определена
http_x_forwarded_for = не определена

То есть значения этих переменных такие же, как и в ситуации, когда proxy не используется, за исключением очень важной "мелочи": вместо Вашего ip адреса стоит ip адрес proxy сервера.

Резюме

В зависимости от целей, с которыми они создавались, существуют прозрачные и анонимные proxy. Однако учтите, что используя анонимный proxy, Вы скрываете от web сервера только Ваш ip, а вся остальная информация (о конфигурации браузера) остается доступной!


2008 © Computer repair