【Fortigate】ファイアウォールポリシー設定 FortiOS6.4.3

音声で聞く

読む前にこの記事のポイントを音声で確認できます。この音声は本記事をもとにAIツール(NotebookLM)で自動生成したもので、発音や言い回しが不自然な箇所や、内容の誤りが含まれる可能性があります。理解の補助としてご利用ください。

ファイアウォールのいちばんの役割は、IP アドレスやポート番号、アプリケーションをもとに、通してよい通信だけを通すことです。FortiGate は初期状態ではすべての転送を拒否し、許可したい通信をファイアウォールポリシーとして追加していきます。

この記事では、FortiGate のファイアウォールポリシーの見方と設定項目、ポリシーを追加したときの順番、名前を付けずにポリシーを作る方法を確認します。検証時の FortiOS は 6.4.3 です。

この記事でわかること
  1. ポリシー一覧の2つの表示(インターフェースペアビューとシーケンス別)と、照合の順番
  2. 新規ポリシーの設定項目と、それぞれの意味
  3. ポリシーを追加したときの位置と、順番の変え方
  4. 名前なしでポリシーを作る設定と、ログを見るときの注意点

ファイアウォールポリシーの一覧

ポリシー&オブジェクト ›› ファイアウォールポリシー を開くと、設定されているポリシーの一覧が表示されます。

画面イメージについて

この記事の画面は、実際の画面ではなく、検証時の画面から見るポイント(設定する項目)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。

FortiGate 管理画面画面イメージ
ポリシー&オブジェクト ›› ファイアウォールポリシー
+ 新規作成編集削除ポリシーのルックアップ検索
名前送信元宛先サービスアクションNATセキュリティプロファイル
1Internet (port1) → LAN (port2) (1)
Internet_to_LANallDestNAT_3389PING
RDP
SSH
✔ 許可✔ 有効化済みSSL no-inspection
LAN (port2) → Internet (port1) (2)
Deny_GeoallUnited_StatesHTTP
HTTPS
⊘ 拒否
LAN_to_InternetallallALL✔ 許可NAPTWEB default
SSL certificate-inspection
2暗黙 (1)
暗黙の拒否allallALL⊘ 拒否
図1 インターフェースペアビューのポリシー一覧(実際の画面ではなく、表示のポイントを示したイメージです。スケジュールの列(すべて always)は省いています)
No.表示意味
1Internet (port1) → LAN (port2)着信インターフェースと発信インターフェースの組み合わせごとに、ポリシーがまとめて表示されます。かっこの中はポリシーの数です。
2暗黙の拒否どのポリシーにも一致しなかった通信を拒否する、最初からあるポリシーです。

この表示はインターフェースペアビューと呼ばれ、着信インターフェースと発信インターフェースの組み合わせでグループに分けて一覧にします。画面右上の切り替えで、インターフェースペアビュー と シーケンス別 を選べます。

シーケンス別にすると、グループ分けをせずに、照合される順番のまま一覧になります。FortiGate は、この一覧の上から順にポリシーを照合し、最初に一致したポリシーを適用します。それより下のポリシーは見ません。

一覧のいちばん下には、すべてのインターフェースを対象にした「暗黙の拒否」があります。設定したどのポリシーにも一致しなかった通信は、ここですべて拒否されます。

通信が届くポリシー(1番目)一致しないポリシー(2番目)一致しないポリシー(3番目)どれにも一致しない暗黙の拒否すべての通信を拒否一致このポリシーを適用以降のポリシーは見ない
図2 ポリシーは上から順に照合され、最初に一致した1つが使われる。どれにも一致しない通信は暗黙の拒否で拒否される
補足

FortiOS 7.0 の管理ガイドでは、着信・発信インターフェースに any や複数のインターフェースを指定したポリシーがあると、一覧は自動でシーケンス別の表示になり、インターフェースペアビューは選べなくなると説明されています。

ポリシーの設定項目

ポリシー&オブジェクト ›› ファイアウォールポリシー で 新規作成 をクリックすると、新規ポリシーの画面が開きます。主な設定項目は次のとおりです。

