Firebox 配下にパブリック Web サーバーを設定する

サンプル構成ファイル — WSM v11.10.1 で作成

改訂 — 2015 年 7 月 21 日


ユースケース

この構成例では、ファイアウォールの背後にある保護されたネットワークにパブリック Web サーバーを設定することを組織が希望しています。この組織は、インターネットからこの Web サーバーのプライベート アドレスに受信 Web サイト トラフィックを誘導したいと考えています。また、内部ネットワークのローカル ユーザーがパブリック URL を使用してこの Web サイトを参照する必要があります。

この構成例は、参考のために提供されています。お客様のネットワーク環境によっては、構成の追加設定が必要になる場合や、より適切な場合があります。

解決方法の概要

インターネット経由で組織のコンピュータから他のコンピュータまたはサーバーにトラフィックが送信されると、IP アドレスを使用してサーバーが識別され、TCP または UDP ポートの番号を使用してデータを受信するサーバーのプロセスが特定されます。ポート 80 は HTTP トラフィックで使用されます。

NAT (ネットワーク アドレス変換) は、IP アドレスおよびポート変換の一形式です。静的 NAT はポート ツー ホストの NAT であり、ポート フォワーディングとも呼ばれています。パケットが Firebox インターフェイスのポートに入ると、静的 NAT アクションにより、宛先 IP アドレスがファイアウォールの背後にある別の IP アドレスとポートに変更されます。静的 NAT は、Firebox により保護されているネットワークから送信されるトラフィック上でも動作します。

このソリューションでは、HTTP プロキシ ポリシーにより静的 NAT アクションが使用され、ポート 80 の受信トラフィックが Firebox の配下にある Web サーバーのプライベート IP アドレスに転送されます。これは、インターネット ユーザーにとって透過的です。

仕組み

Web サーバーにはプライベート IP アドレスがあり、これは Firebox のオプショナル インターフェイスの配下にあるネットワークに接続されています。この Web サーバーのパブリック DNS レコードでは、Web サーバーに関連付けられている IP アドレスが Firebox の外部 IP アドレスとなります。

Firebox 構成には、ポート 80 のすべての受信トラフィックを処理する HTTP プロキシ ポリシーが含まれています。ポリシー構成には、静的 NAT アクションが含まれています。これにより、ポート 80 のすべての受信トラフィックを任意ネットワークの Web サーバーのプライベート IP アドレスに転送するようにデバイスに指示が出されます。

インターネット ユーザーが Web サーバーの URL を参照すると、トラフィックがポート 80 の Firebox 外部インターフェイスに入ります。HTTP プロキシ ポリシーにより、トラフィックが受信され、静的 NAT アクションで指定されている IP アドレスを使用して Web トラフィックが Web サーバーに転送されます。

要件

Firebox

この構成例は、Fireware OS v11.7.2 を実行している Firebox を対象としています。Fireware XTM のバージョンが 11.4.x 以前のものである場合は、静的 NAT 構成はここに示されているものと若干異なります。

Web サーバー

プライベート IP アドレスでパブリック Web サーバーとして構成されている HTTP サーバー。

Web サーバー、FTP サーバー、メール サーバーなど、パブリックにアクセス可能なサーバーを、内部ユーザーまたは他の非公開ネットワーク リソースに接続するの同じネットワークに接続しないことをお勧めします。これらのサーバーはパブリックにアクセス可能なため、内部ネットワークに潜在的な脆弱性が発生します。これらのパブリックにアクセス可能なサーバーは、他の内部ネットワーク リソースおよびユーザーとは別のネットワークに接続してください。この例では、Web サーバーは 任意 として構成されている Firebox に接続されているネットワークの一部となります (これは、任意ネットワークと呼ばれることもあります)。

構成例

このユースケースでは、Web サーバーは、任意ネットワークの Firebox の配下に配置されています。

この構成例のネットワーク図

Firebox と Web サーバーでは、以下の IP アドレスが使用されます。

  サイト A
外部インターフェイスの IP アドレス 203.0.113.2/24
既定のゲートウェイ IP アドレス 203.0.113.1
信頼済みネットワークに接続されている Firebox インターフェイスの IP アドレス 10.0.1.1/24
任意ネットワークに接続されている Firebox インターフェイスの IP アドレス 10.0.2.1//24
任意ネットワークの Web サーバーの IP アドレス 10.0.2.80/24

サンプル構成ファイル

参考のため、このドキュメントにはサンプル構成ファイルが含まれています。Policy Manager で開いて、サンプル構成ファイルの詳細を調べることができます。構成ファイルの名前は、snat_web_server.xml です。この構成ファイルは、snat_web_server_config.zip ファイルに含まれています。

構成の説明

静的 NAT アクション

サンプル構成ファイルには、静的 NAT アクション (SNAT アクションとも呼ばれる) が含まれています。これにより、トラフィックが Firebox 外部インターフェイスのパブリック IP アドレスから Web サーバーのプライベート IP アドレスに転送されます。

静的 NAT アクションを表示するには、以下の手順を実行します:

  1. Firebox の Policy Manager を起動します。
  2. セットアップ > アクション > SNAT の順に選択します。
  3. web_server アクションを開きます。
    [SNATの編集] ダイアログ ボックスが表示されます。

web_server SNAT アクションのスクリーンショット

