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

FortiGate ゾーンを使用したファイアウォールポリシー設定ガイド

目次

本記事について

本記事では、Fortinet 社のファイアウォール製品である FortiGate における、「ゾーン」を使用したファイアウォールポリシーの設定方法について説明します。

動作確認環境

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

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

想定するシナリオ

以下の図のように、FortiGate の internal1 の先にネットワークセグメント①が、internal2 の先にネットワークセグメント②が存在し、それぞれのセグメントから FortiGate の wan1 の先にある外部ネットワークに対して通信を行います。

このとき、セグメント①とセグメント②それぞれの外部ネットワークへの通信要件は全く同じだとします。

FortiGate でどのようなファイアウォールポリシーを設定する必要があるかを考えます。

単純に考えると、以下の2種類のポリシーが必要となります。

  • セグメント①から外部ネットワークへの通信を許可するポリシー(着信インターフェースが internal1)
  • セグメント②から外部ネットワークへの通信を許可するポリシー(着信インターフェースが internal2)

しかしこのような設計にした場合、通信要件の変更がある度に上記①②の2種類のポリシーを設定する必要があり、管理工数が大きくなります。

「ゾーン」を使用してインターフェースをグループ化する

ここで FortiGate の「ゾーン」機能を使用することを考えます。

ゾーンは複数のインターフェースをまとめてグループ化する機能です。

ファイアウォールポリシー設定の「着信インターフェース」にてゾーンを指定できるため、複数のインターフェースに対するポリシー設定を一つのポリシー設定のみで実現することができます。

ここでは internal1 と internal2 をゾーンでグループ化することとします。

ゾーンを使用する場合の注意点

ゾーンを使用する場合以下の点に注意してください。

  • インターフェースをゾーンに所属させると、ファイアウォールポリシー設定やアドレスオブジェクト設定等のインターフェース指定項目にてそのインターフェースを指定できなくなります。インターフェースの代わりにゾーンを指定することになります
  • 同じゾーンに所属するインターフェース間の通信の制御方法について考慮する必要があります
    • 後述する「ゾーン内トラフィックをブロック」設定をどうするか、など
  • インターフェース間で通信要件の共通点が少ない場合はゾーンを設定しない方が良いということもあり得ます

ゾーンの作成方法

GUI でゾーンを作成する方法

STEP
インタフェース画面の表示

GUI にログインし左側のメニューから「ネットワーク > インタフェース」をクリックします。

STEP
ゾーン新規作成画面の表示

インターフェース画面にて左上の「新規作成 > ゾーン」をクリックします。

STEP
ゾーンの設定

ゾーン設定画面で各項目を設定します。

  • 名前」には任意のゾーン名を入力します
  • ゾーン内トラフィックをブロック」を有効にするとゾーン内のインターフェース間での通信が原則ブロックされ、必要な場合はファイアウォールポリシーを設定することになります。無効にするとゾーン内のインターフェース間での通信がファイアウォールポリシー無しで許可されます
  • インターフェースメンバー」ではゾーンに所属させるインターフェースを指定します
  • 必要な場合は「コメント」を入力します

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

STEP
設定の確認

インターフェース画面にて「ゾーン」項目が表示され、設定したゾーンが追加されていることを確認します。

以上でゾーンの作成は完了です。

CLI でゾーンを作成する方法

CLI でゾーンの設定をする場合はconfig system zoneにて行います。

ゾーンのコンフィグは以下のようにedit項目で表され、一つのedit項目が一つのゾーンに対応します。

config system zone
    edit "internal"
        set description ''
        set intrazone deny
        set interface "internal1" "internal2"
    next
end

設定項目については以下の通りです。

GUI 設定項目CLI 設定項目デフォルト値 (CLI)
名前edit の ID 値
ゾーン内トラフィックをブロックintrazonedeny
インターフェースメンバーinterface
コメントdescription

注意点として、GUI での「ゾーン内トラフィックをブロック」は CLI での「intrazone」に対応しますが、以下のように意味合いが逆になっています。

  • GUI ではゾーン内トラフィックを「ブロックするかどうか
  • CLI ではゾーン内トラフィックを「許可するかどうか