FortiGate 管理画面画面イメージ
ファイアウォールポリシー ›› 新規ポリシー
1名前 
2着信インターフェース+
発信インターフェース+
3送信元+
宛先+
スケジュールalways
4サービス+
5アクション◉ 許可○ 拒否
インスペクションモード◉ フローベース○ プロキシベース
ファイアウォール / ネットワークオプション
6NATON
IPプール設定◉ 発信インターフェースのアドレスを使用○ ダイナミックIPプールを使う
送信元ポートの保持OFF
プロトコルオプションPROT default
セキュリティプロファイル
7アンチウイルスOFF
WebフィルタOFF
DNSフィルタOFF
アプリケーションコントロールOFF
IPSOFF
ファイルフィルタOFF
SSLインスペクションno-inspection
ロギングオプション
8許可トラフィックをログON ◉ セキュリティイベント○ すべてのセッション
セッション開始時にログを生成OFF
パケットをキャプチャOFF
OKキャンセル
図3 新規ポリシーの画面(実際の画面ではなく、設定する項目を示したイメージです)

1 名前

ポリシーの名前を入力します。名前は必須で、ほかのポリシーと同じ名前は使えません。名前を付けずに作る方法は、この記事の最後で説明します。

2 着信インターフェースと発信インターフェース

制御したい通信が入ってくるインターフェース(着信)と、出ていくインターフェース(発信)を選びます。LAN からインターネットへの通信なら、着信が LAN 側、発信がインターネット側のインターフェースです。

FortiGate はステートフルインスペクションを行うファイアウォールです。許可した通信をセッションとして記録し、その戻りのパケットはセッションに一致するので自動で許可します。そのため、戻りの通信のために、発信インターフェースから着信インターフェースへの逆向きのポリシーを作る必要はありません。

InternetLAN 側の端末FortiGateport2(着信)port1(発信)① 行きの通信ポリシー(port2 → port1)で許可セッションとして記録② 戻りの通信セッションに一致するので許可逆向きのポリシーは不要
図4 行きの通信をポリシーで許可すると、戻りの通信はセッションに一致して許可される

参考記事:ステートフルインスペクションと各種チューニング

3 送信元と宛先

制御したい通信の送信元と宛先を、アドレスオブジェクトで選びます。サブネットや IP の範囲のほか、FQDN や国(ジオグラフィ)も指定できます。

参考記事:アドレスオブジェクト(サブネット・IP範囲・FQDN・ジオグラフィ)の設定と動作確認

4 サービス

制御したいプロトコルやポート番号を、サービスオブジェクトで選びます。複数のサービスをまとめたサービスグループも選べます。

参考記事:サービスオブジェクト、サービスグループの設定

5 アクション

一致した通信を通すときは 許可(CLI では accept)、止めるときは 拒否(deny)を選びます。

6 NAT

送信元 NAT を行うときに ON にします。発信インターフェースのアドレスを使用 を選ぶと、送信元の IP アドレスが発信インターフェースの IP アドレスに変換されます。プライベートアドレスの端末からインターネットに出るときによく使う設定です。

参考記事:送信元NATと動作確認

7 セキュリティプロファイル

アンチウイルスや Web フィルタなど、通信の中身を検査する機能をポリシーごとに適用します。各機能の設定は、次の記事で確認しています。

8 ロギングオプション

許可トラフィックをログ を ON にすると、このポリシーで処理した通信のトラフィックログが記録されます。記録する範囲は次の2つから選びます。

選択肢記録されるログ
セキュリティイベントセキュリティプロファイル(アンチウイルスや Web フィルタなど)が検知したり、反応したりした通信のログだけを記録します。CLI では set logtraffic utm です。
すべてのセッションこのポリシーで処理したすべてのセッションのログを記録します。CLI では set logtraffic all です。

トラフィックログは ログ&レポート ›› 転送トラフィック で確認できます。

