Web Proxy Autodiscovery Protocol: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
 
(не показаны 33 промежуточные версии 21 участника)
Строка 1: Строка 1:
'''Web Proxy Auto-Discovery Protocol (WPAD)''' (протокол автоматической настройки прокси) — метод, используемый клиентами для определения места (URL) расположения конфигурационного файла с использованием технологий DHCP и/или DNS. После того, как определено местоположение файла конфигурации и сам файл получен, клиент использует его для определения, каким прокси воспользоваться для каждого конкретного URL. WPAD протокол только определяет механизм поиска файла конфигурации, а вместе с ним чаще всего используется формат конфигурационного файла разработанный фирмой [[Netscape Communications|Netscape]] в 1996 для [[Netscape Navigator|Netscape Navigator 2.0]].<ref>{{cite web |url=http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html|archiveurl=http://web.archive.org/web/20061218002753/wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html|date=March 1996|archivedate=Dec 18, 2006|title=Navigator Proxy Auto-Config File Format|accessdate=2009-09-29|work = Netscape Navigator Documentation}}</ref>
'''Web Proxy Auto-Discovery Protocol (WPAD)''' (протокол автоматической настройки прокси) — метод, используемый клиентами для определения места (URL) расположения конфигурационного файла с использованием технологий DHCP и/или DNS. После того, как определено местоположение файла конфигурации и сам файл получен, клиент использует его для определения, каким прокси воспользоваться для каждого конкретного URL. Протокол WPAD только определяет механизм поиска файла конфигурации, а вместе с ним чаще всего используется формат конфигурационного файла, разработанный фирмой [[Netscape Communications|Netscape]] в 1996 для [[Netscape Navigator|Netscape Navigator 2.0]].<ref>{{cite web|url=http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html|archiveurl=https://web.archive.org/web/20061218002753/http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html|date=1996-03|archivedate=2006-12-18|title=Navigator Proxy Auto-Config File Format|accessdate=2009-09-29|work=Netscape Navigator Documentation}}</ref>
Впервые WPAD протокол был описан консорциумом компаний [[Inktomi Corporation]], [[Microsoft|Microsoft Corporation]], [[RealNetworks|RealNetworks, Inc.]], и [[Sun Microsystems|Sun Microsystems, Inc.]]. Позже WPAD протокол был официально задокументирован в INTERNET-DRAFT, действие которого закончилось в декабре 1999.<ref>{{cite web
Впервые протокол WPAD был описан консорциумом компаний [[Inktomi Corporation]], [[Microsoft|Microsoft Corporation]], [[RealNetworks|RealNetworks, Inc.]], и [[Sun Microsystems|Sun Microsystems, Inc.]]. Позже протокол WPAD был официально задокументирован в INTERNET-DRAFT, действие которого закончилось в декабре 1999.<ref>{{cite web
|url = https://tools.ietf.org/html/draft-ietf-wrec-wpad-01
|url=http://tools.ietf.org/html/draft-ietf-wrec-wpad-01|title=INTERNET-DRAFT Web Proxy Auto-Discovery Protocol|accessdate=2009-10-15|first=Paul|last=Gauthier|coauthors=[[Josh Cohen]], [[Martin Dunsmuir]], [[Charles Perkins(Sun)|Charles Perkins]]|date=7/28/99|work=IETF}}</ref> Конечно же WPAD протокол поддерживается только старшими версиями браузеров.{{cn|date=February 2010}} А впервые WPAD протокол был использован в [[Internet Explorer 5|Internet Explorer 5.0]].
|title = INTERNET-DRAFT Web Proxy Auto-Discovery Protocol
|accessdate = 2009-10-15
|first = Paul
|last = Gauthier
|coauthors = [[Josh Cohen]], [[Martin Dunsmuir]], [[Charles Perkins(Sun)|Charles Perkins]]
|date =1999-07-28
|work = IETF
|archiveurl = https://www.webcitation.org/678MZvbjq?url=https://tools.ietf.org/html/draft-ietf-wrec-wpad-01
|archivedate = 2012-04-23
}}</ref> Протокол WPAD поддерживается только старшими версиями браузеров. А впервые он был использован в Internet Explorer 5.0.


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


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


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


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


* <nowiki>http://wpad.department.branch.example.com/wpad.dat</nowiki>
* <nowiki>http://wpad.department.branch.example.com/wpad.dat</nowiki>
Строка 21: Строка 31:


== Заметки ==
== Заметки ==
* '''''DHCP более приоритетен, чем DNS: если DHCP предоставляет WPAD URL, DNS не используется. Firefox не использует DHCP, только DNS'''''.

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


== Требования ==
== Требования ==

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


* При использовании DHCP необходимо, чтобы сервер предоставлял «site-local» опцию 252 («auto-proxy-config») со строковым значением вида «<nowiki>http://xxx.yyy.zzz.qqq/wpad.dat</nowiki>» (без кавычек, конечно), где xxx.yyy.zzz.qqq — адрес веб-сервера(в любом виде:[[Internet Protocol|IP]] или [[Domain Name System|DNS]]).
* При использовании DHCP необходимо, чтобы сервер предоставлял «site-local» опцию 252 («auto-proxy-config») со строковым значением вида «<nowiki>http://xxx.yyy.zzz.qqq/wpad.dat</nowiki>» (без кавычек, конечно), где xxx.yyy.zzz.qqq — адрес веб-сервера(в любом виде: [[Internet Protocol|IP]] или [[Domain Name System|DNS]]).
* При использовании DNS необходима запись об имени хоста WPAD.
* При использовании DNS необходима запись об имени хоста WPAD.
* Хост WPAD должен уметь выдавать [[веб-страницы]].
* Хост WPAD должен уметь выдавать [[веб-страницы]].
* '''В обоих случаях''', веб-сервер должен быть сконфигурирован таким образом, чтобы выдавать dat-файлы с [[MIME type]] {{nowrap begin}}«application/x-ns-proxy-autoconfig»{{nowrap end}}.
* '''В обоих случаях''' веб-сервер должен быть сконфигурирован таким образом, чтобы выдавать dat-файлы с [[MIME|MIME type]] {{nobr|«application/x-ns-proxy-autoconfig»}}.
* Файл с названием ''wpad.dat'' должен располагаться на хосте WPAD в [[root directory]].
* Файл с названием ''wpad.dat'' должен располагаться на хосте WPAD в [[root directory]].
* Пример PAC-файла можно посмотреть в [[Proxy auto-config]].
* Пример PAC-файла можно посмотреть в [[Proxy auto-config]].
* Будьте аккуратны при конфигурировании WPAD-сервера [[virtual hosting]] окружении. Когда происходит автоматическое определение прокси, Internet Explorer отправляет заголовок вида «Host: <IP address>», а Firefox отправляет заголовок «Host: wpad». Всё это может привести к непредсказуемому поведению сервера, поэтому рекомендуется, чтобы файл wpad.dat располагался в default Virtual Host.
* Будьте аккуратны при конфигурировании 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».
* Internet Explorer версии 6.0.2900.2180.xpsp_sp2_rtm запрашивает у веб-сервера «wpad.da» вместо «wpad.dat».
* Начиная с Windows 2008 и в последующих обновлений безопасности «MS09-008 for Windows Server 2003 DNS and WINS servers» используется технология [https://technet.microsoft.com/ru-ru/library/cc794902(v=ws.10).aspx Global query block list] {{Wayback|url=https://technet.microsoft.com/ru-ru/library/cc794902(v=ws.10).aspx |date=20150701090433 }} . Принудительно запрещается разрешать адреса WPAD, ISATAP в DNS в целях противодействия атакам на подмену серверу WPAD.


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

Вместе с возможностью очень легко сразу сконфигурировать все браузеры в организации, WPAD-протокол должен использоваться очень аккуратно: простые ошибки могут открыть дверь атакующим для внесения изменений через пользовательские браузеры:
* Атакующий внутри сети может запустить [[DHCP]]-сервер, который будет предлагать поддельный PAC-скрипт.
* Атакующий внутри сети может запустить [[DHCP]]-сервер, который будет предлагать поддельный PAC-скрипт.
* Если домен организации 'company.co.uk', а файл <nowiki>http://wpad.company.co.uk/wpad.dat</nowiki> не существует, то браузеры попытаются обратиться к <nowiki>http://wpad.co.uk/wpad.dat</nowiki>. Браузер не может сам определить, когда он покидает домен организации. Наглядный пример — http://wpad.com/
* Если домен организации 'company.co.uk', а файл <nowiki>http://wpad.company.co.uk/wpad.dat</nowiki> не существует, то браузеры попытаются обратиться к <nowiki>http://wpad.co.uk/wpad.dat</nowiki>. Браузер не может сам определить, когда он покидает домен организации. Наглядный пример — http://wpad.com/ {{Wayback|url=http://wpad.com/ |date=20060719122101 }}
* То же самое относится и к <nowiki>http://wpad.org.uk</nowiki>. Например, при использовании файла wpad.dat с подобного сайта, можно перенаправить весь пользовательский трафик на сайт интернет-аукциона.
* То же самое относится и к <nowiki>http://wpad.org.uk</nowiki>. Например, при использовании файла wpad.dat с подобного сайта, можно перенаправить весь пользовательский трафик на сайт интернет-аукциона.
* [[Интернет-провайдеры|ISP]], которые используют технологии [[DNS hijacking]], могут пресечь DNS-запрос по WPAD-протоколу, перенаправив пользователей к сайту, который не является прокси.
* [[Интернет-провайдеры|ISP]], которые используют технологии [[DNS hijacking]], могут пресечь DNS-запрос по WPAD-протоколу, перенаправив пользователей к сайту, который не является прокси.


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


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


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


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


== Примечания ==
== Примечания ==
Строка 65: Строка 72:
== Ссылки ==
== Ссылки ==
* {{cite web
* {{cite web
| author = Stefaan Pouseele
|author = Stefaan Pouseele
| authorlink =
|authorlink =
| datepublished = 2005-06-11
|datepublished = 2005-06-11
| url = http://www.redline-software.com/rus/support/articles/isaserver/general/understanding_the_web_proxy_and_firewall_client_automatic_configuration.php
|url = http://www.redline-software.com/rus/support/articles/isaserver/general/understanding_the_web_proxy_and_firewall_client_automatic_configuration.php
| title = Понимание процесса автоматической настройки Web Proxy и клиента брандмауэра в ISA Server 2004
|title = Понимание процесса автоматической настройки Web Proxy и клиента брандмауэра в ISA Server 2004
| format =
|format =
| work =
|work =
| publisher = Red Line Software
|publisher = Red Line Software
| accessdate = 2010-05-14
|accessdate = 2010-05-14
| lang = RU
|lang = ru
|archiveurl = https://web.archive.org/web/20160313060644/http://www.redline-software.com/rus/support/articles/isaserver/general/understanding_the_web_proxy_and_firewall_client_automatic_configuration.php
|archivedate = 2016-03-13
|deadlink = yes
}}
}}
* {{cite web|url=http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/web-browser-auto-proxy-configuration.html|title=Automatic proxy HTTP server configuration in web browsers|work=Frequently Given Answers|author=Jonathan de Boyne Pollard|date=2004}}
* {{cite web|url=https://jdebp.eu/FGA/web-browser-auto-proxy-configuration.html|title=Automatic proxy HTTP server configuration in web browsers|work=Frequently Given Answers|first=Jonathan|last=de Boyne Pollard|date=2004|archiveurl=https://www.webcitation.org/678Mawshh?url=http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/web-browser-auto-proxy-configuration.html|archivedate=2012-04-23}}
* {{cite web|url=http://video.google.com/videoplay?docid=-4596414840866123044|title=WPAD - Attacking the Proxy|author=Chris Paget|date=2007}}
* {{cite web|url=http://video.google.com/videoplay?docid=-4596414840866123044|title=WPAD - Attacking the Proxy|author=Chris Paget|date=2007|archiveurl=https://www.webcitation.org/678MbPg2b?url=http://video.google.com/videoplay?docid=-4596414840866123044|archivedate=2012-04-23}}
* {{cite web|url=http://www.mercenary.net/blog/index.php?/archives/42-HOWTO-WPAD.html|title=HOWTO: WPAD|author=David W. Hankins|date=2008}}
* {{cite web|url=http://www.mercenary.net/blog/index.php?/archives/42-HOWTO-WPAD.html|title=HOWTO: WPAD|author=David W. Hankins|date=2008|archiveurl=https://www.webcitation.org/678Mbp0MO?url=http://www.mercenary.net/blog/index.php?%2Farchives%2F42-HOWTO-WPAD.html|archivedate=2012-04-23}}


* IETF 1999: [http://tools.ietf.org/html/draft-ietf-wrec-wpad-01 Web Proxy Auto-Discovery Protocol] — Expired internet draft.
* IETF 1999: [https://tools.ietf.org/html/draft-ietf-wrec-wpad-01 Web Proxy Auto-Discovery Protocol] {{Архивировано|url=https://www.webcitation.org/678MZvbjq?url=https://tools.ietf.org/html/draft-ietf-wrec-wpad-01 |date=2012-04-23 }} — Expired internet draft.
* http://wpad.com/ — where all unmatched WPAD traffic from .com domains goes to.
* http://wpad.com/ {{Wayback|url=http://wpad.com/ |date=20060719122101 }} — where all unmatched WPAD traffic from .com domains goes to.
* Waikato Linux Users Group Wiki 2004: [http://www.wlug.org.nz/WPAD WPAD]
* Waikato Linux Users Group Wiki 2004: [https://web.archive.org/web/20100523074813/http://wlug.org.nz/WPAD WPAD]
* [http://findproxyforurl.com/ FindProxyForURL.com] — A Proxy Auto-Configuration Resources (PAC File & WPAD Examples)
* [http://findproxyforurl.com/ FindProxyForURL.com] {{Wayback|url=http://findproxyforurl.com/ |date=20100412081828 }} — A Proxy Auto-Configuration Resources (PAC File & WPAD Examples)
* [http://l10n.kde.org/docs/admin/konqueror.html Proxy configuration notes for Konqueror]
* [https://web.archive.org/web/20150211100628/http://l10n.kde.org/docs/admin/konqueror.html Proxy configuration notes for Konqueror]
* [http://www.soo1.net/AutoProxy.html AutoProxy for Windows]; Fully Automatic Proxy configuration tool for Internet Explorer and Firefox based on network location profiles (freeware)
* [https://web.archive.org/web/20100121180840/http://www.soo1.net/AutoProxy.html AutoProxy for Windows]; Fully Automatic Proxy configuration tool for Internet Explorer and Firefox based on network location profiles (freeware)
* [https://web.archive.org/web/20070602031929/http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html Navigator Proxy Auto-Config File Format] ([http://ubuntu-faq.blogspot.ru/2013/11/wpad-proxy-pac.html перевод] {{Wayback|url=http://ubuntu-faq.blogspot.ru/2013/11/wpad-proxy-pac.html |date=20131104123644 }}) — Описание формата PAC-файла


[[Категория:Браузеры]]
[[Категория:Браузеры]]

[[de:Web Proxy Autodiscovery Protocol]]
[[en:Web Proxy Autodiscovery Protocol]]
[[ja:Web Proxy Auto-Discovery Protocol]]
[[pt:WPAD]]
[[tr:WPAD]]

Текущая версия от 05:32, 16 ноября 2023

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 поддерживается только старшими версиями браузеров. А впервые он был использован в 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 «application/x-ns-proxy-autoconfig».
  • Файл с названием 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».
  • Начиная с Windows 2008 и в последующих обновлений безопасности «MS09-008 for Windows Server 2003 DNS and WINS servers» используется технология Global query block list Архивная копия от 1 июля 2015 на Wayback Machine . Принудительно запрещается разрешать адреса WPAD, ISATAP в DNS в целях противодействия атакам на подмену серверу WPAD.

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

[править | править код]

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

  • Атакующий внутри сети может запустить DHCP-сервер, который будет предлагать поддельный PAC-скрипт.
  • Если домен организации 'company.co.uk', а файл http://wpad.company.co.uk/wpad.dat не существует, то браузеры попытаются обратиться к http://wpad.co.uk/wpad.dat. Браузер не может сам определить, когда он покидает домен организации. Наглядный пример — http://wpad.com/ Архивная копия от 19 июля 2006 на Wayback Machine
  • То же самое относится и к 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, после чего выполняет его в браузере, где, однако, 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 (28 июля 1999). Дата обращения: 15 октября 2009. Архивировано 23 апреля 2012 года.