WPAD(Web Proxy Auto-Discovery)完全ガイド:ブラウザのプロキシ設定を「全自動化」する仕組みと構築手順

WPAD(Web Proxy Auto-Discovery)完全ガイド:ブラウザのプロキシ設定を「全自動化」する仕組みと構築手順 IT用語・PC用語辞典
WPAD(Web Proxy Auto-Discovery)完全ガイド:ブラウザのプロキシ設定を「全自動化」する仕組みと構築手順

企業のネットワーク管理者にとって、数百台・数千台のPCのプロキシ設定を管理するのは頭の痛い問題です。端末一台ごとの設定はもちろん、設定変更時の周知も大変な手間がかかります。

この課題を解決する技術が WPAD(Web Proxy Auto-Discovery Protocol) です。本記事では、クライアントPCがPACファイルを自動的に探し出し、設定を完了させるWPADの仕組みと、DHCP・DNSを用いた具体的な構築手順を解説します。

WPADとは何か

WPADは、Webブラウザなどのクライアントが、ネットワーク上に存在するPACファイル(プロキシ構成ファイル)の場所を自動的に発見するためのプロトコルです。

PACファイルとの関係

  • PACファイル: 「どの通信をどのプロキシに通すか」というルールが書かれた地図。
  • WPAD: その地図が「どこにあるか」を探し出す探索手段

導入のメリット

WPADを導入すると、PCのブラウザ設定で「設定を自動的に検出する」にチェックを入れるだけで設定が完了します。

  • キッティング工数の削減: 手動でのURL入力が不要。
  • 移動ユーザーへの対応: 本社では本社のプロキシ、支社では支社のプロキシを、ユーザーが意識することなく自動で切り替えられます。

WPADの動作プロセス(探索の仕組み)

クライアントPC(ブラウザ)で「自動検出」が有効になっている場合、以下の順序でPACファイルを探す「旅」に出ます。

  1. DHCPによる探索
    • PCはDHCPサーバーからIPアドレスを取得する際、「PACファイルの場所(URL)」も同時に問い合わせます。
    • 最も優先度が高く、確実な方法です。
  2. DNSによる探索
    • DHCPで情報が得られなかった場合、DNSサーバーに対して「wpad」という名前のホストを問い合わせます。
    • 例:ドメインが example.com の場合、http://wpad.example.com/wpad.dat というURLへアクセスを試みます。
  3. LLMNR / mDNS(ローカル探索)
    • DNSでも見つからない場合、同一サブネット内に「wpad」という名前のPCがいないかブロードキャストで探します(※セキュリティリスクがあるため、現在はOSレベルで無効化される傾向にあります)。

【構築編1】DHCPサーバーでの設定方法

DHCPを利用する方法は、クライアントへの反映が速く、セグメントごとに異なるPACファイルを配布できるメリットがあります。

DHCP Option 252の役割

WPADでは、DHCPのオプション番号 252 を使用します。ここにPACファイルのURLを文字列として設定します。

Windows Server DHCPでの設定手順

標準ではOption 252は定義されていないため、追加する必要があります。

  1. DHCP管理コンソールを開き、[IPv4]を右クリックして「既定のオプションの設定」を選択。
  2. 「追加」をクリックし、以下を入力して新規オプションを作成します。
    • 名前: WPAD (任意)
    • データ型: 文字列 (String)
    • コード: 252
  3. 作成したオプション252を有効にし、値にURLを入力します。
    • 例: http://192.168.1.10/wpad.dat

ネットワーク機器(Ciscoなど)での設定例

Cisco IOSのDHCPプール設定の例です。

Copyip dhcp pool CLIENT_POOL
 network 192.168.1.0 255.255.255.0
 option 252 ascii "http://192.168.1.10/wpad.dat"

【構築編2】DNSサーバーでの設定方法

DHCPに対応していないクライアントや、環境的な制約がある場合はDNS方式が使われます。一般的に、DHCPとDNSの両方を設定して冗長化を図ります。

Aレコード(wpad)の登録