静的 NAT アクションにより、Firebox 外部インターフェイスの IP アドレス (203.0.113.2) 宛のパケットが Web サーバーのプライベート IP アドレス (10.0.2.80) に転送されます。また、この静的 NAT アクションは、これが使用されるポリシー内で確認して編集することができます。

Web サーバーへの受信トラフィックの HTTP プロキシ ポリシー

既定では、Firebox では、外部インターフェイスから信頼済みネットワークまたは任意ネットワークへの受信トラフィックは許可されていません。Web サーバーへのトラフィックを許可するには、HTTP パケット フィルタまたは HTTP プロキシ ポリシーを追加する必要があります。HTTP プロキシ ポリシーを使用することをお勧めします。これは、これにより接続で使用されるコマンドを監視して、構文と順序が正しいことを確認でき、ディープ パケット インスペクションを使用して HTTP サーバーを攻撃から保護することができるためです。各プロキシ ポリシーに、許可するコンテンツの種類に関するルールが含まれているプロキシ アクションを割り当てます。HTTP サーバー プロキシ アクションのルールは、内部 Web サーバーへのトラフィックに適切な既定となります。

HTTP プロキシ ポリシーを表示するには、以下の手順を実行します:

  1. Policy Manager で、サンプル構成ファイルを開きます。
  2. 編集する HTTP-proxy-server ポリシーをダブルクリックします。

HTTP-proxy-server ポリシー設定のスクリーンショット

以下の設定を良く理解してください。

発信元

送信元 セクションには、Any-External エイリアスが含まれています。これは、このポリシーにより、外部インターフェイスから Web サーバーに送信されるトラフィックが処理されるためです。

送信先:

送信先 セクションには、静的 NAT アクションが含まれています。これにより、Firebox 外部インターフェイスの IP アドレス (203.0.113.2) 宛のパケットが Web サーバーのプライベート IP アドレス (10.0.2.80) に転送されます。

プロキシ アクション

プロキシ アクション は、HTTP-Server.Standard に設定されています。HTTP サーバー プロキシ アクションの既定設定は、Web サーバーへのトラフィックで推奨される既定設定です。

内部ユーザーがパブリック Web サーバーの URL を使用することを許可する HTTP ポリシー

構成例には、HTTP ポリシーが含まれています。これにより、内部ユーザーがパブリック ドメイン名 (例:www.example.com) で Web サーバーを参照できるようになります。HTTP ポリシーにより、信頼済みネットワークからローカル Web サーバーへのトラフィックが処理されます。このポリシーには、HTTP-proxy-server ポリシーと同じ静的 NAT アクションが含まれています。このポリシーでは内部トラフィックのみが処理されるため、ディープ パケット インスペクションは必要ありません。したがって、HTTP プロキシ ポリシーの代わりに、ここでは HTTP パケット フィルタ ポリシーを使用します。

この例の HTTP NAT ポリシーを表示するには、以下の手順を実行します:

  1. Policy Manager で、サンプル構成ファイルを開きます。
  2. 編集する HTTP-SNAT-to-web-server ポリシーをダブルクリックします。

HTTP-SNAT-to-web-server ポリシーのプロパティのスクリーンショット

このポリシーには以下が含まれています。

発信元

Any-Trusted トラフィックを許可するポリシーの 送信元 セクション。

送信先:

送信先 セクションには、同じ静的 NAT アクションが含まれています。これにより、Firebox 外部インターフェイスの IP アドレス (203.0.113.2) 宛のパケットが Web サーバーのプライベート IP アドレス (10.0.2.80) に転送されます。

このポリシーでは、信頼済みネットワークのユーザーからのトラフィックに対して静的 NAT アクションが使用されます。

ネットワークに分割 DNS 構成のローカル DNS サーバーがある場合は、内部ゾーンに DNS レコードを追加して、Web サーバーのパブリック ドメイン名をプライベート IP アドレスにマッピングすることができます。これを行えば、SNAT アクションの HTTP ポリシーは必要ありません。

送信 Web 要求の HTTP プロキシ ポリシー

また、サンプル構成ファイルには、送信 Web サーバーへのアクセスを制御する HTTP プロキシ ポリシーが含まれています。これは、任意ネットワークの Web サーバーの構成には関係ありませんが、これは通常、信頼済みネットワークのユーザーの送信 HTTP アクセスに HTTP プロキシ設定を適用するために使用するポリシーです。このポリシーにより、Any-Trusted から Any-External への HTTP トラフィックが許可されます。サンプル構成ファイルにおけるこのポリシーの名前は、HTTP-proxy-client です。

Policy Manager におけるサンプル構成ファイルのスクリーンショット

結論

この構成例では、インターネット ユーザーは 203.0.113.2 を参照します。または、この IP アドレスに解決される URL を参照します。トラフィックはポート 80 の Firebox 外部インターフェイスに入ります。HTTP-proxy-server ポリシーにより、外部インターフェイスの受信トラフィックが検査され、そのトラフィックがプライベート ネットワーク アドレス:10.0.2.80 の HTTP サーバーに転送されます。インターネット ユーザーには、Web サーバーからの応答が IP アドレス:203.0.113.2 から送信されているように見えます。

この構成例は、静的 NAT を使用して、保護されたネットワークの HTTP サーバーに Web トラフィックを送信する方法を説明するものです。他のポリシーで静的 NAT を使用して、受信トラフィックを FTP サーバーや SMTP 電子メール サーバーなどの他の内部サーバーにリダイレクトすることもできます。

静的 NAT の詳細については、Fireware ヘルプ を参照してください。