FortiGate 管理画面画面イメージ
ログ&レポート ›› 転送トラフィック
日付送信元宛先結果ポリシーID
2021/01/…(伏せています)(伏せています) Deny: ポリシー違反LAN_to_Internet (2)
2021/01/…(伏せています)(伏せています) Deny: ポリシー違反LAN_to_Internet (2)
2021/01/…(伏せています)(伏せています) Deny: ポリシー違反LAN_to_Internet (2)
2021/01/…(伏せています)(伏せています)1 Deny: ポリシー違反2LAN_to_Internet (2)
2021/01/…(伏せています)(伏せています) Deny: ポリシー違反LAN_to_Internet (2)
図5 転送トラフィックのログ(実際の画面ではなく、表示のポイントを示したイメージです。IP アドレスは伏せています)
No.表示意味
1結果通信が許可されたか、拒否されたかを示します。
2ポリシーIDどのポリシーで処理されたかを示します。ポリシーの名前と、かっこの中に ID が表示されます。

暗黙の拒否で拒否された通信は、初期状態ではログに記録されません。記録したい場合は、一覧で暗黙の拒否のポリシーを開き、IPv4違反トラフィックをログ を ON にします。

FortiGate 管理画面画面イメージ
ファイアウォールポリシー ›› ポリシーの編集(暗黙の拒否)
着信インターフェースany
発信インターフェースany
送信元all
宛先all
アクション拒否
1IPv4違反トラフィックをログON
OKキャンセル
図6 暗黙の拒否の編集画面(実際の画面ではなく、設定する項目を示したイメージです。グレーの項目は変更できません)
補足
  • 暗黙の拒否で変更できるのは、このログの設定だけです。CLI では config log setting の set fwpolicy-implicit-log enable で同じ設定になります。
  • 拒否した通信をすべて記録すると、ログの量が大きく増えることがあります。特定の通信の拒否だけを記録したいときは、その通信を拒否するポリシーを作り、そこでログを有効にする方法もあります。

ポリシーの設定例

設定例として、LAN(port2)からインターネット(port1)に向けて、Microsoft Office 365 宛ての HTTP/HTTPS 通信を許可するポリシーを作ります。送信元 NAT を有効にし、すべてのセッションのログを記録します。

ポリシーを作成する

FortiGate 管理画面画面イメージ
ファイアウォールポリシー ›› 新規ポリシー
1名前Office365-Office365-Access
2着信インターフェースLAN (port2)
発信インターフェースInternet (port1)
送信元all
3宛先Microsoft Office 365
スケジュールalways
4サービスHTTP HTTPS
アクション◉ 許可○ 拒否
インスペクションモード◉ フローベース○ プロキシベース
ファイアウォール / ネットワークオプション
5NATON
IPプール設定◉ 発信インターフェースのアドレスを使用○ ダイナミックIPプールを使う
送信元ポートの保持OFF
プロトコルオプションdefault
セキュリティプロファイル:すべて OFF / SSLインスペクション:no-inspection
ロギングオプション
6許可トラフィックをログON ○ セキュリティイベント◉ すべてのセッション
OKキャンセル
図7 設定例のポリシー(実際の画面ではなく、設定した値を示したイメージです)
No.項目設定した内容
1名前ほかと重ならない名前を付けます。
2着信/発信LAN (port2) から Internet (port1) へ出ていく通信が対象です。
3宛先Microsoft Office 365 宛ての通信に限ります。
4サービスHTTP と HTTPS だけを許可します。
5NAT送信元を port1 の IP アドレスに変換します。
6ログこのポリシーで許可したすべてのセッションを記録します。

追加された位置を確認する

OK をクリックすると、ポリシーは暗黙の拒否のすぐ上、つまり作ったポリシーの中ではいちばん下に追加されます。シーケンス別の表示で確認します。

