シナリオライター動作仕様

 
 
シナリオライターの基本動作について以下に記載します。
※特に明記していない場合、ファイアウォール機種による動作の違いはありません
 
ℹ️
  • L2モード設定のファイアウォールではシナリオを生成できません

基本動作


ポリシー毎に情報を解析し、テストシナリオを組み上げていきます。
 
ファイアウォールポリシー毎にオブジェクトを解析(IPアドレス取得、ポート番号等)を行い、
解析後の情報を元に全パターンのテストシナリオ生成を試みます。
※レンジ指定のIP全パターンは取得しません。  アドレス、ポート番号取得等の選定ロジックは後述します。

アドレス取得ロジック


基本的に、単一アドレスは単一アドレス、範囲指定は先頭と末尾を取得します。 アドレスオブジェクトは以下の生成ロジックとなっています。
 
  1. ホストアドレス指定
    1. 単一のIPアドレスを生成します。
      定義生成する値
      192.0.2.1/32192.0.2.1
      192.0.2.1192.0.2.1
  1. ネットワークアドレス指定
    1. ネットワークの中間のIPアドレスを生成します。
      定義取得する値
      192.0.2.0/24192.0.2.127
      ※ネットワークアドレス、ブロードキャストアドレスは除外されます。
  1. レンジ指定
    1. レンジの先頭、末尾のIPアドレスを生成します。
      定義取得する値
      192.0.2.100-192.0.2.110192.0.2.100, 192.0.2.110
※カンマ区切り等でそれぞれのフォーマットが指定されている場合は、各フォーマットに準じ、複数取得します。
 

ポート番号取得ロジック


基本的に、単一ポートは単一ポート、範囲指定は先頭のポート番号を生成します。
 
ポート番号は以下の生成ロジックとなっています。
 
  1. 単一ポート
    1. 指定されたポート番号で生成します。
      定義生成する値
      8080
  1. 範囲指定
    1. レンジの先頭で取得します。
      定義生成する値
      137-139137
※カンマ区切り等でそれぞれのフォーマットが指定されている場合は、各フォーマットに準じ、複数取得します。
 

オブジェクトに「all」または「any」が指定されている場合の動作


アドレス


ポリシーが所属する以下の情報より、ネットワークを予測し、他のセキュリティポリシーと一致しないIPアドレス(※)を生成します。
  • 送信元インターフェース(ゾーン)
  • 宛先インターフェース(ゾーン)
※他のポリシーの対象範囲が広い場合、生成予定のIPが他のポリシーに一致してしまい、生成できない場合があります。
その場合”any”としてシナリオに出力され、NEEDLEWORKに読み込んだ際、ランダムなグローバルIPとして変換されます。
 
IPアドレスの生成の流れは以下の通りとなっています。
 
生成対象のネットワークは以下の流れで特定しています。
デフォルトルートの場合、宛先ネットワークは0.0.0.0/0となってしまうため、ドキュメントIP(203.0.113.128/25)から生成を試みます。

サービス(プロトコル)


NEEDLEWORKがサポートする以下のプロトコルとして生成します。
オプション指定無しの場合(デフォルト)
プロトコルポート
dns53
http80
https443
 
—verbose-protocolオプション指定時
プロトコルポート
icmp-
udp53
dns53
dnst53
ftp21
ftpa21
http80
https443
imap143
smtp25
 

UTM設定が指定されている場合


URLフィルタリング


以下の条件にマッチするポリシーの場合、URLフィルタリングプロファイルに設定されているURLを指定したシナリオが生成されます。
 
  1. URLフィルタリングが有効
  1. サービスがHTTP/HTTPS、またはany/all
※URLが複数ある場合はURL毎にパターンが増えていきます。
 

アンチウイルス


ポリシーでアンチウイルスが有効化されている場合は、アンチウイルス(eicar付与)が有効化されたシナリオを生成します。
※「アンチウイルス無効/pass想定」シナリオ、「アンチウイルス有効/block想定」シナリオの両方を生成します
 

Palo Alto版特有のNATの処理について


Palo AltoはセキュリティポリシーとNATポリシーが分離しており、独自に解釈をしています。
Palo Altoと完全に同じ挙動にはなっておらず、現状、以下の通りに挙動となっています。
途中で判定の結果が偽である場合、NATにはマッチしません。
  1. NATポリシーが有効であるか
  1. NATポリシーとセキュリティポリシーの送信元ゾーンがマッチするか
    1. NATポリシーとセキュリティポリシーのFromゾーンがマッチする。
      以下の何れかに該当することで条件にマッチします。(OR)
      No.条件
      1NATポリシーのFromゾーンがセキュリティポリシーのFromゾーンに含まれている
      2NatポリシーのゾーンがAny
      3セキュリティポリシーのゾーンがAny
  1. NATポリシーが使うVRとセキュリティポリシーが使うVRがマッチするか
    1. 補足:利用するVRの特定は、各ポリシーが使うゾーン→インターフェース→VRといった順番で特定しています。
  1. NATポリシーとセキュリティポリシーの宛先ゾーンがマッチするか
    1. 以下の何れかに該当することで条件にマッチします。(OR)
      No.条件
      1.宛先NATかつNat後IPから推測したゾーンが、セキュリティポリシーのToゾーンに含まれている。
      2.NatポリシーのゾーンがAny
      3.セキュリティポリシーのゾーンがAny
  1. アドレスオブジェクトがマッチするか
    1. NATポリシーとセキュリティポリシーのSourceアドレスオブジェクトがマッチする。
      1. 以下の何れかに該当することで条件にマッチします。(OR)
        No.条件
        1.NATポリシーのSourceアドレスオブジェクトがセキュリティポリシーのSourceアドレスオブジェクトに含まれている
        2.NatポリシーのSourceがAny
        3.セキュリティポリシーのSourceがAny
    2. NATポリシーとセキュリティポリシーのDestinationアドレスオブジェクトがマッチする。 以下の何れかに該当することで条件にマッチします。(OR):
      1. No.条件
        1.NATポリシーのDestinationアドレスオブジェクトがセキュリティポリシーのSourceアドレスオブジェクトに含まれている
        2.NatポリシーのDestinationがAny
        3.セキュリティポリシーのDestinationがAny
  1. サービスオブジェクトがマッチするか
    1. 以下の何れかに該当することで条件にマッチします。(OR)
      No.条件
      1.NATポリシーのサービス指定がAny
      2.セキュリティポリシーのサービス指定が”application-default”
      3.NATポリシーのサービスがセキュリティポリシーのサービスに含まれている
 

設定ファイルの生成 動作仕様


シナリオライターは以下の情報をもとに設定ファイルを生成します。
  • ファイアウォールのスタティックルート
  • ファイアウォールのインターフェース
 
ℹ️
以下のファイアウォールインターフェースには対応していないため、設定ファイルに値(インターフェース・仮想ルーター)が追加されません。
お手数ですが手動での設定をお願いします。 ・スタティックルートが存在しないインターフェース  ※対象インターフェース向けのスタティックルートがないもの ・VPNインターフェース ・PPPoEインターフェース

仮想ルーター設定について


シナリオライターは、ファイアウォールのスタティックルート(宛先ネットワーク)に基づいて仮想ルーターを設定します。
参考ページ:仮想ルーター(VR)

生成単位について

仮想ルーターはファイアウォールのネクストホップ毎(※)に作成します。 ※同一セグメントのネクストホップが存在する場合は、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スイッチ設定イメージ