【注意】FortiGate RAM 2GB以下の小型モデルで ver.7.4.4からProxy機能廃止、ver.7.6.0からSSL-VPN機能廃止 被害者が散見しています> Membership

FortiGate を Proxy サーバとして使用するための設定ガイド

目次

本記事について

本記事では、Fortinet 社のファイアウォール製品である FortiGate について、FortiGate を Proxy サーバとして動作させるための設定方法について説明します。

動作確認環境

本記事の内容は以下の機器にて動作確認を行った結果に基づいて作成されています。

  • FortiGate-60F
    • バージョン 7.4.3

【注意】バージョン7.4.4から一部モデルでプロキシが使用不可に

バージョン 7.4.4 から、FortiGate/FortiWiFi 40F、60E、60F、80E、90E シリーズのモデルとその派生製品、および FortiGate-Rugged 60F (2 GB バージョンのみ) 等の搭載 RAM が 2 GB 以下のモデルについてはパフォーマンス強化のためにプロキシ関連機能がサポートされなくなりました。

対象機器ではバージョン 7.4.4 にすると本記事で説明している Web プロキシサーバ機能の他、プロキシベースのセキュリティプロファイル、プロキシベースのポリシー等が使用不可になります。このため、既存機器で対象機能を使用している場合は 7.4.4 以上へのバージョンアップは避けるなどの対応が必要です。また新規導入でプロキシ機能を使用する予定がある場合は機器選定に注意してください。

想定するシナリオ

FortiGate の internal1 先の内部ネットワークに端末が存在しています。端末は外部ネットワーク(インターネット)に Web アクセスする際に FortiGate を Proxy サーバとして利用します。

このシナリオを実現するために FortiGate を Proxy サーバとして動作するよう設定します。

Proxy サーバとして動作させる設定方法

①Explicitプロキシの設定

まずは Proxy サーバ機能の設定となる「Explicitプロキシ」を設定します。

STEP
プロキシ機能の有効化

プロキシ機能はデフォルトで無効になっています。まずこれを有効化する必要があります。

CLI にログインし、以下のコマンドでプロキシ機能を有効化します。

config system global
    set proxy-and-explicit-proxy enable
end

config system settings
    set gui-proxy-inspection enable
end
STEP
GUI の表示機能設定

GUI にログインし左側のメニューから「システム > 表示機能設定」をクリックします。

STEP
Explicitプロキシの表示機能有効化

Explicitプロキシ」を有効化し「適用」をクリックします。

STEP
Explicitプロキシ画面の表示

GUI 左側のメニューから「ネットワーク > Explicitプロキシ」をクリックします。

STEP
Explicitプロキシの設定

以下の設定画面が表示されるため各項目を設定します。

  • Explicit Webプロキシ」を有効化します
  • リッスンするインターフェース」では Proxy サーバ機能を有効化したいインターフェースを指定します
  • HTTP についての受付ポート番号を入力します
  • HTTPS についての受付ポート番号を指定します。基本的には「HTTPポートを使用」にします
  • 必要に応じて FTP over HTTP を有効化することができます
  • 必要に応じて PAC ファイルを配布するよう設定することができます
  • 必要に応じてプロキシの FQDN を変更できます。デフォルトでは「default.fqdn」となっています
  • 必要な場合のみ設定変更します
  • FortiGate から送信する Web リクエストの送信元 IP アドレスの設定です。基本的には「インターフェースIPと同じ」のままとします。この場合、FortiGate からの発信インターフェースの IP に送信元アドレス変換されます

続きの項目はオプションとなります。

  • Webプロキシフォワーディングサーバ」は上位 Proxy を使用する場合に設定します
  • URL一致リスト」は URL 毎に特別な処理を設定することができます
  • Explicit FTP プロキシ」で FTP プロキシを有効化することもできます

以上設定ができたら「適用」をクリックします。

以上で Explicitプロキシの設定は完了です。

②プロキシポリシーの設定

続いて、Proxy サーバを使用した通信を制御する「プロキシポリシー」を設定します。

FortiGate の Proxy サーバ機能を使用する通信に関してはファイアウォールポリシーではなくプロキシポリシーで制御します。

ここでは例として intarnal1 から wan1 へのインターネットへの通信をすべて許可する設定をします。

STEP
プロキシポリシー画面の表示

GUI 左側のメニューから「ポリシー&オブジェクト > プロキシポリシー」をクリックします。

STEP
プロキシポリシー新規作成画面の表示

プロキシポリシー画面左上の「新規作成」をクリックします。

STEP
プロキシポリシーの設定

