監査ログファイル
ここでは監査ログファイルの仕様について示します。
監査ログの記録先
ke2-docker パッケージで KE2.0 システムを構築する場合、監査ログファイルは Docker の kompira_log
ボリュームに記録されます。
または、デプロイ時に環境変数 KOMPIRA_LOG_DIR
が指定されていれば、ホスト上のそのディレクトリに記録されます。
作成されるログファイル名は以下のようになります。
audit-${CONTAINERNAME}.log
${CONTAINERNAME}
の部分はログを記録するコンテナの名称に展開されます。
kompira_log ボリュームに記録された監査ログファイルの確認方法については、ボリュームログ管理 を参照してください。
監査ログのファイル形式
監査ログは UTF-8 でエンコードされたテキストファイルで、1エントリを1行の JSON 形式で出力します。
監査ログの記録項目
項目 | 名称 | 形式 | 説明 |
---|---|---|---|
操作レベル | level | 整数 | 操作レベル値 |
操作開始日時 | started | 日時 | 操作を開始した日時 |
操作終了日時 | finished | 日時 | 操作が終了した日時 |
操作元情報 | exec | 辞書 | 操作元 Linux プロセスの情報(辞書形式) |
操作ユーザ | user | 文字列 | 操作した Kompira ユーザ名 |
操作方式 | interface | 文字列 | ブラウザによる操作か管理コマンドによる操作かなどの区別 |
操作分類 | class | 文字列 | セッション操作やオブジェクト操作などの区分 |
操作対象 | target_path | 文字列 | オブジェクトパス(セッション操作以外の時) |
target_type | 文字列 | 型オブジェクト(オブジェクト操作時) | |
操作種別 | type | 文字列 | 「参照」や「削除」など操作の種類を示す区分 |
操作認否 | permit | 文字列 | 操作が「許可」または「拒否」されたかを示す区分 |
操作成否 | result | 文字列 | 操作が「成功」または「失敗」したかの記録 |
結果理由 | reason | 文字列 | 失敗の場合の原因(原因が分かる場合) |
詳細情報 | detail | 辞書 | 操作に関する詳細情報(操作ごとに異なる辞書形式) |
監査ログのサンプル
以下にブラウザで操作したときの監査ログファイル /var/log/kompira/audit-apache.log
のサンプルを示します。ログは1エントリ1行で出力されていますが、ここでは分かりやすく整形して表示しています。
{
"level": 3,
"started": "2021-10-05T15:51:31.403016+09:00",
"finished": "2021-10-05T15:51:31.452097+09:00",
"exec": {
"pid": 1286192,
"name": "/usr/sbin/httpd",
"user": "apache",
"remote": "10.10.0.110"
},
"user": "root",
"interface": "web",
"class": "session",
"target_path": null,
"target_type": null,
"type": "login",
"permit": "allowed",
"result": "succeeded",
"reason": null,
"detail": {
"next_page": "/"
}
}
{
"level": 2,
"started": "2021-10-05T15:51:43.447941+09:00",
"finished": "2021-10-05T15:51:43.486984+09:00",
"exec": {
"pid": 1285426,
"name": "/usr/sbin/httpd",
"user": "apache",
"remote": "10.10.0.110"
},
"user": "root",
"interface": "web",
"class": "object",
"target_path": "/config/license",
"target_type": "/system/types/License",
"type": "read",
"permit": "allowed",
"result": "succeeded",
"reason": null,
"detail": {
"http_method": "GET",
"http_status": 200
}
}