/wpad.dat

WPAD (ネットワーク)

仕様書

プロトコル

[8] DHCP を使う方法と DNS を使う方法があります。

歴史

[3] draft-ietf-wrec-wpad-00 - Web Proxy Auto-Discovery Protocol () <https://tools.ietf.org/html/draft-ietf-wrec-wpad-00>

[2] draft-ietf-wrec-wpad-01 - Web Proxy Auto-Discovery Protocol ( 版) <https://tools.ietf.org/html/draft-ietf-wrec-wpad-01>

[4] draft-cooper-webi-wpad-00 - Web Proxy Auto-Discovery Protocol ( 版) <https://tools.ietf.org/html/draft-cooper-webi-wpad-00>

[6] WinHTTP AutoProxy Support (Windows) ( 版) <https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa384240(v=vs.85).aspx>

[1] Web Proxy Autodiscovery Protocol - Wikipedia, the free encyclopedia ( 版) <https://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol>

[7] JVNTA#91048063: WPAD と名前衝突の問題 ( ()) <https://jvn.jp/ta/JVNTA91048063/index.html>

Windows システムや Internet Explorer では、初期設定で WPAD の使用が有効になっています。Mac や Linux システムでは、Safari、Chrome、Firefox は WPAD に対応していますが、初期設定では無効になっています。

新 gTLD プログラムが開始され、新たな gTLD の新設が行われています。社内ネットワークでこのような gTLD が独自に使われていた場合、一定の条件のもとで(例えば社内ネットワークで使われていた PC を自宅に持ち帰ってインターネット環境に接続したり、社外に移動してインターネット環境に接続するなど)、WPAD に関する DNS クエリがインターネット上の DNS サーバに送られてしまうことがあります。

このような DNS クエリ「漏れ」が発生している場合、第三者が、該当ドメインのドメイン登録と DNS クエリに対して応答する環境を用意することにより、中間者攻撃 (Man-In-The-Middle attack) を行う可能性があります。

[9] Issue 18575 - chromium - Non-Windows platforms: WPAD (proxy autodetect discovery) does not test DHCP - Monorail ( ()) <https://bugs.chromium.org/p/chromium/issues/detail?id=18575#c20>

Chrome intentionally does not follow the specification for WPAD when it comes to DNS devolution.

Neither does Firefox for that matter.

The concern is regarding security: If you aren't extremely careful, then using the DNS devolution scheme outlined by the IETF draft, it is easy cross outside organizational boundaries and auto-detect external sites like "wpad.com" or "wpad.org.uk". Of course this is bad since it gives an attacker control over your web traffic. Historically this has been an issue.

To guard against such attacks, one could test for top level domains (TLDs), and prevent fallback to eTLD+1 hosts. Conceptually this would work, however it is still fragile. Keep in mind that TLDs can change over time, and that in Chrome they are identified using a static registry which is shipped with the binary. That means whenever a new TLD is introduced, users would be vulnerable to this class of attack until the browser was updated to recognize that TLD.

So instead, the approach taken by Chrome is to just call getaddrinfo("wpad"). Implicitly this means we will use the client's DNS suffix search path. It is far easier for organizations to maintain the suffix search path in a safe way, and prevent jumping outside of the corporate boundary.

[10] 356831 – Proxy autodiscovery doesn't check DHCP (option 252) ( ()) <https://bugzilla.mozilla.org/show_bug.cgi?id=356831>

[11] 356831 – Proxy autodiscovery doesn't check DHCP (option 252) ( ()) <https://bugzilla.mozilla.org/show_bug.cgi?id=356831>

[12] linux - dhcp option 252 what is it? - Super User ( ()) <http://superuser.com/questions/382964/dhcp-option-252-what-is-it>

[13] chrome.proxy - Google Chrome ( ()) <https://developer.chrome.com/extensions/proxy>

auto_detect

In auto_detect mode the proxy configuration is determined by a PAC script that can be downloaded at http://wpad/wpad.dat. This mode allows no further parameters in the ProxyConfig object.

[14] "WPAD" について – Japan IE Support Team Blog () <https://blogs.technet.microsoft.com/jpieblog/2014/10/22/wpad/>

Windows 7 環境の IE8 以降では、Smart WPAD と呼ばれる機能があります。

Windows 7 より前の環境の IE では、WPAD による pac ファイルが『利用できない』ネットワーク環境においても [設定を自動的に検出する] が有効な場合に検出処理を行うため、IE 起動直後の初回のページ表示が遅いという報告が寄せられていました。

Smart WPAD は、高速化のために、ネットワーク識別子ごとにかつての WPAD 解決結果を 30 日間保持する機能です。

解決結果には取得できなかった場合も含まれるので、"WPAD を使わない" という結果も保持されます。

WPAD 解決ができた場合は、解決した URL を保持します。

一度 WPAD が使用できないネットワークと判断された場合、そのネットワークに対して 30 日間は WPAD を使用しないように動作します。

[15] JVNTA#91048063: WPAD と名前衝突の問題 () <https://jvn.jp/ta/JVNTA91048063/>

[16] That depends: Windows 2012: 今更 WPAD.DAT を設定してみた () <http://tby-zup.blogspot.jp/2013/04/windows-2012-wpaddat.html>

今登録されている MIME の一覧が表示されるので、右の操作ペイン から [追加] をクリックして、

ファイル名の拡張子: .DAT

MIME の種類: application/x-ns-proxy-autoconfig