LoginSignup
1
0

More than 3 years have passed since last update.

AIXによるコマンド実行ログ取得 -マイナーバージョン-

Last updated at Posted at 2020-07-31

AIXのコマンドログ取得

AIX とは

AIXとは、IBMが提供している UNIX オペレーティングシステムです。

コマンド実行履歴の取得

先程も言ったように、AIXは、UNIXですので、bsh, ksh などのシェルからコマンド実行した場合は、.sh_history に記録されます。個人で過去の実行履歴を再利用する分には、有効ですが、監査ログとして使うには、改ざん防止が出来ないので、そのままでは利用できません。

監査機能を使った実行履歴の取得方法

監査目的でコマンド実行履歴を取得するには、AIX の監査機能を使うことが出来ます。
一般的な使い方は、以下のマニュアルを参照ください。

監査のセットアップ

簡単な説明をすると、「PROC_Execute」というイベントを監査対象のユーザーに割り当てることで、ユーザーが実行したコマンドを監査ログとして保管してくれます。

PROC_Execute イベントの注意点

「PROC_Execute」の名前から想像できる様に、EXEC システムコールが実行されたときに監査ログに記録します。
このため、ユーザーがシェルから実行したコマンドだけでは無く、シェルスクリプトの中で呼び出すコマンドまで記録されます。root ユーザーの PROC_Execute を監査対象にしてしまうと、デーモン(サービス)などもログの取得対象になるため、レコード数が増えてしまいます。
このため、指定するユーザーを制限したり、出力内容をフィルターする必要が出てきます。
また、bsh や ksh の内部コマンドは、EXEC されないため、監査ログには保管されません。

コマンドの実行履歴の取得 -マイナーバージョン-

以下のマニュアルを見ると、 /etc/security/audit/objects ファイル設定では、ファイルの read/write だけでなく、 execute も設定できると言った記載があります。

/etc/security/audit/objects

以下、抜粋
「An audit-event name can be up to 15 bytes long; longer names are rejected. Valid access modes are read (r), write (w), and execute (x) modes. For directories, search mode is substituted for execute mode. 」

しかし、前述のマニュアルの記載例には、execute mode での設定は見当たりません。
そこで、execute を設定する内容を以下に記載します。

Read, Write ときと同じように、/etc/security/audit/objects ファイルに対象となるコマンドファイルを記載します。

/etc/security/audit/objects

/usr/bin/ps:
        x = "File_Execute"

このとき、mode のところを、r, w の代わりに、x を指定します。
また"File_Write" や、"File_Read" の代わりに "File_Execute" を新規に作成します。
"File_Execute"は、今回作成したものなので、/etc/security/audit/events ファイルにエントリーを追加します。

/etc/security/audit/events

*       File Execute
        File_Execute = printf "%s"

objectsのエントリーは記録対象とするコマンドの数だけ登録する必要があります。
eventsファイルのエントリーは、一度だけです。

注意事項

この方法では、監査対象とするコマンド全てを登録する必要があります。
シェルスクリプトで、リストを生成することも出来ますが、重要度の高いコマンドに絞った方が良いでしょう。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0