auditreduce コマンドを実行すると、1 つまたは複数の入力監査ファイルから監査レコードがマージされます。通常は、分散システム全体のすべての監査トレールファイルがマウントされているマシンから、このコマンドを入力することになります。
オプションを指定せずに auditreduce を実行すると、監査される全体 (監査ディレクトリ /etc/security/audit 内のすべてのサブディレクトリ内のすべての監査ファイル) がマージされ、そのマージされたファイルが標準出力に送られます。
praudit コマンドを実行すると、各レコードはユーザが読める形式に変換されます。詳細は 「praudit の使用方法」を参照してください。
auditreduce コマンドのオプションには、次のような機能があります。
特定の監査フラグでのみ生成された監査レコードが入っている出力が表示される。
特定の 1 人のユーザによって生成された監査レコードが表示される。
特定の日付に生成された監査レコードが収集される。
Solaris BSM を実行する複数のマシンが分散システムの一部として管理される場合に は、各マシンが監査対象のイベントを実行し、監査レコードをマシン固有の専用監査ファイルに書き込みます。このため、ソフトウェアが単純化され、マシンの障害が発生した場合の信頼性が高まります。
auditreduce コマンドによって、監査トレール全体の管理作業を効率化できます。auditreduce (または、より高いインタフェースを提供するために独自に作成したシェルスクリプト) を使用すると、レコードの生成方法や格納場所に関係なく、システム内のすべてのファイルの論理上の組み合わせを 1 つの監査トレールとして読むことができます。
auditreduce プログラムは、監査デーモンによって生成された監査トレールを処理します。1 つまたは複数の監査ファイルからレコードが選択され、マージされて、1 つの時系列順のファイルが生成されます。auditreduce のマージ機能と選択機能は論理的に他に依存しません。auditreduce はレコードが読み取られると、入力ファイルがマージされてディスクに書き込まれる前に、そこからメッセージを選択します。auditreduce(1M)のマニュアルページを参照してください。
この節では、データを分析して管理するための auditreduce の一般的な使用方法について説明します。
監査トレール全体を一度に表示するには、auditreduce の出力を praudit にパイプします。
# auditreduce | praudit |
# auditreduce | praudit | lp |
次の例で、システム管理者は lo メッセージクラスを要求して、ユーザ fred が 1990 年 4 月 13 日にログインしてログアウトした時刻を調べます。短い日付の書式は yymmdd です (長い形式については、auditreduce(1M) のマニュアルページを参照)。
# auditreduce -d 900413 -u fred -c lo | praudit |
次の例では、特定の日付に関するログイン/ログアウトメッセージが 1 つのファイルに集計されます。ターゲットファイルは、通常の監査ルート以外のディレクトリに書き込まれます。
# auditreduce -c lo -d 870413 -O /usr/audit_summary/logins |
-O オプションを使用すると、開始時刻と終了時刻を示す 14 文字のタイムスタンプと接尾辞 logins が付いた監査ファイルが作成されます。
/usr/audit_summary/19870413000000.19870413235959.logins |
監査ファイルが開いているうちに監査デーモンが停止したり、サーバがアクセスできなくなってマシンが新しいサーバに強制的に切り替えたりすると、監査ファイルが監査レコードに使用されなくなっても、そのファイルが残り、ファイル名に含まれる終了時刻に文字列 not_terminated が付いたままになることがあります。この種のファイルが検出された場合は、ファイルが使用されていないことを手作業で検査し、正しいオプションを使用してファイル名を指定して整理するとよいでしょう。
# auditreduce -O machine 19870413120429.not_terminated.machine |
このコマンドを実行すると、正しい名前 (両方のタイムスタンプ) と正しい接尾辞 (明示的に指定された machine) が付いた新しい監査ファイルが作成され、すべてのメッセージがそのファイルにコピーされます。
auditreduce には他にも多数のオプションがあり、マニュアルページに掲載されています。大文字のオプションを使用すると files に対する処理またはパラメータが選択され、小文字のオプションを使用すると records に対するパラメータが選択されるので注意してください。この項では、2 つの便利なオプションの使用方法について説明します。
date-time オプション -b と -a を使用すると、特定の日時よりも前または後のレコードを指定できます。1 日は yyyymmdd00:00:00 から始まって yyyymmdd23:59:59 に終わります。日付に関するパラメータは年、月、日、時、分、秒の 6 つです。
-a を指定しなければ、auditreduce はデフォルトの 1970 年 1 月 1 日 00:00:00 となります。 -b を指定しなければ、 auditreduce はデフォルトの現在の日時 (GMT) となります。「ログイン/ログアウトメッセージを 1 つのファイルにコピーする方法」を参照してください。
次のように日付を指定して auditreduce -a コマンドを実行すると、1991 年 7 月 15 日の午後 12 時以降に作成されたすべての監査レコードが praudit に出力されます。
# auditreduce -a 91071500:00:00 | praudit |
上記と同じ日付を指定して auditreduce -b コマンドを実行すると、1991 年 7 月 15 日の午後 12 時以前に作成されたすべての監査レコードが praudit に出力されます。
# auditreduce -b 91071500:00:00 | praudit |
auditreduce のメッセージタイプ選択 (-m オプション) では、数値メッセージ識別子または AUE_xxxxx コードを指定できます。間違った書式を指定すると auditreduce に拒否されますが、正しい書式は表示されません。