DNSサーバーに、PACファイルを配布するWebサーバーのIPアドレスを指すAレコード(またはCNAME)を作成します。

  • ホスト名: wpad
  • FQDN例: wpad.example.com

Webサーバーの準備と注意点

IISやApacheなどでWebサーバーを立て、ルートディレクトリにPACファイルを配置します。 ここで重要なルールが2つあります。

  1. ファイル名は wpad.dat にする
    • DNSによる探索では、クライアントは決め打ちで /wpad.dat というファイル名を探しに行きます。(.pac ではありません)
  2. MIMEタイプの設定
    • 拡張子 .dat に対して、MIMEタイプ application/x-ns-proxy-autoconfig を設定する必要があります。これが設定されていないとブラウザがファイルをダウンロードできず、無視されます。

ドメインサフィックス検索の挙動

クライアントの所属ドメインが深い場合(例: dev.tokyo.example.com)、ブラウザは以下の順でサーバーを探します。

  1. wpad.dev.tokyo.example.com
  2. wpad.tokyo.example.com
  3. wpad.example.com

これにより、部門ごとに異なる設定を適用することも可能です。

ブラウザとOS側の設定

Windows「設定を自動的に検出する」の意味

Windowsの「設定」>「ネットワークとインターネット」>「プロキシ」にある**「設定を自動的に検出する」**のスイッチ。これがONになっていると、OSはWPADプロセス(DHCP→DNS)を実行します。

主要ブラウザの対応状況

  • Chrome / Edge: Windowsのシステム設定(IEプロキシ設定)に従います。OS側でONになっていれば動作します。
  • Firefox: 独自の接続設定を持っていますが、デフォルトは「システムのプロキシ設定を利用する」になっているため、通常はOS設定に準じます。明示的に「このネットワークのプロキシ設定を自動検出する」を選ぶことも可能です。

6. セキュリティリスクと対策

WPADは便利な反面、仕組みを悪用されるリスクがあります。

WPADポイズニング(中間者攻撃)

攻撃者が社内ネットワークに「wpad」というホスト名の偽サーバーを設置した場合、クライアントが偽のPACファイルを読み込み、すべての通信を攻撃者のプロキシ経由にしてしまう恐れがあります。

グローバルクエリブロックリスト(GQBL)の設定

Windows ServerのDNSでは、このリスクを防ぐため、デフォルトで wpad という名前の解決をブロックする設定(GQBL)が入っています。 DNS方式でWPADを構築する場合、このブロックを解除しないと機能しません。

  • 解除コマンド(PowerShell):CopySet-DnsServerGlobalQueryBlockList -Enable $false # または、リストからwpadだけを除外して再設定する ※セキュリティポリシーと相談の上、慎重に実施してください。

7. トラブルシューティング

WPADが動かない場合、以下のポイントを確認します。

  1. URLへの直接アクセス
    • ブラウザのアドレスバーに http://wpad.example.com/wpad.dat を入力し、ファイルがダウンロードできるか確認します。
    • → できない場合:Webサーバー、DNS、MIMEタイプの設定ミス。
  2. DHCPオプションの確認
    • Windowsクライアントでは通常の ipconfig /all ではOption 252が見えません。サードパーティ製のDHCP確認ツールなどを使用するか、パケットキャプチャでDHCP Offerパケットの中身を確認します。
  3. DNS解決の確認
    • コマンドプロンプトで ping wpad を実行し、WebサーバーのIPが返ってくるか確認します。
    • → 返ってこない場合:Aレコード未登録、または前述のGQBLによるブロック。

8. まとめ

WPADは、PACファイルの配布を自動化し、大規模なネットワーク管理を劇的に効率化する技術です。

  • DHCP Option 252 と DNS (Aレコード) を組み合わせて冗長化する。
  • Webサーバーで MIMEタイプ を正しく設定する。
  • GQBL などのセキュリティ設定に注意する。

これらを押さえることで、ユーザーの手を煩わせない、スマートなプロキシ運用環境を構築できます。

タイトルとURLをコピーしました