オフラインデータファイルの仕様
オフラインデータは、通常はSIDfm VMエージェントのオフラインデータ出力機能を利用して生成しますが、本ページの仕様に沿って作成したJSONファイルとして作成したものでも利用可能です。
仕様は以下通りです。
- 1ファイルは1ホストに対応しています。
- 文字エンコーディングは、BOM無しのUTF-8です。
-
対応しているOSは下記の通りです。
- Amazon Linux 2 / 2023
- Red Hat Enterprise Linux 5 / 6 / 7 / 8 / 9
- CentOS 5 / 6 / 7
- AlmaLinux 8 / 9
- Ubuntu 14.04 LTS / 16.04 LTS / 18.04 LTS / 20.04 LTS / 22.04 LTS / 24.04 LTS
- Debian GNU/Linux 8.0 / 9.0 / 10.0 / 11.0 / 12.0
- Microsoft Windows 10 / 11 (*)
- Microsoft Windows Server 2008R2SP1 / 2012 / 2012R2 / 2016 / 2019 / 2022 (*)
(*)PowerShell 3.0 以上がインストールされていること -
以下のOSは、Red Hat Enterprise Linuxとして登録することで脆弱性を検出できます。なお、検出される脆弱性はRed Hat Enterprise Linuxのものとなりますので、詳しくは対応する対象OSの公式情報をご参照ください。
- RockyLinux 8 / 9
- Oracle Linux 8 / 9
-
LinuxとWindowsでは、フォーマットやデータの内容が異なります。
Linux用のオフラインデータのフォーマット例{
"hostname": "server1",
"os": {
"id": "centos",
"version": "7",
"os": "CentOS",
},
"packages": [
"acl-2.2.51-12.el7.x86_64.rpm",
(省略)
],
"applications": [
["Apache Tomcat","8.5.29",
"/home/user1/agenttools/for_agent_test_dummy/tomcat8/apache-tomcat-8.5.29/catalina.jar"],
(省略)
]
}"hostname"
ホスト名を記載します。
SIDfm VMでは、ホスト名をシステム内で一意な値として扱うため、オフラインデータの取込では、同一のホスト名のホストが登録済であればデータの更新、登録が無ければ新規ホスト登録の上データの登録を行う実装になっております。"os"
OS情報を記載します。
/etc/os-releaseから取得した情報を下記のように設定します。"id": /etc/os-releaseのIDRockyLinux, Oracle Linuxの場合は、idにrhelを設定してRed Hat Enterprise Linuxとして認識されるようにします。
"os": /etc/os-releaseのNAME
"version": /etc/os-releaseのVERSION_ID
"packages"
パッケージ情報を文字列の配列として渡します。
パッケージ情報は以下のようなコマンドで取得したものを想定しています。rpm (RHEL 8以降, AlmaLinux 8以降)
rpm -qa --qf '%{name}-%{version}-%{release}.%{arch}.rpm %{modularitylabel}\n'
rpm (RHEL5,6,7, CentOS5,6,7, Amazon Linux)
rpm -qa --qf '%{name}-%{version}-%{release}.%{arch}.rpm\n'
deb (Debian, Ubuntu)
dpkg-query --show --showformat='${Package}_${Version}\n'"application"
アプリケーション情報を配列の配列として渡します。
アプリケーション情報の配列は下記のフォーマットになっています。配列の1番目
アプリケーション名称配列の2番目
バージョン番号
配列の3番目
確認されたファイルシステム上のパス
※SIDfm VMエージェントでは、ファイルシステム上のファイルを探索して見つけた結果をVMサーバに送るという機能を有しており、検出したパスをデータとして含めております。なお、アプリケーションにつきましては、下記ものに対応しております。
- Apache Struts
- Apache Tomcat
- PHP
- Ruby
- Oracle Java SE JDK
- Oracle Java SE JRE
Windows用のオフラインデータのフォーマット例{
"hostname": "server1",
"os": "10.0.18363",
"osname": "Microsoft Windows 10 Pro|C:\\WINDOWS|\\Device\\Harddisk0\\Partition3",
"last_date": "2020-07-04T23:19:56.0000000",
"kb": [
{
"title":"Microsoft Office InfoPath 2007 (KB2687440) のセキュリティ更新プログラム",
"id":"2687440",
"severity":"Important"
}
]
}"hostname"
ホスト名を記載します。
SIDfm VMでは、ホスト名をシステム内で一意な値として扱うため、オフラインデータの取込では、同一のホスト名のホストが登録済であればデータの更新、登録が無ければ新規ホスト登録の上データの登録を行う実装になっております。"os"
Windowsのビルドバージョンを記載します。
WMI(Windows Management Instrumentation)のWin32_OperatingSystemのVersionをそのまま記載します。"osname"
WindowsのOS名を記載します。
WMIのWin32_OperatingSystemのNameをそのまま記載します。SIDfm VMで表示されるOS名称として利用されます。"last_update"
WindowsUpdateで更新を行った最後の日時を記載します。
※現在データの取り込みで使用しておりません。"kb"
未適用のパッチ情報をハッシュの配列で記載します。
ハッシュの情報は下記の通りです。"id"
Microsoft Knowledge Base(KB)の番号
"title"
未適用パッチの名称
"severity"
Microsoftの危険度の評価
※記載可能な文字列は、こちらに記載されているRatingです。※Windows用のオフラインデータは、現在のところWindowsUpdateの未適用パッチの情報の登録・更新とWindowsホストのSIDfm VMへの登録の機能を提供しております。
アプリケーションを登録する機能はありません。