脆弱性対応アプリケーションでの脆弱性一致アイテムの構成アイテム (CI) の一致の問題Issue この記事では、Qualys 統合からの CI 照合プロセスについて説明します。 この記事は、次の一般的な質問のいくつかに回答します。 1) システムに重複する CI がある場合、作成される VIT が常に最適な CI を選択するとは限りません。それを改善する方法は? 2) 「Qualys CI」(sn_vul_qualys_ci) テーブルと「一致しない CI」(sn_sec_cmn_unmatched_ci) テーブルの違いは何ですか。また、これらはいつ使用されますか。 3) 「CI ルックアップルール」(sn_sec_cmn_ci_lookup_rules) と「CI ID ルール」(sn_sec_cmn_ci_identifier_rule) の違いは何ですか?ReleaseLondon、MadridResolutionCI 照合プロセスを理解するには、まず「検出されたアイテム」を理解する必要があります London より前のバージョンでは、Qualys 統合では Qualys フィールドを使用して CMDB レコードと照合していました。指定された Qualys ID を持つレコードが見つからなかった場合は、ルックアップルールを実行して、Qualys ID なしで既存のレコードを検索します。見つからない場合、またはホストに別の Qualys ID がある場合は、新しい「Qualys CI」(sn_vul_qualys_ci) レコードが挿入されます。 London では、CI 照合方法が改善されました。CI テーブルのフィールドを使用する代わりに、「検出されたアイテム」(sn_sec_cmn_src_ci) と呼ばれる新しいテーブルが導入されました。これにより、複数の Qualys ID を単一の CI にマッピングできます。[ソース ID] フィールドに Qualys ID が保持され、[構成アイテム] フィールドは CI を参照します。 レコード照合プロセスの最初のステップでは、「検出されたアイテム」テーブル内の Qualys ID で検索され、[検出されたアイテム] テーブルにレコードが存在する場合は、その CI を使用して脆弱性一致アイテムが作成されます 「検出されたアイテム」レコードが存在しない場合は、テーブル「CI ルックアップルール」(sn_sec_cmn_ci_lookup_rules) の CI ルックアップルールが実行されます。これらのルールのいずれかを使用して一致が見つかると、新しい「検出されたアイテム」レコードが作成されます。一致するものが見つからない場合は、cmdb_ciテーブルを拡張する「一致しない CI」テーブル (sn_sec_cmn_unmatched_ci) に新しいレコードが作成されます。「一致しない CI」レコードを作成すると、一致しない CI を Qualys ID に関連付ける新しい「検出されたアイテム」レコードも作成されます。これにより、次回は同じ Qualys ID に対して、最初のステップの「検出されたアイテム」テーブルで一致が検出され、CI ルックアップルールは実行されません。 「最適な CI が一致しない」に関連する問題の場合は、これが原因である可能性があります。最初のステップで返される「検出されたアイテム」レコード (そもそも不適切な CI ルックアップルールが原因で作成された重複した「一致しない CI」レコード) が作成され、CI ルックアップルールが呼び出されることはありません。 この問題を回避するには、CMDB 重複排除ウィザードを使用して、既に挿入されている重複 CI レコードを削除してください。https://docs.servicenow.com/csh?topicname=de-duplication-tasks.html&version=latestこれを使用する際の注意点の 1 つは、脆弱性関連の問題の重複を排除する前に、sn_sec_cmn_src_ci と sn_vul_vulnerable_item の 2 つのテーブルを [関連アイテム] リストに追加する必要があることです。これにより、重複が削除または再マッピングされたときに、VR レコード内の適切な参照もすべて更新されます。 また、「CI ルックアップルール」(sn_sec_cmn_ci_lookup_rules) は、London から始まる CI 照合に使用されることにも注意してください。以前は、もう使用されていない他のテーブル「CI ID ルール」(sn_sec_cmn_ci_identifier_rule) が使用されていました。 これは、システム内のコードに従って検証できます。 インポート中、スクリプトインクルード「QualysHostImportReportProcessor」は「ImportHost」という名前の別のスクリプトインクルードを呼び出します。このスクリプトインクルードは、最初に「検出されたアイテム」レコードがあるかどうかをチェックし、ない場合は、「CIIdenitify」という名前の別のスクリプトインクルードを呼び出して、「CI ルックアップルール」(sn_sec_cmn_ci_lookup_rule) テーブルをクエリして、定義された条件に一致する CI があるかどうかを確認しますCI ルックアップルール。