2. コンテンツにスキップ

2. 利用開始までの準備

2.1 スクリプトを設定するための前提

必須設定

本章で説明するスクリプトを設定するためには、事前にWEBAPIのインストールが必要となります。
インストール手順については、別紙「5.1 SSM WEBAPIモジュールのインストール」を参照してください。

2.2 権限設定

脆弱性管理機能を利用するために必要な権限を設定します。
脆弱性情報管理機能には2つの役割があるので、役割ごとに説明します。

  • 脆弱性情報管理者

    脆弱性情報管理に使用するためのシステムを作成します。

    脆弱性情報を管理するプロセス管理の職責を作成します。

    脆弱性情報を管理するプロセス管理と構成品目辞書管理の画面ポリシーを作成します。

    脆弱性情報管理者となるユーザーを作成します。

  • 機器システム情報管理者

    機器システム情報を管理するためのシステムを作成します。

    機器システム情報を管理する構成管理の職責を作成します。

    機器システム情報を管理する構成管理と構成品目辞書管理の画面ポリシーを作成します。

    機器システム情報管理者となるユーザーを作成します。

    仕様補足

    脆弱性情報の画面における、脆弱性情報システムの管理者情報で「主担当」に設定されているユーザーまたは職責のユーザーは、脆弱性情報管理者となります。
    脆弱性情報管理者となったユーザーには対象となる構成品目辞書が不明な脆弱性情報について確認依頼メールが送信されます。

2.3 脆弱性管理機能に関する制御情報設定

脆弱性管理機能を利用するには、あらかじめ以下の制御情報を設定します。

管理項目名 説明
脆弱性管理機能-脆弱性情報システム設定 脆弱性管理に使用するシステムを設定します。
脆弱性管理機能-脆弱性情報プロセス設定 脆弱性管理に使用するプロセス画面を設定します。
脆弱性管理機能-機器システム情報構成管理設定 脆弱性管理に使用する構成アイテム画面を設定します。
脆弱性管理機能-脆弱性検知メール送信設定 脆弱性情報にマッチングした機器システム情報の担当者にメールを送信するか設定します。
脆弱性管理機能-脆弱性対応インシデント起票設定 脆弱性情報にマッチングした機器システムのインシデントを登録するか設定します。
脆弱性管理機能-脆弱性対応インシデント対象プロセス 脆弱性管理機能で使用するインシデントの画面を定義します。
脆弱性管理機能-脆弱性対応インシデント現在対応者 脆弱性情報にマッチングした機器システムのインシデントの現在対応者を定義します。

2.4 画面レイアウト設定

「2.3 脆弱性管理機能に関する制御情報設定」で設定した「脆弱性情報」となるプロセス管理の画面と「機器システム情報」となる構成管理の画面に、あらかじめ用意された画面レイアウト「脆弱性情報」・「機器システム情報」を設定します。

脆弱性情報インシデントの登録用CSVファイル出力を使用して、脆弱性対応インシデント管理プロセスを運用する場合、該当画面に必要な項目を表示してください。 「脆弱性管理機能-脆弱性対応インシデント対象プロセス」に設定した画面のレイアウト設定から、以下の項目を表示するように設定してください。

項目名 説明
タイトル 脆弱性対応インシデントのタイトルです。
経過 脆弱性情報と機器システム情報がマッチングした際に、両者に共通していたCPE名が記録されます。
テキスト43 脆弱性情報と機器システム情報がマッチングした際の脆弱性情報のタイトルと識別番号がリンクとして表示されます。
テキスト44 脆弱性情報と機器システム情報がマッチングした際の機器システムの構成アイテムIDと構成アイテム名がリンクとして表示されます。

2.5 メールテンプレート設定

自動送信されるメールの内容はデフォルトで設定されていますが、カスタマイズすることができます。

2.6 メール通知機能を利用するには

メールによる通知機能を利用するためには、事前に機器システム情報と構成品目辞書を手動で関連登録し、機器システム情報を現在の構成にする必要があります。
構成品目辞書と関連登録を行うことで、機器システム情報に関連する脆弱性情報が検出された時、マッチング処理によりメールで通知されます。
機器システム情報と構成品目辞書の関連登録については「3.3.1 構成品目辞書との関連付け」を参照してください。
機器システム情報の状態変更については、資料集の「2.3 構成アイテム(構成管理)仕様まとめ」を参照してください。
メールで通知するためには、資料集の「2.2.2.8 エージェント送信メール」を参照してください。

