hosts_by_vulnerability
SIDfmVMサーバに登録されている脆弱性のホスト一覧を取得するためのエンドポイントです。
脆弱性詳細画面のサマリー表に相当するデータを取得します。
| エンドポイント | hosts_by_vulnerability |
| 機能 | 脆弱性のホスト一覧取得 |
| 実装バージョン | 2.7.0 |
| 認証 | 有り |
| HTTPメソッド | GET/POST |
パラメータ
| 入力値 | 機能 | 入力値の型 | デフォルト値 | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| q[api_key] |
パラメータで認証を行う場合に API キーを指定します。 X-API-Key としてリクエストヘッダに API キーを設定した場合は、このパラメータは X-API-Key での認証に失敗した場合にのみ参照されます。 |
String | なし | ||||||||||||||||||||||||
| q[html_id] |
必須のパラメータです。 対象となる脆弱性の SIDfm ID を指定します。 Microsoft KB 番号のある脆弱性の場合は、KB以降の番号に-(マイナス)を付けた数値を指定します。(例: KB5004956 の場合は、-5004956 を指定します) |
Number | なし | ||||||||||||||||||||||||
| q[offset] | 取得するデータの先頭位置を指定します。 | Number | 0 | ||||||||||||||||||||||||
| q[per_page] |
1~200 の値で、1 度に取得するデータの数を指定します。指定した値が 1~200 を超えている場合は 10 として扱われます。 ※ 全データ数の指定は不可です。 |
Number | 10 | ||||||||||||||||||||||||
| q[index] |
対象とする評価指標を指定します。 sri または cvss を指定します。 |
String | sri | ||||||||||||||||||||||||
| q[category] |
対象とするカテゴリです。 取得する一覧のデータを、指定したカテゴリのホストに限定します。 |
String | なし | ||||||||||||||||||||||||
| q[prior_category] |
ホスト一覧データのカテゴリの並び順に、優先するカテゴリを指定します。 system を指定するとシステムカテゴリを優先し、custom を指定するとカスタムカテゴリを優先します。 |
String | system | ||||||||||||||||||||||||
| q[order] |
一覧データのソート順を指定します。
下記の文字列に_ascを付けると昇順、_desc を付けると降順となります。(例: hostname_asc)
|
String | hostname_asc | ||||||||||||||||||||||||
| q[filters][warning] | 取得するホストを、warning なら要対応のホストに、others なら要対応以外のホストに絞り込みます。 | String | なし | ||||||||||||||||||||||||
| q[filters][products][product_all_version_names] |
SIDfm プロダクト名で、取得するホストを絞り込みます。 指定したプロダクトのいずれかのバージョンが、手動登録プロダクトに設定されているホストに絞り込みます。 複数検索可能です。 この絞り込みは、q[filters][products]* に限り OR 条件で絞り込みを行います。 |
Array<String> | なし | ||||||||||||||||||||||||
| q[filters][products][product_names] |
SIDfm プロダクト名で、取得するホストを絞り込みます。 指定したプロダクトの「全て」が、手動登録プロダクトに設定されているホストに絞り込みます。 複数検索可能です。 この絞り込みは、q[filters][products]* に限り OR 条件で絞り込みを行います。 |
Array<String> | なし | ||||||||||||||||||||||||
| q[filters][products][version_names] |
SIDfm プロダクトのバージョン名で、取得するホストを絞り込みます。 指定したバージョンが、手動登録プロダクトに設定されているホストに絞り込みます。 複数検索可能です。 この絞り込みは、q[filters][products]* に限り OR 条件で絞り込みを行います。 |
Array<String> | なし | ||||||||||||||||||||||||
| q[filters][products][lproduct_all_version_names] |
ローカルプロダクト名で、取得するホストを絞り込みます。 指定したローカルプロダクトのいずれかのバージョンが、手動登録プロダクトに設定されているホストに絞り込みます。 複数検索可能です。 この絞り込みは、q[filters][products]* に限り OR 条件で絞り込みを行います。 |
Array<String> | なし | ||||||||||||||||||||||||
| q[filters][products][lproduct_names] |
ローカルプロダクト名で、取得するホストを絞り込みます。 指定したローカルプロダクトの「全て」が、手動登録プロダクトに設定されているホストに絞り込みます。 複数検索可能です。 この絞り込みは、q[filters][products]* に限り OR 条件で絞り込みを行います。 |
Array<String> | なし | ||||||||||||||||||||||||
| q[filters][products][lversion_names] |
ローカルプロダクトのバージョン名で、取得するホストを絞り込みます。 指定したバージョンが、手動登録プロダクトに設定されているホストに絞り込みます。 複数検索可能です。 この絞り込みは、q[filters][products]* に限り OR 条件で絞り込みを行います。 |
Array<String> | なし | ||||||||||||||||||||||||
| q[filters][status] |
対応状況で、取得するホストを絞り込みます。 配列で複数指定すると、指定したいずれかの対応状況のホストに絞り込みます。 1 つ指定する場合は、文字列でも指定可能です。 絞り込み可能な対応状況は、下記の通りです。
|
String/Array<String> | なし | ||||||||||||||||||||||||
| q[filters][sris] |
最大 SRI が、指定した危険度のいずれかであるホストに絞り込みます。複数検索可能です。 絞り込み可能な危険度は、下記の通りです。
|
Array<String> | なし | ||||||||||||||||||||||||
| q[filters][cvsses] |
最大 CVSS が、指定した CVSS 値のいずれかであるホストに絞り込みます。複数検索可能です。 絞り込みには、CVSS 値の記号(文字列)を指定します。 絞り込み可能な記号と値は、下記の通りです。
|
Array<String> | なし | ||||||||||||||||||||||||
| q[filters][exploitable] | true を指定すると、取得するホストを攻撃コードがある脆弱性を有するホストに絞り込みます。 | Boolean | なし | ||||||||||||||||||||||||
| q[filters][categories][names] |
カテゴリ名で、取得するホストを絞り込みます。 指定したカテゴリのいずれかが設定されているホストに絞り込みます。 q[filters][categories][ids] と併用して絞り込みすることはできません。 |
Array<String> | なし | ||||||||||||||||||||||||
| q[filters][categories][ids] |
カテゴリ ID で、取得するホストを絞り込みます。 指定したカテゴリのいずれかが設定されているホストに絞り込みます。 q[filters][categories][names] と併用して絞り込みすることはできません。 |
Array<Number> | なし | ||||||||||||||||||||||||
| q[filters][categories][is_and] | true を指定すると、q[filters][categories][names] または q[filters][categories][ids] での絞り込み時に、指定したカテゴリが全て設定されているホストに絞り込みます。 | Boolean | なし | ||||||||||||||||||||||||
| q[filters][categories][is_except] | true を指定すると、q[filters][categories][names] または q[filters][categories][ids] での絞り込み時に、指定したカテゴリが設定されていないホストに絞り込みます。 | Boolean | なし | ||||||||||||||||||||||||
| q[filters][os] |
OS 名で、取得するホストを絞り込みます。 指定した OS のホストに絞り込みます。 |
String | なし | ||||||||||||||||||||||||
| q[filters][journal_date_begin] |
履歴作成日で、取得するホストを絞り込みます。 指定した日付以降に作成された履歴のあるホストに絞り込みます。(例: 2022/11/01) |
String | なし | ||||||||||||||||||||||||
| q[filters][journal_date_end] |
履歴作成日で、取得するホストを絞り込みます。 指定した日付以前に作成された履歴のあるホストに絞り込みます。(例: 2022/11/01) |
String | なし | ||||||||||||||||||||||||
| q[filters][journal_outside_period] | true を指定すると、q[filters][journal_date_begin] または q[filters][journal_date_end] あるいはその両方で指定した期間外に作成された履歴のあるホストに絞り込みます。 | Boolean | なし | ||||||||||||||||||||||||
| q[filters][journal_status_change] |
true を指定すると、取得するホストをステータス変更の履歴のあるホストに絞り込みます。 この値を指定する場合、q[filters][journal_date_begin] または q[filters][journal_date_end] の指定が必要です。 |
Boolean | なし | ||||||||||||||||||||||||
| q[filters][journal_duedate_change] |
true を指定すると、取得するホストを対策予定日変更の履歴のあるホストに絞り込みます。 この値を指定する場合、q[filters][journal_date_begin] または q[filters][journal_date_end] の指定が必要です。 |
Boolean | なし | ||||||||||||||||||||||||
| q[filters][date_begin] |
ホストの脆弱性の検出日で、取得するホストを絞り込みます。 検出日が指定した日付以降のホストに絞り込みます。(例: 2022/11/01) |
String | なし | ||||||||||||||||||||||||
| q[filters][date_end] |
ホストの脆弱性の検出日で、取得するホストを絞り込みます。 検出日が指定した日付以前のホストに絞り込みます。(例: 2022/11/01) |
String | なし | ||||||||||||||||||||||||
| q[filters][date_outside_period] | true を指定すると、取得するホストをq[filters][date_begin] または q[filters][date_end] あるいはその両方で指定した期間外のホストに絞り込みます。 | Boolean | なし | ||||||||||||||||||||||||
| q[filters][due_date_begin] |
対策予定日で、取得するホストを絞り込みます。 対策予定日が指定した日付以降のホストに絞り込みます。(例: 2022/11/01) q[filters][due_date_nodate] と併用して絞り込みすることはできません。 |
String | なし | ||||||||||||||||||||||||
| q[filters][due_date_end] |
対策予定日で、取得するホストを絞り込みます。 対策予定日が指定した日付以前のホストに絞り込みます。(例: 2022/11/01) q[filters][due_date_nodate] と併用して絞り込みすることはできません。 |
String | なし | ||||||||||||||||||||||||
| q[filters][due_date_nodate] |
true を指定すると、取得するホストを対策予定日が未設定のホストに絞り込みます。 q[filters][due_date_begin] 及び q[filters][due_date_end] と併用して絞り込みすることはできません。 |
Boolean | なし | ||||||||||||||||||||||||
| q[filters][keyword] | 取得するホストを、指定した文字列がホスト名または表示名に部分一致するホストに絞り込みます。 | String | なし | ||||||||||||||||||||||||
| q[filters][ctags] | 取得するホストを、指定したカスタムタグのいずれかが設定されているホストに絞り込みます。 | Array<String> | なし |
レスポンス
| key | value の内容 | value の型 |
|---|---|---|
| success | 認証の成否 | Boolean |
| response | エラー等の補足情報 | Hash |
| total_size | 取得したホストの数 | Number |
| hosts | ホスト一覧 | Array<Hash> |
| id | ホスト ID | Number |
| hostname | ホスト名 | String |
| ext_name | 表示名 | String/Null |
| display_name | 実際に表示に使用される名称 | String |
| url | ホスト詳細画面の URL | String |
| warning |
要対応 true の場合: 要対応 false の場合: 非要対応 |
Boolean |
| status | 対応状況 | String |
| sri | SRI | String |
| cvss | CVSS | String/Null |
| area | 影響範囲 | String |
| exploitable |
攻撃コードの有無 true の場合: 有り false の場合: 無し null の場合: 出力不可 |
Boolean/Null |
| elapsed_days | 検出されてからの経過日数 | Number/Null |
| created_on | 検出日 | String |
| categories | ホストのカテゴリ | Array<Hash> |
| id | カテゴリ ID | Number |
| name | カテゴリ名 | String |
| desc | 概要 | String |
| hostlim | ホスト登録上限数 | Number/Null |
| is_system |
trueの場合: システムカテゴリ falseの場合: カスタムカテゴリ |
Boolean |
| os | OS 名 | String |
| journals | 履歴 | Array<Hash> |
| id | 履歴 ID | Number |
| created_on | 作成日時 | String |
| user | ユーザ | Hash |
| id | ユーザ ID | Number |
| fullname | 氏名 | String |
| mail_address | メールアドレス | String/Null |
| notes | コメント | String |
| details | 履歴詳細情報 | Hash |
| id | 詳細ID | Number |
| action | 変更内容 | String |
| from | 変更前 | String |
| to | 変更後 | String |
| duedate | 対策予定日 | String |
| affect_packages | 影響するパッケージ | Array<Hash> |
| name | ソフトウェア名 | String |
| version | バージョン番号 | String |
| release | リリース番号 | String/Null |
| arch | アーキテクチャ | String/Null |
| fullname | パッケージ名 | String |
| affect_products | 影響するプロダクト | Array<Hash> |
| product_version_id | SIDfm プロダクトのバージョンID | Number/Null |
| product_id | SIDfm プロダクトのプロダクトID | Number/Null |
| lproduct_version_id | ローカルプロダクトのバージョンID | Number/Null |
| sidfmd_lproduct_id | ローカルプロダクトのプロダクトID | Number/Null |
| fullname | プロダクト名 | String |
| version | バージョン | String |
| display_name | 表示名 | String |
| issue | 脆弱性情報 | Hash |
| id | 脆弱性 ID | Number |
| title | 脆弱性名 | String |
| html_id | SIDfm ID | String |
| ctags | カスタムタグ | Array<Hash> |
| id | カスタムタグ ID | Number |
| keyword | カスタムタグ名 | String |
| category_id | カテゴリ ID | Number/Null |
| color | 文字色コード | String |
| background_color | 背景色コード | String |
| priority | 優先度 | Number |
レスポンス例
{
"success": true,
"response": {},
"total_size": 52,
"hosts": [
{
"id": 121,
"hostname": "host",
"ext_name": "サンプルホスト",
"display_name": "サンプルホスト",
"url": "http://example.com/redmine/sidfm/host/121",
"warning": false,
"status": "影響無",
"sri": "中",
"cvss": "7.8",
"area": "リモート",
"exploitable": null,
"elapsed_days": 337,
"created_on": "2021/09/07",
"categories": [
{
"id": 1,
"name": "公開サーバ",
"desc": "信頼できない人間がアクセス可能なネットワークに配置された、信頼できる人間のみがログインできるシステム。 基本的にファイアウォールの外側や DMZ, クラウドにあるサーバシステムを意味します。\n(具体例:公開 Web サーバ、公開 DNS サーバ、公開 SMTP サーバ)",
"hostlim": null,
"is_system": true
},
{
"id": 410,
"name": "サンプルE",
"desc": "サンプル",
"hostlim": 10,
"is_system": false
}
],
"os": "Red Hat Enterprise Linux 7",
"journals": [
{
"id": 380144,
"created_on": "2022/07/02 16:52:14",
"user": {
"id": 6,
"fullname": "SIDfmVM 管理者",
"mail_address": "sidfmadm@example.com"
},
"notes": "脆弱性情報との照合の結果、脆弱性が無効になったため、ステータスを影響無に変更しました。",
"details": [
{
"id": 378902,
"action": "ステータス変更",
"from": "未対策",
"to": "影響無"
}
]
}
],
"due_date": "",
"affect_packages": [
{
"name": "systemd",
"version": "219",
"release": "62.el7",
"arch": "x86_64",
"fullname": "systemd-219-62.el7x86_64"
}
],
"affect_products": [
{
"product_version_id": 5653,
"product_id": 504,
"fullname": "CentOS 6",
"version": "6",
"display_name": "CentOS 6"
}
],
"issue": {
"id": 337752,
"title": "SAMPLE脆弱性",
"html_id": "90000054"
},
"ctags": [
{
"id": 62,
"keyword": "sample_tag",
"category_id": 341,
"color": "#dc1e1e",
"background_color": "",
"priority": 2
}
]
}
]
}
サンプルコード
※ 実際にサンプルコードを試す場合は、色のついている箇所をご自身の環境に合わせて変更しご利用ください。
サンプルコードを試す場合、変更箇所の「http(s)://hostname/redmine」は、システム設定の「メール通知設定用のURL」を、「apikey」は、VM
APIキー設定画面で登録済みのAPIキーを設定する必要があります。