Web Proxy Autodiscovery Protocol

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая DionisioSPb (обсуждение | вклад) в 18:23, 9 июля 2011 (Описание: орфография). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Web Proxy Auto-Discovery Protocol (WPAD) (протокол автоматической настройки прокси) — метод, используемый клиентами для определения места (URL) расположения конфигурационного файла с использованием технологий DHCP и/или DNS. После того, как определено местоположение файла конфигурации и сам файл получен, клиент использует его для определения, каким прокси воспользоваться для каждого конкретного URL. WPAD протокол только определяет механизм поиска файла конфигурации, а вместе с ним чаще всего используется формат конфигурационного файла разработанный фирмой Netscape в 1996 для Netscape Navigator 2.0.[1] Впервые WPAD протокол был описан консорциумом компаний Inktomi Corporation, Microsoft Corporation, RealNetworks, Inc., и Sun Microsystems, Inc.. Позже WPAD протокол был официально задокументирован в INTERNET-DRAFT, действие которого закончилось в декабре 1999.[2] Конечно же WPAD протокол поддерживается только старшими версиями браузеров.Ошибка: некорректно задана дата установки (исправьте через подстановку шаблона) А впервые WPAD протокол был использован в Internet Explorer 5.0.

Описание

Для того, чтобы все браузеры в организации могли быть настроены без ручного конфигурирования каждого браузера, необходимо, чтобы работали две нижеперечисленные технологии:

  • Proxy auto-config (PAC) стандарт: необходимо создать и сделать доступным файл конфигурации. Различные детали этого описаны в разных статьях.
  • Web Proxy Autodiscovery Protocol (WPAD) стандарт: необходимо убедиться, что все браузеры в организации могут найти этот файл без указания его местонахождения вручную. Данная статья описывает этот процесс.

WPAD стандарт описывает два альтернативных метода распространения информации о расположении файла конфигурации для системных администраторов с использованием Dynamic Host Configuration Protocol (DHCP) или Domain Name System (DNS):

До того, как будет загружена первая страница, браузер использует эту технологию для отправки локальному DHCP-серверу DHCPINFORM-запрос, и использует полученный URL из WPAD-опции ответа сервера. Если DHCP-сервер не может предоставить требуемую информацию, то используется DNS. Если, например, DNS-имя компьютера pc.department.branch.example.com, браузер попытается обратиться к следующим URL для поиска конфигурационного файла:

  • http://wpad.department.branch.example.com/wpad.dat
  • http://wpad.branch.example.com/wpad.dat
  • http://wpad.example.com/wpad.dat
  • http://wpad.com/wpad.dat (обратите внимание на заметку о безопасности)

(Это только примеры URL)

Заметки

  • DHCP более приоритетен, чем DNS: если DHCP предоставляет WPAD URL, DNS не используется… Firefox не использует DHCP, только DNS
  • В DNS-запросе отбрасывается первая часть доменного имени (описывающая клиентское имя) и заменяется на wpad. Затем происходит «движение вверх» в иерархии доменных имён, пока не будет найден адрес расположения конфигурационного файла или не будет покинут домен организации.
  • Браузер пытается определить домен организации и пытается подставить названия доменов вида 'company.com' или 'university.edu', но не 'company.co.uk' (обратите внимание на заметку о безопасности).
  • При DNS-запросе предполагается, что именем файла конфигурации всегда является wpad.dat. При использовании DHCP-протокола может использоваться любой корректный URL. Исторически сложилось, что PAC-файл обычно называется proxy.pac (конечно же при использовании DNS-способа это имя игнорируется).
  • MIME type файла конфигурации должен быть именно «application/x-ns-proxy-autoconfig». Пожалуйста, прочтите Proxy auto-config для уточнения деталей.
  • Сейчас только Internet Explorer и Konqueror поддерживают оба метода (DHCP и DNS), DNS-метод поддерживается большинством современных браузеров.

Требования

