この章では、ワークステーションまたは分散システム上で生成される監査ファイルを管理するツールについて説明します。監査トレールの管理には、ファイルタスクと変換タスクの 2 種類があります。ファイルタスクは、ディスク領域の問題を扱い、複数の監査ファイルを 1 つにまとめたり、ファイルの名前を変更したりします。一方、変換タスクは、監査結果の分析を扱い、監査イベント、ユーザー、ホストコンピュータ、時間に基づいて監査レコードを選択します。また、シェルスクリプトを使った精密な事後処理によって、監査レポートを作成することができます。
この章では、次の手順について説明します。
分散システムの全監査ファイルをまとめて監査トレールといいます。監査トレールは、複数の監査ディレクトリにある監査ファイルを指す場合と、1 つの監査ディレクトリにある複数の監査トレールを指す場合があります。たいていの場合、監査ディレクトリは分割された監査ファイルシステムのパーティションです。監査ディレクトリを監査ファイルシステム以外のファイルシステムに含めることもできますが、あまりお勧めはできません。
監査ファイルは、デフォルトでは /etc/security/audit/*/files と定義された監査ルートディレクトリに保存されます。各ワークステーションに監査ルートディレクトリが作成され、命名規則に従ってマウント先を指定し、監査管理サーバーにディレクトリがマウントされると、管理ツールの auditreduce と praudit を使って監査トレール全体を調べることができます。監査トレールを設定する方法については、「監査の設定手順 - 基本」を参照してください。
監査専用でないファイルシステムに監査ディレクトリを配置することもできますが、できるだけ避けてください。何らかの理由で監査専用でないパーティションに監査ファイルを配置しなくてはならない場合、ローカル監査ディレクトリに配置します。このディレクトリは、ほかに適したディレクトリが利用できない場合だけ監査ファイルが書き込まれるディレクトリとなります。このほかに、監査ディレクトリを専用の監査ファイルシステム以外に配置することができるのは、監査が必須ではなく、監査トレールを保存することよりもディスク領域を十分に活用することが重視されている場合です。セキュリティを重要視する生産環境では、別のファイルシステムに監査ディレクトリを配置することはできません。
監査トレールは監査デーモン auditd(1M) によって作成されます。監査デーモンは、ワークステーションの起動時に各ワークステーションで呼び出されます。auditd は、監査トレールデータを収集し、監査レコードを監査ファイルに書き込みます。この監査ファイルは監査ログファイルとも呼ばれます。ファイル形式の説明については、audit.log(4) のマニュアルページを参照してください。
監査デーモンはスーパーユーザーのプロセスとして動作し、監査デーモンが作成するファイルはすべてスーパーユーザーの所有になります。auditd は、監査するクラスがない場合でも、常に動作して監査レコードを置く場所を探します。カーネルの監査バッファがいっぱいになってワークステーションの作業が中断しても auditd の動作は継続します。監査動作を続行できるのは、auditd が監査対象に含まれないからです。
監査ファイルは、 監査トレール不要の監査レコードで構成されます。つまり、別のファイルやレコードを参照しなくても、監査対象としてセキュリティ管理者が事前に選択したユーザーレベルおよびカーネルレベルのイベントを記録することができるわけです。監査レコードは一連の監査トークンで構成され、監査トークンには監査するイベントの属性が記述されています。システム内の監査イベントは、それぞれ特定の種類の監査レコードを生成します。そして、この監査レコードそれぞれが、イベントを説明する特定のトークンを備えています。監査レコードにはイベントが属する監査イベントクラスは記述されません。イベントとクラスの対応関係は、監査レコードではなく、 /etc/security/audit_event ファイルで決まります。
各監査トークンは 1 バイトで表されるトークンタイプで始まり、これに 1 つまたは複数のデータ要素が続きます。データ要素の順番はトークンタイプによって異なります。監査レコードの違いはイベントタイプとレコード内のトークンセットの違いで判別されます。text トークンのようにデータ要素を 1 つしか持たないトークンがある一方、process トークンのように複数のデータ要素 (監査ユーザー ID、実ユーザー ID、実効ユーザー ID を含む) を持つトークンもあります。
監査レコードはバイナリ形式で保存され、処理されますが、バイトの順序とデータのサイズはあらかじめ決められており、ワークステーション間で簡単に互換性が得られるようになっています。
「監査トークンの構造」では、各トークンのデータ要素の詳しい説明と、出力例を示します。「監査レコード」では、Trusted Solaris 7 の監査で生成される全監査レコードを一覧します。レコードはカーネルイベント別、ユーザーイベント別にアルファベット順で記載されています。付録 A 「イベントとクラスの対応関係」では、監査レコードの相互参照表を提示します。
各レコードは、header (ヘッダー) トークンで始まり、trailer (トレーラ) トークン (省略可能) で終わります。header トークンと trailer トークンの間にある 1 つ以上のトークンはイベントを説明するものです。ユーザーレベルのイベントやカーネルイベントの場合、トークンはオブジェクトの属性を説明します。オブジェクトの属性には、イベントを実行したプロセス、イベントが実行されたオブジェクト、所有者、モードなどがあります。
たとえば、AUE_LSTAT カーネルイベントには次のトークンがあります。なお、AUE_LSTAT の監査レコードの書式は 表 B-70 にあります。
header (ヘッダー) トークン
path (パス) トークン
attr (属性) トークン (省略可能)
subject (サブジェクト) トークン
return (リターン) トークン
auditconfig コマンドで trail (トレール) ポリシーが有効になっている場合には、監査レコードの中で return トークンの後に trailer トークンが続きます。
ここでは、監査レコードの例をテキスト形式で紹介します。監査レコードはバイナリ形式で保存されていますが、praudit コマンドでバイナリのレコードを実行するとテキスト形式のレコードが作成されます。テキスト形式のレコードは、標準出力やプリンタ、レポートを作成するスクリプトプログラムへ送ることができます。praudit の詳細については、praudit(1M) のマニュアルページを参照してください。スクリプトプログラムの例については、「praudit スクリプトを使って選択を実行する方法」を参照してください。
次の header トークンの例は、praudit がデフォルトで作成する書式です。raw データ (-r) と短縮 (-s) のオプションの例も示します。
監査レコードは、header トークンで始まります。header トークンは、監査レコードすべてに共通する情報を示します。praudit がデフォルトで表示する header トークンは、次の ioctl() の例のようになります。
header,240,1,ioctl(2),,Tue Sept 1 16:11:44 1992, + 270000 msec
次のフィールドがあります。
トークン ID。ここでは header
バイトで表したレコード長。header トークンと trailer トークンを含む。ここでは 240
監査レコード構造のバージョン番号。ここではバージョン 1
監査イベントの種類を示すイベント ID。ここでは ioctl(2)
イベントの種類に関する情報を記述するイベント ID 修飾子。ここでは記述フィールドは空欄
レコードが作成された日付と時間。ここでは次のとおり Tue Sept 1 16:11:44 1992, + 270000 msec
praudit -s を使うと、イベントの記述 (上記の praudit のデフォルトの例では ioctl(2)) をイベント名 (AUE_IOCTL) に置き換えることができます。
header,240,1,AUE_IOCTL,,Tue Sept 1 16:11:44 1992, + 270000 msec
praudit -r を使うと、すべてのフィールドが数字で表示されます (10 進数、8 進数、16 進数の場合がある)。ここでは 20 はヘッダートークン ID、158 はこのイベントのイベント番号を表しています。
20,240,1,158,,699754304, + 270000 msec
どの監査レコードも必ず、header トークンとそれ以外のトークン 1 つを備えています。たとえば、監査イベント AUE_login の監査レコードには 5 つのトークンがあります。AUE_login の監査レコード書式の詳細については、表 B-247 を参照してください。
praudit がデフォルトで表示する AUE_login の監査レコードは次のようになります。1 行につきトークンが 1 つ記述されます。
header,90,3,login - local,,Tue Jul 8 15:12:01 1997, +520002000 msec, text,emily text,successful login subject,emily,emily,staff,emily,staff,14094,14094,0 0 willet, return,success,0 sequence,17 trailer,90
次のトークンがあります。
header トークン
text トークン (ログイン名)
text トークン (成功または失敗)
subject トークン
return トークン
この監査ファイルがレコードを集め終わると、監査ポリシートークンのシーケンス (sequence) とトレーラ (trailer) が有効になり、すべての監査レコードに次のトークンが含まれるようになります。
sequence (シーケンス) トークン
trailer (トレーラ) トークン
各監査レコードには、イベントを発生させたユーザーを識別する監査 ID があります。また、監査レコードは他のファイルを参照する必要がありません。このため、監査レコードを個別に閲覧し、監査トレールをさかのぼらないで有意味な情報を得ることができます。
Trusted Solaris 7 の監査レコードには、あるイベントに関連した情報がすべて含まれているので、発生した事象の情報を得るために別の監査レコードを参照する必要はありません。たとえば、ファイルイベントを記述した監査レコードには、ルートディレクトリを起点とするファイルのフルパス名、ファイルを開いたり閉じたりした日付と時刻が記載されています。
システム管理ファイルは、監査ファイルのアーカイブで保存してください。監査トレールの情報は、ユーザーやその UID の変更など、サイトの担当者や設備の変更によって変化し、レコードを解釈する能力に影響を及ぼします。
praudit -l を使うと、監査レコードを 1 行で表示できます。
header,90,3,login - local,,Tue Jul 8 15:12:01 1997, +520002000 msec,text,emily,text,successful login,subject,emily,emily, staff,emily,staff,14094,14094,0 0 willet,return,success,0, sequence,17,trailer,90
praudit -r を使うと、監査レコードは次のように表示されます。
20,90,3,6152,0x0000,872028721,520002000 40,emily 40,successful login 36,6001,6001,10,6001,10,14094,14094,0 0 129.150.110.2 39,0,0 47,17 19,90
各監査ファイルは、参照レコード不要のレコードの集まりです。そのため、レコードが生成された時間とワークステーションを識別するには、監査ファイル名を使います。監査ファイルの内容はバイナリで、機密ラベル admin_high
で保護されており、監査確認プロファイルを持つ管理役割を付与されている場合に限りプロファイルシェルからアクセスできます。
start-time.finish-time.workstation
ここで「開始時刻」(start-time) は、その監査ファイルの最初の監査レコードの時刻、「終了時刻」(finish-time) は最後のレコードの時刻、workstation はそのファイルが生成されたワークステーションの名前です。名前の例は、 「監査の終了した監査ファイル名の例」にあります。
監査ログファイルがまだアクティブである間、監査ファイル名は次の書式をとります。
start-time.not_terminated.workstation
auditreduce コマンドは、ファイル名のタイムスタンプを使って、 指定した時間帯のレコードを持つファイルを探します。たとえば、24 時間以内に生成されたレコードを探すために 1 ヶ月分以上の監査ファイル全部を検索するのは無意味です。こうした場合に、auditreduce のような機能が重要になってきます。
「開始時刻」(start-time) と「終了時刻」(finish-time) は、グリニッジ平均時で 秒単位まで表示されます。書式は、最初の 4 桁で年を表し、これに続く 2 桁ずつで月、日、時間、分、秒を表します。
YYYYMMDDHHMMSS
グリニッジ平均時で時刻表示することにより、夏時間の前後でも正確な順序でファイルを整列させることができます。グリニッジ平均時で表された時刻を現在のタイムゾーンの時刻に変換して判断してください。特に、auditreduce 以外の標準的なファイルコマンドでファイルを操作するときには注意が必要です。
YYYYMMDDHHMMSS.not_terminated.hostname
次に例を示します。
19900327225243.not_terminated.patchwork
監査ログファイルの名前には開始時刻が付いています。たとえば、上の例では、グリニッジ平均時で 1997 年 3 月 27 日の午後 10 時 52 分 43 秒に監査が開始されたことになります。「not_terminated」は、このファイルがまだアクティブであるか、auditd が予期しない割り込みを受けていることを表しています。末尾の「patchwork」は、監査データが収集されているホストの名前です。
YYYYMMDDHHMMSS.YYYYMMDDHHMMSS.hostname
次に例を示します。
19970320005243.19970327225351.patchwork
上の例では、グリニッジ平均時で 1997 年 3 月 20 日の午前 0 時 52 分 43 秒に監査が開始され、グリニッジ平均時で 3 月 27 日の午後 10 時 53 分 51 秒に完了しています。「patchwork」 は、監査データが収集されているワークステーションのホスト名です。
監査結果を評価する担当者は、praudit(1M) と auditreduce(1M) の 2 つのコマンドで、Trusted Solaris 監査レコードを処理できます。praudit コマンドを使うと、レコードはユーザーが読める状態に変換され、auditreduce コマンドを使うと、特定の監査レコードを選択したり、複数のレコードを 1 つの監査トレールに併合することができます。
auditreduce コマンドが検索できるレコードは、セキュリティ管理者が事前選択したレコードだけです。監査トレールに記録されていないイベントは事後選択ツールでは使用できません。
auditreduce コマンドは、1 つまたは複数の入力監査ファイルから監査レコードを併合して、日付順の出力ファイルを 1 つ作成します。分散システムでは、入力監査ファイルは複数のワークステーションから取り出されます。したがって、監査管理サーバーから auditreduce コマンドを実行すると、分散システムは 1 台のワークステーションであるかのように扱われ、監査管理が簡素化されます。バックアップ監査パーティションと組み合わせると、ワークステーションに故障が発生しても、分散システムはほとんど影響を受けません。
auditreduce コマンドには、調査するレコードのセットを選択するためのオプションがあります。たとえば、24 時間以内のレコードを選択して日報を生成したり、特定のユーザーが生成した全レコードを選択してそのユーザーの行動を調査したり、特定の種類のイベントが生成した全レコードを選択してその種類のイベントの発生頻度を調べることができます。
auditreduce(1M) コマンドにオプションを付けると、ファイルの特性やレコードの特性を基準にして監査レコードを選択することができます。各特性を次の表に示します。
表 3-1 auditreduce コマンドのオプション
特性 |
オプション |
---|---|
時間、日付 (開始、終了) |
-d, -a, -f |
ホスト (ワークステーション) ID |
-M, -h, -S |
監査クラス |
-c |
監査イベント |
-m |
監査セッション ID |
|
監査ユーザー ID - AUID |
-u |
実効ユーザー ID、実ユーザー ID - EUID、RUID |
-e, -r |
実効グループ ID、実グループ ID - EGID、RGID |
-f, -g |
プロセス ID - PID |
-j |
機密ラベル |
-s |
情報ラベル |
-i |
ファイル名 |
filename |
大文字のオプションはファイルの操作やパラメータを選択し、小文字のオプションはレコードのパラメータを選択します。auditreduce コマンドで処理した監査ファイルは、praudit にパイプするとユーザーが読める形式になりますが、そうでない場合にはバイナリ形式のままです。
auditreduce の併合機能と選択機能は論理上独立しています。auditreduce コマンドは、レコードが読み込まれた時点で入力ファイルのメッセージを選択し、それからファイルを併合してディスクに書き込みます。
この節では、auditreduce コマンドと praudit コマンドを使ってデータの選択と併合を行う一般的な方法について少し説明します。この他の使い方については、auditreduce(1M) のマニュアルページを参照してください。
auditreduce コマンドと praudit コマンドを実行する上での前提条件は次のとおりです。
監査確認プロファイルを含む管理役割が付与されていること。管理役割には、デフォルトでこのプロファイルが含まれます。
管理役割の admin_high
ワークスペースを使用していること
admin_high
ワークスペースを作成する方法については、第 2 章「監査の設定」の 「Admin_High ワークスペースを作成する方法」を参照してください。
端末エミュレータウィンドウを起動していること
分散システムの監査トレールをアクセスする方法は次のとおりです。
監査管理サーバーで auditreduce コマンドを実行する
praudit コマンドを使うと、監査レコードを対話形式で表示したり、ごく基本的なレポートを作成することができます。ファイルが複数ある場合、入力は auditreduce からパイプされます。
監査ファイルを praudit コマンドのファイル引数として指定します。
$ praudit 19970401000000.19970601000000.grebe |
標準出力に監査トークンが 1 行ずつ表示されます。
監査ファイルを praudit -l コマンドのファイル引数として指定します。
$ praudit -l 19970401000000.19970601000000.grebe |
標準出力に監査レコードが 1 行に 1 件ずつ表示されます。
tail(1) コマンドを使って、現在アクティブな監査ファイルに書き込まれている内容を確認します。
$ praudit | tail -40 19970401000000.not_terminated.grebe |
記録された最新のトークンが 40 件まで標準出力に表示されます。
複数の監査ファイルを日付順で端末ウィンドウに表示するためには、auditreduce の出力を praudit にパイプします。
$ auditreduce 19970413000000.19970413235959.willet ¥ 19970413000000.19970413235959.grebe | praudit |
監査トレール全体を端末ウィンドウに表示するためには、auditreduce の出力を praudit にパイプします。
$ auditreduce | praudit |
auditreduce コマンドにオプションをつけない場合、開いた状態の監査ファイルには影響はありません。
auditreduce を praudit にパイプし、さらに lp にパイプすると、監査の終了したすべての監査ファイルの出力がプリンタへ送られます。
$ auditreduce | praudit | lp |
Trusted Solaris 環境では、admin_high
の印刷ジョブを受け入れるようにプリンタを設定しておきます。
auditreduce コマンドに -d オプションを付けると、指定した 24 時間内に集められた監査情報を確認できます。
次の例では、セキュリティ管理者は lo メッセージクラスを指定して、doris という名前のユーザーが 1997 年 4 月 13 日 のログインした時刻とログアウトした時刻を確認しています。日付の短い書式は yymmdd です。長い書式は、auditreduce(1M) のマニュアルページで説明します。
$ auditreduce -d 970413 -u doris -c lo | praudit |
auditreduce コマンドを praudit から lp へパイプすると、選択した出力がプリンタへ送られます。
Trusted Solaris 環境では、admin_high
の印刷ジョブを受け入れるようにプリンタを設定しておきます。
$ auditreduce -d 970413 -u doris -c lo | praudit | lp |
この例では、特定の日のログインおよびログアウトメッセージが 1 つのファイルにまとめられます。ファイルは、通常の監査ルートディレクトリ以外のディレクトリに書き込まれます。
$ auditreduce -c lo -d 970413 ¥ -O /usr/audit_summary/logins |
-O オプションによって、/usr/audit_summary ディレクトリに監査ファイルが作成されます。ファイル名は開始時刻と終了時刻がそれぞれ 14 文字で表示され、接尾辞 logins が付きます。
/usr/audit_summary/19970413000000.19970413235959.logins
日付と時間を指定する -b オプションや -a オプションを使うと、特定の日付や時刻の前後のレコードを指定できます。指定日は yyyymmdd00:00:00 から始まり yyyymmdd23:59:59 で終わります。指定日には、年、月、日、時間、分、秒の 6 つのパラメータがあります。年のパラメーターの最初の 2 桁 (19) は推定できるので、指定する必要はありません。
auditreduce -a コマンドに次の画面例のように日付を付けると、1997 年 7 月 15 日の午前 0 時以降に作成された全監査レコードが praudit によって標準出力に送られます。
$ auditreduce -a 97071500:00:00 | praudit |
-a を指定しない場合、auditreduce はデフォルトの 1970 年 1 月 1 日の 00:00:00 となります。
auditreduce -b コマンドに上の例と同じ日付を付けると、1997 年 7 月 15 日の午前 0 時以前に作成された全監査レコードが praudit によって標準出力に送られます。
$ auditreduce -b 97071500:00:00 | praudit |
-b を指定しない場合、auditreduce はデフォルトの現在日時 (グリニッジ平均時) となります。-d オプションでは、「ログインおよびログアウトメッセージを 1 つのファイルにコピーする方法」に示したように、特定の 24 時間を選択できます。
auditreduce (-m オプション) に続けてメッセージの種類を指定し、特定の監査イベントを検索します。
-m オプションは、数値のメッセージ識別子、AUE_xxxxx などのイベント名のどちらでも受け付けます。次の画面例では、監査トレール内のカーネルレベルのログインイベントをすべて検索し、標準出力に表示します。
$ auditreduce -m AUE_LOGIN | praudit |
auditreduce コマンドを使用すると、この種の組み合わせと削除を自動で実行できますが (auditreduce(1M) のマニュアルページの -C オプションと -D オプションを参照)、find コマンドを使うなどしてファイルを手動で選択し、auditreduce コマンドは指定されたファイルのセットを組み合せるために利用するほうが簡単です。
auditreduce コマンドの引数として複数の監査ファイルを入力します。
次の例では、午前 0 時直前を起点とする繰り返しジョブによって 2 日前の監査ファイルが合成されます。ファイルの最後の時刻はジョブの終了時刻であり、ここではグリニッジ平均時の午前 0 時直前です。
$ auditreduce 19970413000000.19970413235959.grebe ¥ 19970413000000.19970413235959.willet ¥ 19970413000000.19970413235959.sora $ ls *audubon 19970413000000.19970414235959.audubon |
入力ファイルを削除し、出力ファイルを管理サーバーの監査ルートディレクトリへ移動します。
この例では auditreduce(1M) コマンドは監査管理サーバー audubon で実行され、その監査ルートディレクトリに置かれます。その後 auditreduce を呼び出すとこのディレクトリにファイルが配置されます。
$ rm /etc/security/tsol/grebe/files/19970413000000.19970413235959.grebe $ rm /etc/security/tsol/willet/files/19970413000000.19970413235959.willet $ rm /etc/security/tsol/sora/files/19970413000000.19970413235959.sora $ mv 19970413000000.19970414235959.audubon /etc/security/audit/audubon/files/ |
auditreduce プログラムでは、入力ファイルを組み合わせる際に重要度の低いファイルを削除することによって、出力ファイル内のレコード数を減らすこともできます。
完全な監査トレールが必要になった場合はバックアップテープから復元できるので、auditreduce コマンドで、1 ヶ月以上前の監査ファイルの中からログインイベントとログアウトイベントを除く全イベントを削除します。次の例では、1997 年 4 月の監査レコードだけが選択されます。
$ auditreduce -m AUE_LOGIN -a 19970401000000 ¥ -b 19970501000000 ¥ -O /usr/audit_summary/logins_april97 |
出力されるのは、1997 年 4 月のログインとログアウトのレコードだけを含むやや小さいファイルです。ここで終了時刻は、auditreduce コマンドを実行した日付け (グリニッジ平均時の 1997 年 6 月 1 日) であり、レコードが最後に併合された日付けではありません。コマンド行には、ディレクトリ名とともにファイル接尾辞 logins_april97 を指定しています。
/usr/audit_summary/19970401000000.19970601000000.logins_april97
praudit コマンドによって監査トークンが表示されるとき、データフィールドはコンマで区切られていますが、これを時刻表示などの元々フィールドに含まれているコンマと区別することはできません。
praudit(1M) に付ける -d オプションの値として Tab キーを押します。
$ praudit -d"<press Tab key>" 19970413120429.19970413180433.grebe |
-d オプション (ここでは Tab キー) の間にスペースはありません。区切り文字は二重引用符でくくります。区切り文字は 4 文字まで使用できます。
監査トークンは、デフォルトでは改行文字で区切られています。-l オプションによって監査レコードを 1 行ずつ表示する場合には、監査トークンでも監査フィールドと同じ区切り文字を使います。次の入力例では、監査トークンを監査フィールド同様にタブで区切ります。
$ praudit -l -d"<press Tab key>" 19970413120429.19970413180433.grebe |
praudit の出力を sed や awk で 処理したり、バイナリ形式の監査レコードを変換して処理するプログラムを作成すると、より高度な画面出力やレポートを得ることができます。
場合によっては、 praudit の出力をテキストの行として扱うと便利です。たとえば、auditreduce で実行できない選択を行う場合などに、簡単なシェルスクリプトで praudit の出力を処理することができます。次の例は praudit_grep といいます。
#!/bin/sh praudit | sed -e '1,2d' -e '$s/^file.*$//' -e 's/^header/^aheader/' ¥¥ | tr '¥¥012¥¥001' '¥¥002¥¥012' ¥¥ | grep "$1" ¥¥ | tr '¥¥002' '¥¥012'
このスクリプト例では、header トークンの前に Control-A が置かれています。(^a は Control-A を表しています。^ と a の 2 文字ではありません。こうした接頭辞は、テキストとして現れる文字列ヘッダーとヘッダートークンを区別するために必要です。) このスクリプトは、Control-A で行ブレークを保持しながらレコードの全トークンを 1 行にまとめ、grep コマンドを実行して、もとの改行文字を修復します。
Trusted Solaris 環境でスクリプトを実行するには、次の条件を満たしている必要があります。
スクリプトが admin_low
ディレクトリにあり、プロファイルマネージャで表示できること
セキュリティ管理者が、Custom Admin Role などの適切なプロファイルにスクリプトを追加し、「強制された特権」を与えていること
セキュリティ管理者が、役割のプロファイルにないスクリプトのコマンドを適切なプロファイルに追加していること
管理役割が書き込みアクセス権を持つディレクトリの admin_high
プロファイルシェルでスクリプトを実行すること
監査ファイルは非常にディスク容量をとります。このため、ディスクを解放して、後続の監査ファイルの場所を作る必要があります。デフォルトでは、オペレータが Media Backup プロファイルによって監査ファイルのバックアップをとり、システム管理者がプロファイル Media Restore プロファイルによって監査ファイルを復元します。
admin_high
ワークスペースでオペレータ役割になって、そのワークステーションの監査ファイルディレクトリに移動します。
$ cd /etc/security/audit/workstation_name[.n]/files |
workstation_name はワークステーション名を表しています。
ラベル admin_high
で、バックアップに使用するテープドライブを割り当てます。
デバイスの割り当て方については、「デバイスの割り当てと割り当て解除の方法」を参照してください。
tar(1) コマンドを使って、監査の完了したファイルとそれらの Trusted Solaris セキュリティ属性 (ラベルなど) をテープにコピーします。
次に例を示します。
$ tar cvT ¥ /etc/security/audit/workstation_name/files/19980413120429.19980413180433.grebe ¥ /etc/security/audit/workstation_name/files/19980502120429.19980502180433.grebe ¥ /etc/security/audit/workstation_name/files/19980513120429.19980513180433.grebe |
コピーが完了したらテープドライブの割り当てを解除し、テープを取り出して admin_high
のラベルを付けます。
同時に、admin_low
のワークスペースで、ユーザー、ラベル、役割、ワークステーションの実行プロファイルに関する情報を取り込むシステムファイルのバックアップをとります。
監査テープと現在のシステム情報テープを保存します。
ラベル admin_high
でスーパーユーザーになって、バックアップをとった監査ファイルを削除します。
次に例を示します。
$ rm ¥ /etc/security/audit/workstation_name/files/19980413120429.19980413180433.grebe ¥ /etc/security/audit/workstation_namefiles/19980502120429.19980502180433.grebe ¥ /etc/security/audit/workstation_name/files/19980513120429.19980513180433.grebe |
admin_high
ワークスペースでシステム管理者になって、監査ファイルを配置する予定のディレクトリに移動します。
$ cd /etc/security/audit/workstation_name[.n]/reports |
ラベル admin_high
で、ファイルの復元に使用するテープドライブを割り当てます。
デバイスの割り当て方については、「デバイスの割り当てと割り当て解除の方法」を参照してください。
tar(1) コマンドを使って、監査ファイルとそれらの Trusted Solaris セキュリティ属性 (ラベルなど) をテープからコピーします。
次に例を示します。
$ tar xvT ¥ /etc/security/audit/workstation_name/files/19980513120429.19980513180433.grebe |
コピーが終了したらテープドライブの割り当てを解除し、デバイスマネージャの指示に従います。
復元した監査ファイルを使用します。
監査バックアップの関連システムバックアップから、他のシステムの情報を復元したり、参照したりする必要がある場合もあります。
ラベル admin_high
でシステム管理者になって、終了したら監査ファイルを削除します。
$ rm ¥ /etc/security/audit/workstation_name/reports/19980513120429.19980513180433.grebe |