FortiGate 管理画面(シーケンス別)画面イメージ
ポリシー&オブジェクト ›› ファイアウォールポリシー
名前FromTo宛先サービスアクションNAT
Internet_to_LANInternet (port1)LAN (port2)DestNAT_3389PING
RDP
SSH
✔ 許可✔ 有効化済み
Deny_GeoLAN (port2)Internet (port1)United_StatesHTTP
HTTPS
⊘ 拒否
LAN_to_InternetLAN (port2)Internet (port1)allALL✔ 許可NAPT
1Office365-Office365-AccessLAN (port2)Internet (port1)Microsoft Office 365HTTP
HTTPS
✔ 許可✔ 有効化済み
暗黙の拒否anyanyallALL⊘ 拒否
図8 追加したポリシーの位置(実際の画面ではなく、表示のポイントを示したイメージです。送信元(すべて all)、スケジュール(すべて always)、セキュリティプロファイルの列は省いています)

ポリシーは上から照合され、一致したポリシーが適用されると、それより下のポリシーは照合されません。図8 の順番のままだと、Office 365 宛ての HTTP/HTTPS 通信は、先に LAN_to_Internet(宛先 all、サービス ALL)に一致します。追加したポリシーの設定を確実に使いたい場合は、順番を上に移す必要があります。

ポリシーの順番を変える

順番を変えるときは、移動したいポリシーを選び、移動先までドラッグ&ドロップします。

FortiGate 管理画面(シーケンス別)画面イメージ
ポリシー&オブジェクト ›› ファイアウォールポリシー
名前FromTo宛先サービスアクション
Internet_to_LANInternet (port1)LAN (port2)DestNAT_3389PING
RDP
SSH
✔ 許可
1Office365-Office365-AccessLAN (port2)Internet (port1)Microsoft Office 365HTTP
HTTPS
✔ 許可
Deny_GeoLAN (port2)Internet (port1)United_StatesHTTP
HTTPS
⊘ 拒否
LAN_to_InternetLAN (port2)Internet (port1)allALL✔ 許可
暗黙の拒否anyanyallALL⊘ 拒否
図9 ドラッグ&ドロップで2番目に移したあと(実際の画面ではなく、表示のポイントを示したイメージです。一部の列は省いています)

これで、Office 365 宛ての HTTP/HTTPS 通信は、Deny_Geo や LAN_to_Internet より先に、追加したポリシーで照合されます。

名前なしでポリシーを設定する方法

初期設定では、ポリシーには名前が必須で、名前はほかのポリシーと重ならないようにする必要があります(VDOM ごとに一意)。名前を空のまま保存しようとすると、エラーになります。

FortiGate 管理画面画面イメージ
ファイアウォールポリシー ›› 新規ポリシー
ID0
1名前  必須フィールドです。
着信インターフェースInternet (port1)
発信インターフェースInternet (port1)
送信元all
送信元をネゲートOFF
図10 名前を空にしたときのエラー(実際の画面ではなく、表示のポイントを示したイメージです)

名前の付け方のルールを決めて管理する方法もありますが、名前が不要な場合は、名前を必須にする設定を外せます。

名前なしポリシーを許可する

システム ›› 表示機能設定 を開き、名前なしポリシー許可 を ON にして 適用 をクリックします。

FortiGate 管理画面画面イメージ
システム ›› 表示機能設定
ロードバランスOFF
ワイヤレス オープンセキュリティOFF
脅威ウェイトトラッキングON
差し替えメッセージグループOFF
証明書ON
複数インターフェースポリシーOFF
1名前なしポリシー許可ON
GUIでのポリシー作成時に名前をつける要件を緩和します。
2適用
図11 表示機能設定(実際の画面ではなく、設定する項目を示したイメージです)
補足

CLI では config system settings の set gui-allow-unnamed-policy enable で同じ設定になります。この設定は VDOM ごとです。VDOM を使っている場合は、対象の VDOM で設定します。

名前なしでポリシーを作る

これで名前は必須ではなくなり、名前を空のままポリシーを保存できます。一覧では名前の列が空になります。