Для того, чтобы WPAD работал, должны быть выполнены следующие условия:

  • При использовании DHCP необходимо, чтобы сервер предоставлял «site-local» опцию 252 («auto-proxy-config») со строковым значением вида «http://xxx.yyy.zzz.qqq/wpad.dat» (без кавычек, конечно), где xxx.yyy.zzz.qqq — адрес веб-сервера(в любом виде:IP или DNS).
  • При использовании DNS необходима запись об имени хоста WPAD.
  • Хост WPAD должен уметь выдавать веб-страницы.
  • В обоих случаях, веб-сервер должен быть сконфигурирован таким образом, чтобы выдавать dat-файлы с MIME type Шаблон:Nowrap begin«application/x-ns-proxy-autoconfig»Шаблон:Nowrap end.
  • Файл с названием wpad.dat должен располагаться на хосте WPAD в root directory.
  • Пример PAC-файла можно посмотреть в Proxy auto-config.
  • Будьте аккуратны при конфигурировании WPAD-сервера virtual hosting окружении. Когда происходит автоматическое определение прокси, Internet Explorer отправляет заголовок вида «Host: <IP address>», а Firefox отправляет заголовок «Host: wpad». Всё это может привести к непредсказуемому поведению сервера, поэтому рекомендуется, чтобы файл wpad.dat располагался в default Virtual Host.
  • Internet Explorer версии 6.0.2900.2180.xpsp_sp2_rtm запрашивает у веб-сервера «wpad.da» вместо «wpad.dat».

Безопасность

Вместе с возможностью очень легко сразу сконфигурировать все браузеры в организации, WPAD-протокол должен использоваться очень аккуратно: простые ошибки могут открыть дверь атакующим для внесения изменений через пользовательские браузеры:

  • Атакующий внутри сети может запустить DHCP-сервер, который будет предлагать поддельный PAC-скрипт.
  • Если домен организации 'company.co.uk', а файл http://wpad.company.co.uk/wpad.dat не существует, то браузеры попытаются обратиться к http://wpad.co.uk/wpad.dat. Браузер не может сам определить, когда он покидает домен организации. Наглядный пример — http://wpad.com/
  • То же самое относится и к http://wpad.org.uk. Например, при использовании файла wpad.dat с подобного сайта, можно перенаправить весь пользовательский трафик на сайт интернет-аукциона.
  • ISP, которые используют технологии DNS hijacking, могут пресечь DNS-запрос по WPAD-протоколу, перенаправив пользователей к сайту, который не является прокси.

Посредством WPAD-файла атакующий может перенаправить пользовательские браузеры на свой собственный прокси, вклиниться в передачу и модифицировать весь www-трафик. Несмотря на внесение простейшего изменения для Windows в управлении WPAD в 2005 году, оно только защищает от проблем с использованием домена .com . Сюжет-презентация Kiwicon показывает, чем может обернуться беспечность в отношении даже маленькой уязвимости, когда для тестов был зарегистрирован простой домен в Новой Зеландии и к нему в течение нескольких секунд начали поступать прокси-запросы изо всех стран мира.

Конечно же. администратор должен быть уверен, что пользователи могут доверять всем DHCP-серверам в организации и что все возможные WPAD-домены для организации под контролем.

Более того, если wpad-домен не сконфигурирован для организации, то пользователи могут добраться дойти до какого-нибудь внешнего, следующего wpad-домена и использовать его для самоконфигурирования. Регистрация такого поддомена в конкретной стране позволит осуществлять атаки вида man-in-the-middle («человек посередине») над громадной долей интернет-трафика всей страны, если дополнительно установить прокси-сервер и заворачить весь трафик на него.

И в завершение всех проблем нужно упомянуть, что WPAD-метод фактически ищет и скачивает файл JavaScript, после чего выполняет его в браузере, который, однако, уже может быть отключён в настройках.

Примечания

  1. Navigator Proxy Auto-Config File Format. Netscape Navigator Documentation (март 1996). Дата обращения: 29 сентября 2009. Архивировано 18 декабря 2006 года.
  2. Gauthier, Paul; Josh Cohen, Martin Dunsmuir, Charles Perkins.: INTERNET-DRAFT Web Proxy Auto-Discovery Protocol. IETF (7/28/99). Дата обращения: 15 октября 2009.

Ссылки