パスワードを勝手に変更した犯人を特定できないでしょうか
Question
業務処理を実行するためのユーザー・プロファイルを1つ作成していて、担当者がそのユーザーでODBC/JDBC接続して処理を実行するという運用をしています。
ところが、そのユーザーのパスワードが勝手に変更されていて処理が実行できず業務に影響が出てしまう事態になりました。
誰がパスワードを変更したのか調査したいのですが、監査ジャーナルの情報から調査できないでしょうか。
Answer
ユーザー・プロファイルのパスワード変更は、DSPLOG (ヒストリー・ログ)には記録されませんが、予め以下のように監査ジャーナルを設定していれば変更したログが記録されます。
- システム値 QAUDCTL にて *AUDLVL が登録されている
確認コマンド:DSPSYSVAL SYSVAL(QAUDCTL)
- システム値 QAUDLVL にて *SECCFG (或いは*SECURITY )が登録されている
確認コマンド:DSPSYSVAL SYSVAL(QAUDLVL)
監査ジャーナルに記録されているログは DSPJRN コマンドで抽出できます。
パスワード変更はジャーナルコード T(監査証跡項目)、ジャーナル項目タイプ CP(ユーザー・プロファイル変更) で記録されます。
以下のように実行すると5250セッション上でログを確認できます。
コマンド例:
DSPJRN JRN(QAUDJRN) JRNCDE((T)) ENTTYP(CP)
OPT5(項目全体の表示)→F10キー(項目詳細のみの表示)を押すと、パスワード変更を実行したジョブやリモートIPアドレス(パスワード変更した接続元のIPアドレス)などを確認できます。
OPT5(項目全体の表示)→F6キーを押すと、パスワード変更に関するログと分かります。
下記コマンド例の場合には、物理ファイルとしてログを出力します。
コマンド例:
DSPJRN JRN(QAUDJRN) JRNCDE((T)) ENTTYP(CP)
OUTPUT(*OUTFILE) OUTFILFMT(*TYPE5)
OUTFILE(出力先LIB名/出力先PF名)
物理ファイルに出力した監査ジャーナルのログを、エクセルファイルとしてデータ転送して確認することもできます。
あくまで一例ですが、以下の項目を確認してみると調査に役立つかもしれません。
- JOJOB、JOUSER、JONBR
:パスワード変更したジョブの情報(ジョブ名、ユーザー名、ジョブ番号)です。 - JOPGM
:QCMD となっていると5250セッションからコマンドを実行して変更した可能性があります。
QZSOSIGN は、ODBC/JDBC 接続といった外部からの接続で使用されるジョブです。ACSのパスワード変更のポップアップや、Navigator for i などで変更された可能性が考えられます。 - JORADR
:接続元のIPアドレスです。 - JOESD
:変更内容が記録されます。
「ATSUKI QSYS *USRPRF CHGY *PASSED
」のように記録されていると、ユーザー・プロファイル TSUKI のパスワードが変更されたという意味です。
あとは、接続元IPアドレスの端末を使用した方に、パスワードを変更した覚えがないか、変更するに至った状況などをヒアリングしてみてはいかがでしょうか。
もし本来は不必要なユーザーに特殊権限 *SECADM などの高い権限を付与したまま放置してこのようなことが発生したのであれば、監査的な観点で問題になります。今一度ユーザーに付与する適切な権限を見直す機会にしてみてください。
参照サイト:ジャーナル項目の固定長部分のレイアウト
https://www.ibm.com/docs/ja/i/7.4?topic=information-layouts-fixed-length-portion-journal-entries
by . 槻樹