プロキシポリシーの設定はファイアウォールポリシーの設定と似ています。

  • 任意のポリシー名を入力します
  • タイプは「Explicit Web」にします
  • 発信インターフェースは対象通信の出口インターフェースを指定します
  • 送信元には対象通信の送信元アドレスを指定します
  • 宛先には対象通信の宛先アドレスを指定します。例ではインターネット宛なので all にしています
  • スケジュールは always にします
  • サービスは「webproxy」のみ指定可能です
  • アクションは「許可」とします

続きの設定項目は以下の通りです。

特別な要件が無ければデフォルトのままで問題ありません。ロギングオプションのみ、トラフィックログを保存したい場合は「すべてのセッション」に変更します。

以上の設定ができたら「OK」をクリックします。

STEP
設定の確認

プロキシポリシー画面にポリシーが追加されたことを確認します。

以上でプロキシポリシーの設定は完了です。

以上で FortiGate の設定は完了です。

クライアントの Proxy サーバ利用設定

ここではクライアントとして Windows 11 を使用します。

STEP
LAN の設定画面の表示

インターネットオプション画面にて「接続」タブを開き、「LAN の設定」をクリックします。

STEP
LAN の設定

LAN の設定画面で以下の通り設定します。

  • 設定を自動的に検出する」のチェックを外します
  • プロキシサーバー欄のチェックを入れ、アドレスとポートを設定します
    • アドレスには FortiGate のリッスンするインターフェースのアドレスを入力します
    • ポートには FortiGate の Explicitプロキシで設定した HTTP ポートを入力します

以上の設定ができたら「OK」をクリックします。

STEP
インターネットオプション画面を閉じる

インターネットオプション画面に戻ったら「OK」をクリックして閉じます。

以上でクライアントの設定は完了です。

トラフィックログの確認

クライアントから Web アクセスしてログを確認してみます。

以下のようなトラフィックログが保存されます。プロキシポリシーによって許可されていることが分かります。

【参考】Proxy サーバ関連の CLI コンフィグ

Explicitプロキシのコンフィグ

Explicitプロキシのコンフィグはconfig web-proxy explicitです。

config web-proxy explicit
    set status enable
    set http-incoming-port 8080
    set https-incoming-port 8080
end

フルコンフィグは以下の通りです。

config web-proxy explicit
    set status enable
    set secure-web-proxy disable
    set ftp-over-http disable
    set socks disable
    set http-incoming-port 8080
    set http-connection-mode static
    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で設定します。

config system interface
    edit "internal1"
        set explicit-web-proxy enable
    next
end

プロキシポリシーのコンフィグ

プロキシポリシーのコンフィグはconfig firewall proxy-policyです。

config firewall proxy-policy
    edit 1
        set uuid d570bb14-f0f4-51ee-5f91-dabd7761d297
        set name "internal1_to_wan1"
        set proxy explicit-web
        set dstintf "wan1"
        set srcaddr "10.1.1.0/24"
        set dstaddr "all"
        set service "webproxy"
        set action accept
        set schedule "always"
        set logtraffic all
    next
end

以上です。


【おすすめ】FortiGate の設計構築中なら以下の記事も役立つかもです

Amazon アフィリエイトリンク

以下は Amazon アフィリエイトリンクです。インフラエンジニアにそこそこおすすめなアイテムです。

note メンバーシップへの参加もお待ちしています!

note(ノート)
陰の構築者たちのメンバーシップ|シェイド@陰の構築者 ネットワーク設計構築をする人に役立つメンバーシップです。 独自ブログ(https://shadowgarden.org/)にてネットワークエンジニア向け情報を発信しており、その活動を応援...

【アフィリエイト】おすすめ WordPress テーマ【SWELL

当サイトでは WordPress テーマとして SWELL を使用しています。以前は無料・高機能テーマとして知られる Cocoon を使用していて Cocoon も使いやすかったのですが、SWELL を使い始めてからは SWELL のほうが圧倒的に使いやすいなと思いました。そして何より読み込み速度が速い。SWELL を使い始めてから、過去の Cocoon のブログを見直したときに「あれ、こんなに表示遅かったっけ?」という感覚になりました。

また SWELL はデフォルトでもオシャレなデザインですが柔軟にカスタマイズすることもでき個性のあるサイトを作成できます。さらにブログパーツや広告タグといった再利用可能なブログの「部品」も作成することができ、ブログ作成効率も高いです。

技術ブログやアフィリエイト等での収益化を見据えたブログの作成に SWELL は最適です。初見では価格が高いなと思うと思いますが、私としては SWELL を採用して良かったしそれ以上の価値があると感じています。
ブログの新設やテーマ変更を考えている人は一度 SWELL を検討してみてください。
以下の画像リンクから詳細な情報を確認できます。

レンタルサーバーを探している人には安定性に定評のあるエックスサーバーをお勧めします。
当サイトもエックスサーバーを使用しています。WordPress のインストールも簡単にできます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次