4. 運用
4.4. システム管理
Ⅰ‑191 Copyright © 2003 IPA, All Rights Reserved.
Ⅰ‑192 Copyright © 2003 IPA, All Rights Reserved.
リスト 4‑2 audit̲event の一部 0:AUE̲NULL:indir system call:no
1:AUE̲EXIT:exit(2):pm 2:AUE̲FORK:fork(2):ps
3:AUE̲OPEN:open(2) ‑ place holder:fa
エントリは以下のようになっている。
リスト 4‑3 audit̲event の内容 イベント番号:イベント名:イベント説明:イベントクラス
最初のエントリのイベント番号は、一般的に以下の表のようなカテゴリに分類される。
表 4‑3 イベントクラスの分類
番号範囲 イベントの種類
1‑2047 カーネル (システムコール) が生成する
イベント
2048‑65535 ユーザレベルのイベント 2048‑32767 Solaris および Trusted Solaris のユーザ
レベル用イベント
32768‑65536 他社のアプリケーションで使用
次 に イ ベ ン ト ク ラ ス に つ い て 説 明 す る 。 下 記 に 示 す の は イ ベ ン ト ク ラ ス /etc/security/audit̲class ファイルからコメント行を除いたすべてである。
Ⅰ‑193 Copyright © 2003 IPA, All Rights Reserved.
リスト 4‑4 audit̲class ファイル 0x00000000:no:invalid class
0x00000001:fr:file read 0x00000002:fw:file write
0x00000004:fa:file attribute access 0x00000008:fm:file attribute modify 0x00000010:fc:file create
0x00000020:fd:file delete 0x00000040:cl:file close 0x00000100:nt:network 0x00000200:ip:ipc
0x00000400:na:non‑attribute 0x00001000:lo:login or logout 0x00002000:ax:x server
0x00004000:ap:application 0x000f0000:ad:administrative 0x00010000:ss:change system state
0x00020000:as:system‑wide administration 0x00040000:aa:audit administration 0x00080000:ao:other administration 0x00100000:ps:process start/stop 0x00200000:pm:process modify 0x00300000:pc:process
0x01000000:io:ioctl 0x02000000:fn:fcntl 0x04000000:ot:other
0x08000000:xl:X ‑ client login/logout
0x10000000:xp:X ‑ privileged/administrative operations 0x20000000:xc:X ‑ object create/destroy
0x40000000:xa:X ‑ other/allowed information flows
0x80000000:xs:X ‑ operations that always silently fail, if bad 0xf8000000:xx:X ‑ all events
0xffffffff:all:all classes
これらのファイルのフォーマットは以下のとおりである。
リスト 4‑5 audit̲class の内容 マスク値:クラス名:クラスの説明
マスク値は、符号なし整数として表され、利用できる最大クラス数は 32 である。また、
特別なクラスとして all、no が存在する。all は、監査する全クラスの集合であり、逆に no は監査しないクラスの集合である。
また、イベントクラスとイベントはクラス名で紐付けされている。例えば、イベント番 号 2 の fork をみて頂きたい。この fork()のシステムコールには、ps のクラスが割り当て られている。ここで、クラスファイルの ps を参照するとリスト 4‑7 のように定義されてい ることがわかる。
Ⅰ‑194 Copyright © 2003 IPA, All Rights Reserved.
リスト 4‑6 fork()のイベント 2:AUE̲FORK:fork(2):ps
リスト 4‑7 ps クラス 0x00100000:ps:process start/stop
4.4.1.3. 監査基本設定
システムの監査設定は、/etc/security/audit̲control を編集することでおこなうことが できる。ここでは、audit̲control ファイルの内容について説明する。以下に示すのは、ファ イルで定義する変数である。
(1) 監査ログの保存場所
監査ログファイルは、デフォルトで/etc/security/audit/<hostname>以下に保存さ れる。このディレクトリは、/var/audit にシンボリックリンクされている。保存場所 の指定は、以下のように行なう。
リスト 4‑8 監査ログの指定 dir:/var/audit
ここで、ログをいくつかのディレクトリで保存する場合は、リスト 4‑9 のようにお こなう。これらは、ディレクトリに対するシンボリックリンクでも構わない。
リスト 4‑9 複数の監査ログの指定 dir:/etc/security/<ホスト名>.1
dir:/etc/security/<ホスト名>.2
(2) 監査フラグ
監査フラグは、どのようなイベントを記録するかを定義。ここで定義するのは、イ ベントクラスの組み合わせである。デフォルトでは、何も定義されていない。以下に 示すのは監査フラグの定義の記述例である。
Ⅰ‑195 Copyright © 2003 IPA, All Rights Reserved.
リスト 4‑10 監査フラグの指定 flags: ‑fc,lo
監査フラグで使用する接頭辞には以下の3つがある。
リスト 4‑11 監査フラグの説明 + :成功イベントのみ監査をおこなう
‑ :失敗イベントのみ監査をおこなう
なし:イベントの成功、失敗にかかわらず監査をおこなう
また、インバース接頭辞も用意されている。
リスト 4‑12 監査フラグ(インバース)の説明
^+ :成功イベントの監査を無効にする。
^‑ :失敗イベントの監査を無効にする。
^ :すべてのイベントの監査を無効にする
例えば、インバース接頭辞を利用すると以下のような条件を満たす監査をおこなう ことができる。
リスト 4‑13 監査フラグのサンプル例 flags:‑all,^‑fc
これは、‑all ですべての失敗イベントを監査するが、^‑fc がセットされているため、
結果はすべての失敗イベントの中でクラス fc で定義される失敗イベントを除外した ものを監査することになる。
Note:
監査フラグ all は、大量のログファイルを生成する。そのため、ディスクの許容容量を 超えてしまうことがある。特別な理由で利用する以外 all フラグは使用しないことを推 奨する。
監査フラグとして naflags というのがある。このフラグは、イベントを実行したユー ザが特定できない場合に、どの監査をおこなうかを定義するものである。監査フラグ のセットの方法は前述説明したものと同じである。