AS400監査ログ確認|QAUDJRN・DSPJRNで更新履歴と原因を追う

AS400 / IBM i のセキュリティ確認では、ユーザー権限やシステム値だけでなく、監査ログをどう残し、どう確認するかが重要です。代表的な入口が監査ジャーナル QAUDJRN と DSPJRN です。ただし、本番環境で監査設定を急に変えると、ジャーナルレシーバーの増加や運用負荷につながることがあります。

この記事では、AS400の監査ログ、QAUDJRN、DSPJRNを見る前に確認することを、保守現場の目線で整理します。権限変更、不正アクセス調査、削除操作の追跡、ODBC/JDBC接続の監査を考える時の入口です。

監査ログで確認したいことを先に決める

監査ログは、何でも記録すればよいものではありません。ログの量が増えすぎると、保管、検索、バックアップ、復旧時の扱いが難しくなります。まず、何を追跡したいのかを決めます。

  • サインオン失敗や不審なログインを見たい
  • 権限変更やユーザープロファイル変更を追いたい
  • 重要ファイルの削除、変更、参照を確認したい
  • ODBC/JDBCや外部接続の利用状況を追いたい
  • 監査証跡として一定期間残したい

QAUDJRNとDSPJRNの役割

QAUDJRNは、QSYSライブラリに置かれるセキュリティ監査ジャーナルです。記録対象として設定された操作やセキュリティ関連イベントを調べるために使います。業務ファイルの各レコードの更新前・更新後イメージを保存するデータベースジャーナルとは区別してください。DSPJRNはジャーナルの内容を表示するコマンドです。監査ログを見る時は、ジャーナル、ジャーナルレシーバー、対象エントリー、期間、ユーザー、ジョブを分けて確認します。

IBM公式の監査ジャーナル解説で、記録されるのは監査対象として選択されたイベントであることを確認できます。ログに記録がないことだけで、操作がなかったとは断定できません。DSPJRNで出力する時は、対象範囲を絞ることが重要です。期間やエントリータイプを絞らずに大量出力すると、調査に時間がかかり、必要な情報を見落とします。監査ログを本格的に扱う前に、運用担当者、セキュリティ担当者、保守会社で確認目的をそろえます。

設定変更前に見るシステム値

監査に関係するシステム値や運用設定は、むやみに変更しない方が安全です。現在の設定、変更理由、影響範囲、戻し手順、ジャーナルレシーバーの保管方針を確認します。システム値の見方は DSPSYSVAL・WRKSYSVALの確認手順 を参照してください。

権限や機密保護の全体像は AS400機密保護・権限確認チェックリスト、ジャーナルとレシーバーの基本は ジャーナル・コミットメント制御の基本 も合わせて確認してください。

外部接続やAI活用と組み合わせる時

ODBC/JDBC、API連携、AIを使った調査を進める場合も、誰が、いつ、どのデータへアクセスしたかを追える状態にすることが大切です。接続ユーザーを共有しすぎると、後から原因を追いにくくなります。

外部接続の入口は AS400 ODBC/JDBC接続の確認ポイント、AIやCodexの安全利用は RPGソース・ログをAIへ渡す前の安全確認 を確認してください。

業務データの更新履歴は、対象ファイルのジャーナルを別途確認する

ここからはQAUDJRNの監査記録ではなく、業務ファイルのデータベースジャーナルの説明です。事故発生前から対象ファイルがジャーナル処理され、必要な期間のレシーバーが残り、更新前イメージが記録されていることを最初に確認します。ジャーナル処理されているだけで、必ず更新前イメージがあるわけではありません。記録設定やコミットメント制御の条件に依存し、後から設定を変えても過去の記録は作れません。DSPJRNの出力にはエントリーの制御項目とエントリー固有データ(JOESD)があります。データベースのレコードイメージはJOESD内にまとまるため、出力ファイルをDSPFFDで表示するだけでは業務キーがSQLの独立した列になるわけではありません。

まず障害発生時刻、対象ファイル・メンバー、ジョブ、ユーザー、エントリータイプで対象を絞ります。QRYやSQLで業務キーを条件にするには、JOESDを対象時点のレコード形式・型・長さで正しく解釈できることを検証します。抽出結果は戻し候補であり、そのまま本番へ戻すものではありません。更新前イメージの記録条件はIBM公式:更新前イメージを記録する理由も参照してください。件数、キー、後続バッチ、帳票、EDI、締め処理への影響を確認してから、戻しやリランを判断します。

確認観点 目的
制御情報 更新時刻、ジョブ、ユーザー、更新区分を絞る
実データ側のキー 対象レコードだけを抽出する
更新前・更新後イメージ 戻す値と戻してはいけない値を分ける
後続処理 リランや再送で二重更新しないか確認する
承認記録 本番データを戻す根拠を残す

DSPJRN出力ファイルを扱う時の注意

JOESDの解釈では、元ファイルの定義、可変長項目、パック数値、文字コード、エントリーの最小化設定などを確認します。見た目の文字列や固定位置の思い込みで元レコードへコピーしないでください。IBM公式:JOESDの読み取りの前提条件を確認し、検証環境で解釈と件数・キーの一致を確かめてから戻し候補として扱います。

確認 見ること 危ない状態
項目定義 出力ファイルと元ファイルのDSPFFD、JOESDの形式・長さ 実データの開始位置を思い込みで扱う
更新区分 更新前、更新後、追加、削除 更新後イメージを更新前として抽出する
キー項目 得意先、品番、伝票番号など 別レコードまで戻し候補に含める
時刻範囲 障害発生時刻、ジョブ、ユーザー 正常処理の更新まで混ざる

監査ログを確認した後に残す情報

QAUDJRNやDSPJRNで確認した結果は、単発の画面メモで終わらせず、対象期間、ユーザー、ジョブ、操作種別、関連する業務影響を分けて残します。

不審なログインや権限変更が疑われる場合は、ログイン失敗、ユーザープロファイル、外部接続、権限設定を合わせて確認すると、再発防止まで話を進めやすくなります。

参考:IBM公式ドキュメント(DSPJRN)

本記事で扱った DSPJRN の全パラメーターと表示項目の定義は、IBM公式ドキュメントで確認できます。指定できる値や既定値はOSリリースによって異なるため、本番環境では自社のリリースに合わせて確認してください。