15 сент. 2011 г.

Настройка Squid как High Anonymity(Elite) proxy

Немного теории. Есть такая штука - html headers ( http://en.wikipedia.org/wiki/HTTP_header ). Передавая которые, наш прокси сообщает очень много данных о себе целевым хостам.

Существует 2 типа анонимных прокси:
  • Anonymity - скрывает только IP клиента;
  • High Anonymity(Elite) proxy - скрывает вообще сам факт того, что клиент находится за прокси.
Настраивается High Anonymity(Elite) proxy очень легко: по статье на офиц вики  http://www.squid-cache.org/Doc/config/header_access/

Т. е. Оставляем только нужные нам html-хедеры, а остальные запрещаем (вариант 2):

header_access Allow allow all
header_access Authorization allow all
header_access WWW-Authenticate allow all
header_access Proxy-Authorization allow all
header_access Proxy-Authenticate allow all
header_access Cache-Control allow all
header_access Content-Encoding allow all
header_access Content-Length allow all
header_access Content-Type allow all
header_access Date allow all
header_access Expires allow all
header_access Host allow all
header_access If-Modified-Since allow all
header_access Last-Modified allow all
header_access Location allow all
header_access Pragma allow all
header_access Accept allow all
header_access Accept-Charset allow all
header_access Accept-Encoding allow all
header_access Accept-Language allow all
header_access Content-Language allow all
header_access Mime-Version allow all
header_access Retry-After allow all
header_access Title allow all
header_access Connection allow all
header_access Proxy-Connection allow all
header_access All deny all


Еще можно разрешить хедер Set-Cookie ибо без кукисов многие сайты не будут корректно проводить авторизацию пользователя и т. п.

После этого перезапускаем сквид, не забыв настроить права доступа и т. д. - то, что Вам еще нужно от прокси.

Протестить наш проксик можно с помощью сайта http://proxydetect.com/ (не забыв в настройках браузера вбить наш прокси).

После написание вышеописанного :) обнаружил более простой способ:

header_access Via deny all
header_access Proxy deny all

header_access X-Forwarded-For deny all

И всё :) не отсылая эти заголовки, наш прокси становится хай анонимным.

З. Ы. Конфиг валидный для сквиды 2.5 или 2.7. Для 3.х сквиды директива header_access заменяется на request_header_access и reply_header_access, т. е. нужно запрещать заголовки как для запроса, так и для ответа.