2.7 構成品目辞書登録スクリプトの設定方法

構成品目辞書登録スクリプトを実行するための設定手順について説明します。
タスクスケジューラを利用して設定を行いますので、設定を行った日付から毎日スクリプトが実行されます。

2.7.1 「タスクスケジューラの実行」前に必要な手順

2.7.1.1 資材の格納

インストールする資材を入手して、インストールするサーバーの CCFSP 配下に格納します。 インストールする資材は以下のファイルです。これを以下のパスに格納して下さい。

パス ファイル 説明
ccfspwebapi\vulnerability_script\cpe run_cpe_script.ps1 構成品目辞書登録処理スケジューラ登録ファイル
ccfspwebapi\vulnerability_script\cpe CPE_insert_script.py 構成品目辞書登録処理実行ファイル
ccfspwebapi\vulnerability_script\common settings.py 共通の設定ファイル
ccfspwebapi\vulnerability_script\common setup.py 共通の設定ファイル

仕様補足

構成品目辞書登録スクリプトの初回実行時、通常はスクリプトの実行によりNISTへアクセスしますが、NISTへアクセスせずに構成品目辞書情報を登録することができます。
以下のパスに下記URLより取得したzipファイルを格納してください。
・https://nvd.nist.gov/feeds/json/cpe/2.0/nvdcpe-2.0.zip

パス ファイル 説明
ccfspwebapi\temp nvdcpe-2.0.zip 構成品目辞書zipファイル

上記パスに格納したzipファイルから構成品目辞書情報を登録する場合は、2.7.2 タスクスケジューラでの実行の手順を実行する前に、新規でコマンドプロンプトを開き以下のコマンドを実行してください。
NISTへアクセスして構成品目辞書情報を取得する場合は、以下のコマンドを実行せずに2.7.2 タスクスケジューラでの実行の手順を実行してください。

powershell -File "C:\Program Files\CCFSP\ccfspwebapi\vulnerability_script\cpe\run_cpe_script.ps1" "offline"

2.7.1.2 外部アクセス設定

「ssmwebapi.conf」ファイルを開き、以下の内容を編集します。

    # 外部アクセス用SSL証明書の検証設定(デフォルト:True)
    #  SSL証明書の検証を行う:True
    #  SSL証明書の検証を行わない:False
    # 脆弱性機能を利用しない場合は設定不要
    EXTERNAL_SSL_CERT_VERIFICATION = False

    # 外部アクセス用プロキシ設定(デフォルト:None)
    #  プロキシなし:None
    #  プロキシあり:{ 'http': 'http://<IPアドレス>:<ポート番号>', 'https': 'https://<IPアドレス>:<ポート番号>' }
    # 脆弱性機能を利用しない場合は設定不要
    EXTERNAL_ACCESS_PROXIES = { 'http': 'http://<IPアドレス>:<ポート番号>', 'https': 'https://<IPアドレス>:<ポート番号>' }

2.7.2 タスクスケジューラでの実行

  1. Windowsタスクスケジューラを開き、「タスクの作成」をクリックします

    タスクの作成

  2. 「全般」タブで「名前:」を指定します

    名前

  3. 「トリガー」タブで「新規」を押下します

    トリガー

  4. 「新しいトリガー」画面に下記の項目を設定して、「OK」を押下します

    • 毎日
    • 時間
    • 間隔:1日  

    新しいトリガー

  5. 「操作」タブで「新規」をクリックします

    操作

  6. 「新しい操作」画面に下記の項目を設定して、「OK」を押下します  

    プログラム/スクリプト 引数の追加(オプション)
    powershell.exe ・構成品目辞書登録スクリプトの場合
    -ExecutionPolicy Bypass -File "C:\Program Files\CCFSP\ccfspwebapi\vulnerability_script\cpe\run_cpe_script.ps1"
    ・脆弱性情報処理スクリプトの場合
    -ExecutionPolicy Bypass -File "C:\Program Files\CCFSP\ccfspwebapi\vulnerability_script\cve\run_cve_script.ps1"

    新しい操作

  7. 「OK」を押下します

    OK

仕様補足

構成品目辞書登録スクリプト実行時、以下のファイルにログが出力されます。
・ccfspwebapi/logs/sjSPB_CPE_insert_script.log

