Прозрачные прокси

Прозрачные прокси

Прозрачный прокси пропускает запросы через свой сервер, но раскрывает сайту исходный IP пользователя. Например, он добавляет этот адрес в HTTP-заголовок — служебное поле запроса. Поэтому само подключение через другой IP ещё не означает, что ваш адрес скрыт.

Термин относится к старой классификации уровней анонимности прокси. Для современных коммерческих прокси нормой стало поведение Elite / High Anonymity: сервис не передаёт сайту исходный IP клиента и не добавляет заголовки, сообщающие об использовании прокси. Категория Transparent полезна прежде всего для понимания старых описаний и обозначений в публичных списках.

Как сайт узнаёт ваш IP

Допустим, ваш публичный IP — 198.51.100.24, а прокси обращается к сайту с адреса 203.0.113.80. Соединение с сайтом устанавливает прокси, поэтому именно его адрес сайт видит как источник соединения.

Однако при пересылке незашифрованного HTTP-запроса прокси может добавить поле X-Forwarded-For: 198.51.100.24. Тогда сайт получает сразу два адреса: IP прокси из соединения и ваш IP из содержимого запроса.

Запрос идёт от устройства с IP 198.51.100.24 через прокси 203.0.113.80 к сайту. Сайт получает IP прокси из соединения и исходный IP пользователя из X-Forwarded-For.
Прокси устанавливает соединение со своего IP, но передаёт адрес пользователя внутри HTTP-запроса.

Страница проверки IP может показывать только адрес соединения. В таком случае вы увидите IP прокси, хотя ваш собственный адрес тоже дошёл до сайта. Чтобы проверить такое раскрытие, сравните переданное значение с публичным IP, с которого подключаетесь к прокси: само наличие X-Forwarded-For ещё не доказывает, что в нём указан ваш настоящий адрес. Сайт не обязан доверять значению из чужого заголовка, но если это ваш IP, информация уже передана.

Зачем сохранять исходный адрес

У прокси есть задачи, для которых анонимность не нужна. В сети организации он может ограничивать доступ к сайтам, фильтровать запросы или сохранять разрешённые для кеширования ответы, чтобы повторно выдавать их без загрузки с исходного сервера.

Если запрос проходит через несколько систем одной организации, следующей системе бывает важно знать, от какого клиента он пришёл. Передача исходного адреса помогает учитывать обращения и применять правила доступа. Это осознанная настройка инфраструктуры. Для покупателя, который хочет скрыть свой IP от внешних сайтов, такое поведение не подходит.

Другое значение слова «прозрачный»

В описаниях сетей прозрачным также называют прокси, через который трафик направляется автоматически. Пользователь не вводит адрес прокси в браузере: маршрут задаёт сетевое оборудование. Администратор может таким способом подключить устройства к общей системе фильтрации.

Здесь слово описывает способ подключения. В классификации анонимности оно описывает раскрытие IP сайту. Эти свойства независимы: ручная настройка прокси не гарантирует сокрытия адреса, а автоматическое перенаправление само по себе не означает, что адрес передаётся в HTTP-заголовках.

Что меняется при HTTPS

Пример с X-Forwarded-For относится к запросу, содержимое которого доступно прокси. При обычном HTTPS-соединении через HTTP-прокси программа создаёт туннель методом CONNECT. Затем запрос к сайту, включая его заголовки, передаётся внутри зашифрованного соединения TLS. Прокси, который только передаёт эти данные, не может вставить туда ваш IP.

Корпоративный шлюз с расшифровкой HTTPS работает иначе: устройство пользователя должно доверять его сертификатам, чтобы проверка проходила без ошибок сертификата. Поэтому результат Transparent в тесте обычного HTTP нельзя автоматически переносить на HTTPS через туннель.

Вернуться в базу знаний