🧰

シナリオ生成支援ツール

 
ポリシーテスト機能で利用するテストシナリオを、ファイアウォールのコンフィグから生成する支援ツール(ScenarioWriter)を提供しています。
 

ScenarioWriter(シナリオライター)とは


ポリシーテスト機能のテストシナリオ、仮想ルーターの設定をファイアウォールのコンフィグから自動で作成するコマンドラインツールです。
テストシナリオ作成作業を効率化します。
 
NEEDLEWORK本体と同じZIPファイルに格納しています。

対応しているファイアウォール


  • Fortinet FortiGate ※FortiOS 7.2.6で動作検証をしています
  • Palo Alto Networks 次世代ファイアウォール ※PAN-OS 10.1.9-h3で動作検証をしています
 
※動作検証しているバージョン以外でも、コンフィグフォーマットに大きな変更がない場合は動作する可能性があります

動作仕様


下記ページをご参照ください。
シナリオライター動作仕様2025/1/3 15:032025/3/1 11:33

ご利用方法


needlework_latest.zip解凍後のtoolフォルダに、ツール本体(scenario-writer.exe)が保存されています。

1.実行


フォルダに移動し以下のコマンドを実行します。
  • コマンドプロンプトの場合
    • Fortinet FortiGate
    • Palo Alto Networks 次世代ファイアウォール
  • PowerShellの場合
    • Fortinet FortiGate
    • Palo Alto Networks 次世代ファイアウォール

実行例

※PowerShellでの実行例
 
実行結果例
 
 
ℹ️
本ツールで対応していない設定については実行結果に詳細情報を表示しています。 お手数ですが、内容をご確認のうえ、手動でテストシナリオを修正・作成をお願いします。
⚠️
セキュリティポリシーに多数のanyまたはall(送信元・宛先IPアドレス、サービス)が含まれている場合、シナリオ生成完了までに時間がかかります。

出力されるファイル

以下の通り、テストシナリオ(CSV)とNEEDLEWORK設定ファイル(Toml)を出力します。
 
 

設定ファイル(インターフェース設定)について

シナリオライターでは、ファイアウォールが保持している全てのセグメントを、NEEDLEWORKの1つのインターフェース(eth0/1)に収容する設定ファイルを生成します。
 
NEEDLEWORKで利用可能なテストインターフェースは最大3つまでのため、 4つ以上のインターフェースを持つファイアウォールと接続する場合、 ファイアウォールとNEEDLEWORKの間にL2スイッチを接続し、タグVLANで全てのセグメントをNEEDLEWORKに流します。
 
多くのインターフェースを持つファイアウォールをテストする場合でもスムーズにテスト可能なよう、シナリオライターではファイアウォールの全ネットワークを収容する設定ファイルを生成します。
ℹ️
現状の仕様では、ファイアウォールのインターフェース数が3つ以内の場合も、 同じ動作で設定ファイルを生成します。
 
設定ファイル生成イメージ
下記図のファイアウォールの場合(5つの物理インターフェースを利用)、 NEEDLEWORKのeth0/1にVLANインターフェースを設定し、 全てのセグメント(VLAN)を流す設定ファイルを生成します。
 
VLANインターフェースを収容するL2スイッチ(ファイアウォールとNEEDLEWORKの間に設置)をご用意いただくか、設定ファイルのインターフェース設定を修正しテスト実施をお願いします。
 
 
詳細は下記ページをご参照ください。
 

2.NEEDLEWORKの設定


以下の手順で、出力された設定ファイル(Toml)をNEEDLEWORKに読み込み、設定を行います。
ℹ️
以下のファイアウォールインターフェースには対応していないため、設定ファイルに値(インターフェース・仮想ルーター)が追加されません。
お手数ですが手動での設定をお願いします。 ・スタティックルートが存在しないインターフェース  ※対象インターフェース向けのスタティックルートがないもの ・VPNインターフェース ・PPPoEインターフェース
 
  1. NEEDLEWORK設定ファイル(Toml)を読み込みます。
    ※初期状態ではOSインターフェース(Windowsのネットワークアダプター)がアサインされていないためエラーが表示されます。 下記「2」記載の通り手動でインターフェース設定を行ってください。
 
  ※エラー例※
 
2. NEEDLEWORKにOSインターフェースをアサインします。  
OSインターフェース情報はPCによって異なるため、 生成されるNEEDLEWORK設定ファイルにはOSインターフェースが設定されていません。 PCのOSインターフェース情報に応じて、 手動でNEEDLEWORKインターフェース設定を行ってください。
 
設定方法は下記ページをご参照ください。
 

3.シナリオ読み込み・テスト実行



1. 出力されたテストシナリオを読み込み、テストを実行します。
 

テスト結果エラーについて


テストシナリオの内容、またはファイアウォールの設定によっては、テスト結果がエラー(想定外の結果)になる場合があります。
必要に応じて調査し、ポリシーの修正もしくはテストシナリオの修正を検討してください。
※テストシナリオのdescription欄に、シナリオの元にしたファイアウォールのポリシー名を記載しています
 
以下のような場合、テスト結果が想定外の結果になる場合があります。
  • テストプロトコルにhttpsを利用している場合でUTMテストを指定している場合
    • テストプロトコルにhttpsを利用している場合、以下のUTMテストを行うにはファイアウォールにて通信の復号化が必要になります。

      1. アンチウイルス
      通信が複合化されないため、レスポンスに含まれるEicarを検査できません。
      そのため、block想定の通信がpassとなります。

      2. URLフィルタリング ※パス(Path)が含まれるテストシナリオを実行した場合 のようなパス(例:)を含むURLフィルタのテストシナリオを実行した場合、通信が複合化されないため、リクエスト情報に含まれるパスを検査できません。
      上記の場合は、ファイアウォールのポリシー設定、復号化設定の見直しをお願いします。
      ℹ️
      FortiGateで通信の復号化を行う場合は”SSL/SSHインスペクション”に「Deep-Inspection」をご利用ください。 関連ヘルプ:HTTPSのテスト結果がdropになります
 
  • 他のポリシーにマッチしている場合 アドレスオブジェクトの範囲が他のポリシーと重複している場合、期待するポリシー以外にテスト通信がマッチし、想定と異なる結果になる場合があります。
 

お問い合わせ


ご質問・ご要望等ございましたら下記のフォームからお願いいたします。