仕様補足

ネットワーク接続エラーなどにより、構成品目辞書登録処理が中断された場合、処理が失敗した原因を確認して対処を行ってください。 対処を実施後、翌日の実行時に失敗した日時の構成品目辞書登録処理が再実行されます。

仕様補足

項目不備などにより構成品目辞書登録処理に失敗した場合は、失敗したレコードはスキップされ、その他のデータは登録されます。
スキップされたデータはログに出力されますので、ログ内容を確認し構成品目辞書管理画面から手動でデータを登録してください。
手動データ登録については、ユーザーズガイド「4.3.7.33.1 構成品目辞書の新規登録」を参照してください。

2.8 脆弱性情報処理スクリプトの設定方法

脆弱性情報処理スクリプトの設定方法を以下に記します。
タスクスケジューラにて設定を行いますので、設定を行った日付から毎日実行されます。

2.8.1 「タスクスケジューラの実行」前に必要な手順

2.8.1.1 資材の格納

インストールする資材を入手して、インストールするサーバーの CCFSP 配下に格納します。 インストールする資材は以下のファイルです。これを以下のパスに格納して下さい。

パス ファイル 説明
ccfspwebapi\vulnerability_script\cve run_cve_script.ps1 脆弱性情報登録処理スケジューラ設定ファイル
ccfspwebapi\vulnerability_script\cve CVE_autoInsert_script.py 脆弱性情報登録処理実行ファイル
ccfspwebapi\vulnerability_script\cve CVE_recovery_script.py 脆弱性情報登録処理リカバリ用ファイル
ccfspwebapi\vulnerability_script cve.conf 脆弱性情報取得設定ファイル

2.8.1.2 外部アクセス設定

外部アクセス設定については、「2.7.1.2 外部アクセス設定」を参照してください。
すでに手順を実施済みの場合は実施不要です。

2.8.1.3 脆弱性情報取得設定

「cve.conf」ファイルを開き、必要に応じて設定を変更してください。

  1. WEBAPIサーバーのホスト名とポートを指定します。  

        [WEBAPI]
        #WEBAPIの実施hostとport
        host = ssmwebhost
        port = 49152
    

  2. 脆弱性システムの権限を持つユーザー名とパスワードを指定します。

        #脆弱性システム権限持つユーザーのアカウント
        username = <ユーザー名>
        password = <パスワード>
    

  3. 取得する脆弱性情報の深刻度を指定することができます。指定した深刻度の脆弱性情報が取得されます。

        #取得される脆弱性情報の深刻度 
        #jvncvss指定可能:n,l,m,h,c
        #nvdcvss指定可能:LOW,MEDIUM,HIGH,CRITICAL
    
        jvncvss = h,c
        nvdcvss = HIGH,CRITICAL
    

  4. 脆弱性情報の取得元を指定することができます。

        #取得される脆弱性情報源
        #0:jvnとnvd両方から取得
        #1:jvnから取得
        #2:nvdから取得
        type = 0
    

2.8.2 タスクスケジューラでの実行

タスクスケジューラの実行手順については、「2.7.2 タスクスケジューラでの実行」を参照してください。

仕様補足

脆弱性情報処理スクリプトの初回実行時、JVNの脆弱性情報は取得されますが、NVDの脆弱性情報は取得されません。
2回目以降の実行からNVDの脆弱性情報も取得されます。

仕様補足

脆弱性情報処理スクリプト実行時、以下のファイルにログが出力されます。
・ccfspwebapi/logs/sjSPB_CVE_insert_script.log

仕様補足

ネットワーク接続エラーなどにより、脆弱性情報処理が中断された場合、処理が失敗した原因を確認して対処を行ってください。 中断された処理は翌日の実行時に再実行されます。 もしくは、手動でスクリプトを再実行することができます。 仮想環境上で以下のコマンドを実行してください。

python CVE_autoInsert_script.py

仕様補足

項目不備などにより脆弱性情報処理に失敗した場合は、失敗したレコードはスキップされ、その他のデータは登録されます。
スキップされたデータは以下のファイルに保存されますので、手動でデータを修正してリカバリ用のスクリプト(CVE_recovery_script.py)を実行してください。
・ccfspwebapi\vulnerability_script\cve\failed_data.json
リカバリ用のスクリプトは仮想環境上で以下のコマンドを実行してください。

python CVE_recovery_script.py