GUI での設定CLI での設定
ゾーン内トラフィックをブロックが有効set intrazone deny
ゾーン内トラフィックをブロックが無効set intrazone allow
GUI での設定値と CLI での設定値の対応

インターフェースメンバーについては、値として複数のインターフェースを半角スペース区切りで指定します。

config system zone
    edit "internal"
        set interface "internal1" "internal2"
    next
end

ゾーンを使用したファイアウォールポリシー設定例

以下の想定構成について、ネットワークセグメント①②から外部ネットワークへの通信を許可するポリシーを設定します。

想定する構成

アドレスオブジェクトの作成

まずファイアウォールポリシー設定で使用するアドレスオブジェクトを作成します。

ポイントは以下のようにインターフェースとして作成したゾーンを指定することです。

補足

「インターフェース」の選択肢にゾーンに所属しているインターフェースは表示されません。ゾーンに所属しているインターフェースは「インターフェース」項目で設定できないことがわかります。

ネットワークセグメント②のアドレスオブジェクトも同様に作成します。

必要な場合は2つのアドレスオブジェクトをアドレスグループとしてグループ化することもできます。

アドレスオブジェクトの詳しい作成方法についてはこちらの記事を確認してください。

サービスオブジェクトの作成

サービスオブジェクトは通信要件に合わせて必要なサービスを作成してください。

ここではデフォルトで存在する適当なサービスを使用することとします。

サービスオブジェクトの詳しい作成方法についてはこちらの記事を確認してください。

ファイアウォールポリシーの設定

ネットワークセグメント①②から外部ネットワークへの通信を許可するポリシーを設定します。

ポイントは「着信インターフェース」で作成したゾーンを指定することです。また「送信元」ではネットワークセグメント①とネットワークセグメント②の両方のアドレスオブジェクトを指定します。例では2つのアドレスオブジェクトをまとめたアドレスグループで指定しています。宛先・サービスには通信要件に合わせた宛先・サービスを指定してください。

補足

FortiGate 60F の OS バージョン 7.4.3 では「着信インターフェース」の選択肢にゾーンに所属しているインターフェースが表示されましたが、このインターフェースを選択するとエラーとなりポリシーが設定できません。表示上のバグと推測されます。

個別のインターフェースを指定して設定しようとすると以下のエラーメッセージが表示されます。

入力した値が正しくありません。
Node_check_object fail! for name internal1.
Value parse error before ‘internal1’.

FortiGate GUI 画面より

以上のようにファイアウォールポリシーを設定することで、ネットワークセグメント①(internal1 側)とネットワークセグメント②(internal2)側の両方から外部ネットワークへの通信を許可することができます。

ファイアウォールポリシーの詳しい設定方法についてはこちらの記事を確認してください。

ゾーン内トラフィックを許可するポリシーの設定方法

ゾーンの設定で「ゾーン内トラフィックをブロック」を有効にしている場合で、特定のゾーン内トラフィックを許可したい場合はファイアウォールポリシーを設定する必要があります。

例として以下の構成でネットワークセグメント②からネットワークセグメント①への通信を許可することを考えます。

設定するファイアウォールポリシーの内容は以下のようになります。

  • 着信インターフェース」と「発信インターフェース」ではいずれも対象のゾーンを指定します
  • 送信元」では送信元であるネットワークセグメント②のアドレスオブジェクトを指定します
  • 宛先」では宛先であるネットワークセグメント①のアドレスオブジェクトを指定します
  • サービス」では通信要件に合わせたサービスを指定します

ファイアウォールポリシー設定後、ファイアウォールポリシー画面では以下のように「internal → internal」のポリシーとして表示されます。

このようにファイアウォールポリシーを設定することにより「ゾーン内トラフィックをブロック」を有効にしている場合でもゾーン内のインターフェース間で通信をすることができるようになります。

以上です。


【おすすめ】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をコピーしました!

コメント

コメントする

目次