セキュリティポリシーとは
セキュリティポリシー(以下、「ポリシー」と記載)とは、Palo Alto ファイアウォールを通過する通信について、「許可」または「拒否」するという動作を定義した設定です。
Palo Alto 以外のメーカのファイアウォールも含め、ファイアウォールでは何もポリシーが設定されていない状態ではすべての通信を拒否します。これは「暗黙のdeny」と呼ばれる、すべての通信を拒否するポリシーがデフォルトで存在するためです。
ファイアウォールの管理者は、許可したい通信については動作が許可のポリシーを設定し、拒否したい通信については動作が拒否のポリシーを設定することによって、ファイアウォールを通過する通信を制御します。
Palo Alto ファイアウォールのデフォルトのポリシー
Palo Alto ファイアウォールでは、デフォルトで以下の 2 つのポリシーが存在します。
- intrazone-default
- 送信元ゾーンと宛先ゾーンが同一の通信をすべて「許可」するポリシー
- interzone-default
- 送信元ゾーンと宛先ゾーンが異なる通信をすべて「拒否」するポリシー
上記のデフォルトのポリシーが存在することから、ポリシーを手動で設定しない限りは以下の動作になります。
- 送信元ゾーンと宛先ゾーンが同一の通信はすべて「許可」される
- 送信元ゾーンと宛先ゾーンが異なる通信はすべて「拒否」される
「セキュリティゾーン」という概念
ファイアウォールやポリシーに関連して、セキュリティゾーン(以下、「ゾーン」と記載)という概念が存在します。
ゾーンとは、ファイアウォールを境界としてネットワークを分割した際に、分割された結果のそれぞれの部分的なネットワークのことです。
ファイアウォールを扱う際にはゾーンの理解は必須となります。
ゾーンについて詳しくは以下の記事に記載しています。
ポリシーの構成要素
ポリシーは以下のような項目から構成されます。
- 送信元情報
- ゾーン
- アドレス
- 宛先情報
- ゾーン
- アドレス
- サービス(ポート番号)
- アプリケーション
- アクション(許可/拒否)
- その他オプション
ステートフルインスペクション
ネットワーク通信には、片方向の通信と双方向の通信があります。
双方向の通信では、送信元端末から宛先端末に通信を行った後、宛先端末から送信元端末への応答の通信が発生します。
この双方向の通信をファイアウォールで許可したい場合を考えてみます。
単純に考えると、以下の 2 つのポリシー設定が必要に思えます。
- 送信元端末から宛先端末への通信を許可するポリシー
- 宛先端末から送信元端末への通信を許可するポリシー
しかし、実際には「送信元端末から宛先端末への通信を許可するポリシー」だけを設定すれば十分です。
なぜなら、送信元端末から宛先端末への通信がポリシーによって許可された時点で、ファイアウォールのセッションテーブルに通信内容が記録され、そのセッションテーブルの内容に基づいて宛先端末から送信元端末への応答の通信は自動で許可されるためです。
この仕組みをステートフルインスペクションといいます。
ポリシーの評価順序に関する注意点
ファイアウォールの管理者によってポリシーは複数設定されることになりますが、それらのポリシーには評価順序があります。
Palo Alto ファイアウォールの場合は以下の順序で評価されます。
- GUI でいうと、ポリシー一覧画面に表示されているポリシーリストの上側から下に向かう順序
- CLI でいうと、
rulebase security rules
としてコンフィグに表示されているポリシーリストの中で上側から下に向かう順序
また、手動で設定したポリシーをすべて評価した後、デフォルトのポリシーである intrazone-default、interzone-default の順で評価されます。
一つずつ順番にポリシーを評価していく中で条件に合致するポリシーが見つかった場合、そのポリシーに基づいて通信の許可/拒否が決定され、それ以降のポリシーは無視されます。
新規作成したポリシーは一番下に追加される
新規作成したポリシーは一番下に追加されます。
よって、既存のポリシーで通信を拒否するポリシーがある場合、その拒否ポリシーが先に評価されて許可したい通信が拒否されてしまうといったことが起こりえます。
新規にポリシーを追加する際は、追加するポリシーをどの位置に追加する必要があるのかも考慮する必要があります。
コメント