シナリオライター動作仕様
基本動作アドレス取得ロジックポート番号取得ロジックオブジェクトに「all」または「any」が指定されている場合の動作アドレスサービス(プロトコル)UTM設定が指定されている場合URLフィルタリングアンチウイルスPalo Alto版特有のNATの処理について設定ファイルの生成 動作仕様仮想ルーター設定について生成単位についてexternalルートについてinternalルートについてインターフェース設定について
シナリオライターの基本動作について以下に記載します。
※特に明記していない場合、ファイアウォール機種による動作の違いはありません
- L2モード設定のファイアウォールではシナリオを生成できません
基本動作
ポリシー毎に情報を解析し、テストシナリオを組み上げていきます。
ファイアウォールポリシー毎にオブジェクトを解析(IPアドレス取得、ポート番号等)を行い、
解析後の情報を元に全パターンのテストシナリオ生成を試みます。
※レンジ指定のIP全パターンは取得しません。
アドレス、ポート番号取得等の選定ロジックは後述します。
アドレス取得ロジック
基本的に、単一アドレスは単一アドレス、範囲指定は先頭と末尾を取得します。
アドレスオブジェクトは以下の生成ロジックとなっています。
- ホストアドレス指定
単一のIPアドレスを生成します。
定義 | 生成する値 |
---|---|
192.0.2.1/32 | 192.0.2.1 |
192.0.2.1 | 192.0.2.1 |
- ネットワークアドレス指定
ネットワークの中間のIPアドレスを生成します。
定義 | 取得する値 |
---|---|
192.0.2.0/24 | 192.0.2.127 |
※ネットワークアドレス、ブロードキャストアドレスは除外されます。
- レンジ指定
レンジの先頭、末尾のIPアドレスを生成します。
定義 | 取得する値 |
---|---|
192.0.2.100-192.0.2.110 | 192.0.2.100, 192.0.2.110 |
※カンマ区切り等でそれぞれのフォーマットが指定されている場合は、各フォーマットに準じ、複数取得します。
ポート番号取得ロジック
基本的に、単一ポートは単一ポート、範囲指定は先頭のポート番号を生成します。
ポート番号は以下の生成ロジックとなっています。
- 単一ポート
指定されたポート番号で生成します。
定義 | 生成する値 |
---|---|
80 | 80 |
- 範囲指定
レンジの先頭で取得します。
定義 | 生成する値 |
---|---|
137-139 | 137 |
※カンマ区切り等でそれぞれのフォーマットが指定されている場合は、各フォーマットに準じ、複数取得します。
オブジェクトに「all」または「any」が指定されている場合の動作
アドレス
ポリシーが所属する以下の情報より、ネットワークを予測し、他のセキュリティポリシーと一致しないIPアドレス(※)を生成します。
- 送信元インターフェース(ゾーン)
- 宛先インターフェース(ゾーン)
※他のポリシーの対象範囲が広い場合、生成予定のIPが他のポリシーに一致してしまい、生成できない場合があります。
その場合”any”としてシナリオに出力され、NEEDLEWORKに読み込んだ際、ランダムなグローバルIPとして変換されます。
IPアドレスの生成の流れは以下の通りとなっています。
生成対象のネットワークは以下の流れで特定しています。
※デフォルトルートの場合、宛先ネットワークは0.0.0.0/0となってしまうため、ドキュメントIP(203.0.113.128/25)から生成を試みます。
サービス(プロトコル)
NEEDLEWORKがサポートする以下のプロトコルとして生成します。
オプション指定無しの場合(デフォルト)
プロトコル | ポート |
---|---|
dns | 53 |
http | 80 |
https | 443 |
—verbose-protocolオプション指定時
プロトコル | ポート |
---|---|
icmp | - |
udp | 53 |
dns | 53 |
dnst | 53 |
ftp | 21 |
ftpa | 21 |
http | 80 |
https | 443 |
imap | 143 |
smtp | 25 |
UTM設定が指定されている場合
URLフィルタリング
以下の条件にマッチするポリシーの場合、URLフィルタリングプロファイルに設定されているURLを指定したシナリオが生成されます。
- URLフィルタリングが有効
- サービスがHTTP/HTTPS、またはany/all
※URLが複数ある場合はURL毎にパターンが増えていきます。
アンチウイルス
ポリシーでアンチウイルスが有効化されている場合は、アンチウイルス(eicar付与)が有効化されたシナリオを生成します。
※「アンチウイルス無効/pass想定」シナリオ、「アンチウイルス有効/block想定」シナリオの両方を生成します
Palo Alto版特有のNATの処理について
Palo AltoはセキュリティポリシーとNATポリシーが分離しており、独自に解釈をしています。
Palo Altoと完全に同じ挙動にはなっておらず、現状、以下の通りに挙動となっています。
途中で判定の結果が偽である場合、NATにはマッチしません。
- NATポリシーが有効であるか
- NATポリシーとセキュリティポリシーの送信元ゾーンがマッチするか
NATポリシーとセキュリティポリシーのFromゾーンがマッチする。
以下の何れかに該当することで条件にマッチします。(OR)
No. | 条件 |
1 | NATポリシーのFromゾーンがセキュリティポリシーのFromゾーンに含まれている |
2 | NatポリシーのゾーンがAny |
3 | セキュリティポリシーのゾーンがAny |
- NATポリシーが使うVRとセキュリティポリシーが使うVRがマッチするか
補足:利用するVRの特定は、各ポリシーが使うゾーン→インターフェース→VRといった順番で特定しています。
- NATポリシーとセキュリティポリシーの宛先ゾーンがマッチするか
以下の何れかに該当することで条件にマッチします。(OR)
No. | 条件 |
1. | 宛先NATかつNat後IPから推測したゾーンが、セキュリティポリシーのToゾーンに含まれている。 |
2. | NatポリシーのゾーンがAny |
3. | セキュリティポリシーのゾーンがAny |
- アドレスオブジェクトがマッチするか
- NATポリシーとセキュリティポリシーのSourceアドレスオブジェクトがマッチする。
- NATポリシーとセキュリティポリシーのDestinationアドレスオブジェクトがマッチする。 以下の何れかに該当することで条件にマッチします。(OR):
以下の何れかに該当することで条件にマッチします。(OR)
No. | 条件 |
1. | NATポリシーのSourceアドレスオブジェクトがセキュリティポリシーのSourceアドレスオブジェクトに含まれている |
2. | NatポリシーのSourceがAny |
3. | セキュリティポリシーのSourceがAny |
No. | 条件 |
1. | NATポリシーのDestinationアドレスオブジェクトがセキュリティポリシーのSourceアドレスオブジェクトに含まれている |
2. | NatポリシーのDestinationがAny |
3. | セキュリティポリシーのDestinationがAny |
- サービスオブジェクトがマッチするか
以下の何れかに該当することで条件にマッチします。(OR)
No. | 条件 |
1. | NATポリシーのサービス指定がAny |
2. | セキュリティポリシーのサービス指定が”application-default” |
3. | NATポリシーのサービスがセキュリティポリシーのサービスに含まれている |
設定ファイルの生成 動作仕様
シナリオライターは以下の情報をもとに設定ファイルを生成します。
- ファイアウォールのスタティックルート
- ファイアウォールのインターフェース
以下のファイアウォールインターフェースには対応していないため、設定ファイルに値(インターフェース・仮想ルーター)が追加されません。
お手数ですが手動での設定をお願いします。
・スタティックルートが存在しないインターフェース
※対象インターフェース向けのスタティックルートがないもの
・VPNインターフェース
・PPPoEインターフェース
仮想ルーター設定について
シナリオライターは、ファイアウォールのスタティックルート(宛先ネットワーク)に基づいて仮想ルーターを設定します。
生成単位について
仮想ルーターはファイアウォールのネクストホップ毎(※)に作成します。
※同一セグメントのネクストホップが存在する場合は、1つに集約します。
externalルートについて
externalルートのネクストホップには、ファイアウォールのインターフェースのIPを設定します。
internalルートについて
internalルートには、NEEDLEWORKが生成するネットワークを登録します。
ファイアウォールのスタティックルートの宛先ネットワークを設定します。
インターフェース設定について
NEEDLEWORKはファイアウォールから見たネクストホップになるため、
ファイアウォールのスタティックルートのネクストホップIPをインターフェースに設定します。
インターフェースの設定はすべてeth0/1の配下の紐づくVLANインターフェースに設定され、VLAN IDは2000番を利用します。
※同一セグメントのIPが存在している場合は、エイリアスIPとして設定されます
NEEDLEWORKで利用可能なテストインターフェースは最大3つまでのため、
4つ以上のインターフェースを持つファイアウォールと接続する場合、
ファイアウォールとNEEDLEWORKの間にL2スイッチを接続し、タグVLANで全てのセグメントをNEEDLEWORKに流します。
多くのインターフェースを持つファイアウォールをテストする場合でもスムーズにテスト可能なよう、シナリオライターではファイアウォールの全ネットワークを収容する設定ファイルを生成します。
現状の仕様では、ファイアウォールのインターフェース数が3つ以内の場合も、
同じ動作で設定ファイルを生成します。

設定ファイル生成イメージ
下記図のファイアウォールの場合(5つの物理インターフェースを利用)、
NEEDLEWORKのeth0/1にVLANインターフェースを設定し、
全てのセグメント(VLAN)を流す設定ファイルを生成します。
VLANインターフェースを収容するL2スイッチ(ファイアウォールとNEEDLEWORKの間に設置)をご用意いただくか、設定ファイルのインターフェース設定を修正しテスト実施をお願いします。

詳細
以下のファイアウォールの設定情報をもとに、NEEDLEWORKの設定ファイルを生成します。
ファイアウォール構成

NEEDLEWORK設定
生成されたNEEDLEWORK設定は以下のとおりです。
VLANインターフェースを設定する際、VLAN IDは2000番かで採番します。
L2スイッチの設定イメージは下記リンクをクリックしご参照ください。
L2スイッチ設定イメージ
