作業環境
- FortiGate-60E v7.0.6
FortiGate を Web プロキシサーバとして使用する
FortiGate を Web プロキシサーバとして動作させることが可能です。
プロキシサーバには明示型と透過型がありますが、ここではより一般的な明示型プロキシとして FortiGate を使用する場合について記載します。

FortiGate でのプロキシサーバ設定
設定の流れ
- Explicitプロキシの設定
- プロキシポリシーの設定
GUI にプロキシサーバ設定項目を表示させる
デフォルトではプロキシサーバ設定項目は GUI に表示されていないため、[システム >表示機能設定] 画面で [Explicit プロキシ] を有効化して表示させます。

Explicit プロキシの設定
続いて [ネットワーク > Explicitプロキシ] の設定を行います。
最低限、以下の設定を行います。
最低限の設定
- Explicit Webプロキシ → 有効化する
- リッスンするインターフェース → プロキシサーバとして動作させるインターフェースを指定
- HTTPポート → プロキシサーバとして待ち受けるポート番号を指定

その他の項目は必要に応じてデフォルトから変更します。
- デフォルトのファイアウォールポリシーのアクション
- 後に設定するプロキシポリシーについて、暗黙のポリシーのアクションに該当します
- 発信IP → Web リクエストの送信元 IP をどれにするかを指定します
- インターフェースIPと同じ
- FortiGate のインターフェースの IP を送信元 IP とします
- 指定
- 指定したインターフェースの IP を送信元 IP とします
- インターフェースIPと同じ
Explicit プロキシの設定に該当する CLI での設定項目は config web-proxy explicit
です。
FW01 # show web-proxy explicit
config web-proxy explicit
set status enable
set http-incoming-port 8080
set https-incoming-port 8080
end
FW01 # show full-configuration web-proxy explicit
config web-proxy explicit
set status enable
set ftp-over-http disable
set socks disable
set http-incoming-port 8080
set https-incoming-port 8080
set incoming-ip 0.0.0.0
set ipv6-status disable
set strict-guest disable
set unknown-http-version reject
set realm "default"
set sec-default-action deny
set https-replacement-message enable
set message-upon-server-error enable
set pac-file-server-status disable
set ssl-algorithm low
set trace-auth-no-rsp disable
end
リッスンするインターフェースについてはインターフェース設定になります。
config system interface
edit "internal3"
set explicit-web-proxy enable
next
end
プロキシポリシーの設定
プロキシポリシーはプロキシサーバ経由の通信を制御するポリシーです。
[ポリシー&オブジェクト > プロキシポリシー] 画面の [新規作成] から設定します。
設定内容はファイアウォールポリシーと似ています。
■基本設定

- プロキシタイプ → Explicit Web(デフォルト)
- 発信インターフェース → Web リクエストの発信インターフェース
- 送信元 → プロキシのクライアントの IP を含むアドレスオブジェクトを指定
- 宛先 → 許可 or 拒否したい宛先を含むアドレスオブジェクトを指定
- スケジュール → always(デフォルト)
- サービス →
webproxy
を指定 - アクション → 許可 or 拒否
■その他オプション

■設定後のプロキシポリシー画面

プロキシポリシーの設定に該当する CLI 設定項目は config firewall proxy-policy
です。
FW01 # show firewall proxy-policy
config firewall proxy-policy
edit 1
set uuid a1500342-190c-51ed-62dc-9049f66c0605
set name "ProxyPolicy"
set proxy explicit-web
set dstintf "wan1"
set srcaddr "10.20.30.0/24"
set dstaddr "all"
set service "webproxy"
set action accept
set schedule "always"
set logtraffic all
next
end
FW01 # show full-configuration firewall proxy-policy
config firewall proxy-policy
edit 1
set uuid a1500342-190c-51ed-62dc-9049f66c0605
set name "ProxyPolicy"
set proxy explicit-web
set dstintf "wan1"
set srcaddr "10.20.30.0/24"
set dstaddr "all"
set internet-service disable
set service "webproxy"
set srcaddr-negate disable
set dstaddr-negate disable
set service-negate disable
set action accept
set status enable
set schedule "always"
set logtraffic all
set session-ttl 0
set http-tunnel-auth disable
set ssh-policy-redirect disable
set webproxy-forward-server ''
set webproxy-profile ''
set transparent disable
set disclaimer disable
set utm-status disable
set profile-protocol-options "default"
set ssl-ssh-profile "no-inspection"
set replacemsg-override-group ''
set logtraffic-start disable
set comments ''
next
end
クライアントでのプロキシサーバ設定
Windows クライアントであれば以下の画面のプロキシサーバ設定を行います。プロキシサーバのアドレスは FortiGate の Explicitプロキシの設定でリッスンするインターフェースとして設定したインターフェースの IP アドレスを指定します。ポート番号は HTTP ポートとして設定した番号を指定します。

参考資料
Explicit web proxy | Administration Guide
config web-proxy explicit | CLI Reference
config firewall proxy-policy | CLI Reference