MENU
「安心のセキュリティをお得な価格」でご提供!
Fortinet商品など
ENGAGE fotinet

FortiGateのリバースプロキシについて

FortiGateのリバースプロキシ機能について、仕組み・用途・設定方法・注意点などを含めて、専門的かつ実務的な視点で詳しく解説します。

リバースプロキシとは?

リバースプロキシの基本

リバースプロキシとは、クライアントとサーバの間に入り、サーバの代理としてリクエストを受けるプロキシサーバの一種です。

通常のフォワードプロキシ(クライアント側の代理)とは逆の動作をするため「リバース」と呼ばれます。

たとえば以下のようなケースで使われます。

  • 内部Webサーバをインターネットに公開する
  • 一つのIPアドレスで複数の内部Webサーバを振り分ける(仮想ホスティング)
  • WAF(Web Application Firewall)やSSL終端処理をフロントで行う

FortiGateでのリバースプロキシ機能

FortiGateは主にUTM(Unified Threat Management)やNGFW(次世代ファイアウォール)として知られていますが、バージョン5.6以降で基本的なリバースプロキシ機能を提供しています。

ただし、これはフル機能のApache/Nginxのようなリバースプロキシとは異なり、限定的な使い方に適しています

リバースプロキシとしての役割を担う際には、以下の2つの機能が中心です。

Virtual Server(仮想サーバ)

概要

FortiGateの「Virtual Server」機能では、外部からのHTTP/HTTPSリクエストを特定の内部Webサーバへ転送(NAT/ロードバランス)することができます。

機能的には以下のことが可能

  • L7(アプリケーション層)ベースのトラフィック制御
  • 複数のWebサーバへのロードバランス(加重/ラウンドロビン)
  • HTTP Hostヘッダによる振り分け(SNIは未対応または限定的)
  • SSLオフロード(FortiGateでSSL終端し、内部はHTTPで転送)

Application Load Balancer / HTTP Multiplexer

機能概要

これは「Virtual Server」の拡張機能として、HTTPリクエストの内容に応じて細かく転送先を制御できます。

いわゆるリバースプロキシ的な用途になります。

  • www.example.com/api/ → 内部のAPIサーバ
  • www.example.com/app/ → 別のアプリサーバ

使用例

  • 複数Webアプリケーションをパスベースで分離している場合
  • 一つのドメインで複数のバックエンドを使いたい場合

設定手順の概要

以下に、FortiGateのGUIでの設定手順の流れを説明します。

前提条件

  • インターネット向けに公開するグローバルIPアドレスがある
  • 内部Webサーバが静的に存在する(例:192.168.1.100)
  • FortiGateでSSL証明書がインポート済み(HTTPSを使用する場合)

ステップ1:VIP(Virtual IP)の作成

  1. GUI > ポリシー & オブジェクト > バーチャルIP
  2. 新規作成 > 名前:VIP_WebServer
  3. 外部IP:グローバルIPアドレス
  4. 内部IP:WebサーバのプライベートIP
  5. サービスポート:TCP/80 または TCP/443

ステップ2:Virtual Server(仮想サーバ)の作成

  1. GUI > ロードバランサー > 仮想サーバ
  2. 名前:vs_http
  3. タイプ:HTTP(またはHTTPS)
  4. IP:VIPで設定したアドレス
  5. リアルサーバ:WebサーバのIPアドレスを登録
  6. プロトコル:HTTP/HTTPS
  7. (オプション)SSLオフロードを設定

ステップ3:ファイアウォールポリシーの設定

  1. GUI > ポリシー & オブジェクト > IPv4ポリシー
  2. 新規作成
  3. 送信元:any または WAN
  4. 宛先:Virtual Server(例:vs_http)
  5. サービス:HTTP または HTTPS
  6. NAT:無効
  7. セキュリティプロファイルを必要に応じて適用(IPS/WAF等)

実務上のポイントと注意点

WAF機能と併用

FortiGateにはWAF機能(Web Application Firewall)があります。

リバースプロキシ構成とセットで使用すれば、攻撃検知・防御(SQLiやXSS等)にも対応可能です。

SSL証明書の管理

HTTPSで運用する場合、FortiGateにSSL証明書をインポートして、SSLオフロードを使うことが多くなります。

Let’s Encryptのような自動更新機能はないため、更新作業は定期的に必要です。

SNI(Server Name Indication)に注意

FortiGateのリバースプロキシ機能ではSNIベースの振り分けがフルサポートされていないバージョンもあるため、1つのIPで複数SSLドメインを扱う際は設計上の制限があります。

高度なリバースプロキシ機能が必要な場合

FortiGateは基本的な用途に向いていますが、以下のような要件には向いていません。

  • 詳細なURLルールベースの振り分け
  • 圧縮・キャッシュ制御・ヘッダ書き換えなどの高度制御
  • WebSocket対応 など

その場合、専用のNginx/Apache/HAProxy/Traefikなどの導入を検討しましょう。

FortiGateリバースプロキシの活用例

用途 説明
社内Webアプリ公開 社内システムを外部に安全に公開(SSL終端+IPS)
ロードバランシング 複数のバックエンドWebサーバをラウンドロビンで分散
SSLオフロード FortiGateでSSLを処理して内部サーバの負荷を軽減
WAFとの連携 リバースプロキシ+WAFでWebセキュリティを強化

まとめ

FortiGateのリバースプロキシ機能は、「Virtual Server」「HTTP Multiplexer」「WAF」などの機能を組み合わせて実現されます。

基本的なWeb公開や簡易ロードバランス、SSLオフロードなどの要件には十分対応可能ですが、高度なリバースプロキシ機能が必要な場合は専用の製品との併用が理想です。

以上、FortiGateのリバースプロキシについてでした。

最後までお読みいただき、ありがとうございました。

カテゴリ一覧

ページトップへ