FortiGate 管理画面(シーケンス別)画面イメージ
ポリシー&オブジェクト ›› ファイアウォールポリシー
名前FromTo送信元宛先スケジュール
1Internet (port1)LAN (port2)allDestNAT_3389always
LAN (port2)Internet (port1)allallalways
暗黙の拒否anyanyallallalways
図12 名前なしのポリシー(実際の画面ではなく、表示のポイントを示したイメージです)

ログとポリシーを ID で対応させる

名前を付けていないので、トラフィックログでは、どのポリシーで処理されたかがポリシー ID だけで記録されます。

FortiGate 管理画面画面イメージ
ログ&レポート ›› 転送トラフィック
ポリシーID送信元宛先アプリケーション
12(伏せています)(伏せています)DNS
2(伏せています)(伏せています)DNS
2(伏せています)(伏せています)DNS
2(伏せています)(伏せています)DNS
図13 名前なしポリシーのログ(実際の画面ではなく、表示のポイントを示したイメージです。日付の列は省き、IP アドレスは伏せています)

ログの ID とポリシーを照らし合わせやすいように、ポリシー一覧にも ID の列を表示しておくことをおすすめします。ポリシー一覧の見出しの左端にある歯車(テーブルを設定)をクリックし、名前 のチェックを外して ID にチェックを入れ、適用 をクリックします。

FortiGate 管理画面画面イメージ
ファイアウォールポリシー ›› テーブルを設定
全てのカラムを最適に調節 
テーブルをリセット 
カラムを選択
1☐ 名前チェックを外す
☑ From / ☑ To / ☑ 送信元 / ☑ 宛先 
☑ スケジュール / ☑ サービス / ☑ アクション 
☑ NAT / ☑ セキュリティプロファイル / ☑ ログ / ☑ バイト 
☐ AV / ☐ DNSフィルタ 
2☑ IDチェックを入れる
☐ IPS 
3適用
図14 テーブルの設定(実際の画面ではなく、設定する項目を示したイメージです)

ID の列はいちばん右に追加されます。見出しをドラッグ&ドロップしていちばん左に移すと、見やすくなります。暗黙の拒否の ID は 0 です。

FortiGate 管理画面(シーケンス別)画面イメージ
ポリシー&オブジェクト ›› ファイアウォールポリシー
IDFromTo送信元宛先スケジュール
1Internet (port1)LAN (port2)allDestNAT_3389always
12LAN (port2)Internet (port1)allallalways
0anyanyallallalways
図15 ID の列を左端に表示した一覧(実際の画面ではなく、表示のポイントを示したイメージです)

図13 のログのポリシー ID 2 は、図15 の ID 2(LAN (port2) → Internet (port1))のポリシーだとすぐにわかります。

うまくいかないとき

状態よくある原因確認すること
追加したポリシーの設定が効かない上にある別のポリシーに先に一致しているシーケンス別の表示で順番を見る。ログのポリシー ID が、追加したポリシーになっているか。
許可したはずの通信が拒否されるどのポリシーにも一致せず、暗黙の拒否で拒否されている着信・発信インターフェース、送信元・宛先、サービスが通信と合っているか。ポリシーのルックアップ で一致するポリシーを調べる。
拒否された通信のログが出ない暗黙の拒否のログが OFF(初期状態)暗黙の拒否で IPv4違反トラフィックをログ が ON になっているか。
許可した通信のログが少ないログの範囲がセキュリティイベントになっているすべての通信を記録したい場合は すべてのセッション を選ぶ。

まとめ

項目ポイント
照合の順番シーケンス別の一覧の上から順に照合し、最初に一致した1つだけを適用する。
暗黙の拒否どれにも一致しない通信をすべて拒否する。ログは初期状態では記録されない。
戻りの通信ステートフルインスペクションで自動で許可されるので、逆向きのポリシーは不要。
追加したポリシー暗黙の拒否のすぐ上に入る。優先したい場合はドラッグ&ドロップで上に移す。
ログセキュリティイベント(UTM が反応した通信)か、すべてのセッションかを選ぶ。
名前なしポリシーシステム ›› 表示機能設定 で許可できる。ログは ID だけになるので、一覧に ID の列を出しておく。

コメント