前のトピック: auditrouteflt.cfg ファイル - 監査レコード ルーティングのフィルタリング

次のトピック: uxauth.ini ファイル

監査ログ ルーティング環境設定ファイル selogrd.cfg

UNIX で該当

環境設定ファイルの形式は以下のとおりです。詳細については後で説明します。

sectionname1
routingmethod destination
[{include|exclude} matchfield(matchpattern) ...]
...
.
sectionname2
routingmethod destination
[{include|exclude} matchfield(matchpattern) ...]
...
.
...
監査レコードの指定

環境設定ファイルは、さまざまな宛先に転送する(および転送しない)監査レコードを指定したリストです。 監査レコードを指定するには、1 つ以上の特定のフィールドの内容を入力します。 標準の UNIX パターン マッチング(ワイルドカード * および ?)を使用できます。

たとえば、ユーザ名が「dbms」という文字で始まるユーザに対応するレコードを指定するには、以下のように入力します。

User(dbms*)

この例では、「dbms1」、「dbms_mgr」などの名前のユーザが一致します。

同じユーザで、ログインの試みを処理するレコードのみを指定するには、以下のように入力します。

User(dbms*) Class(LOGIN)

注: 複数のフィールドに関係するレコードを 1 行に指定すると、それらすべてのフィールドに該当するレコードのみが指定されます。

レコードを指定する行と同じ行の先頭に、レコードを含めるか、除外するかを指定します。 たとえば、これらのレコードをルーティングに含めるには、以下のように入力します。

include User(dbms*) Class(LOGIN).

このタイプの行の全体的な形式は、以下のとおりです。

[{include|exclude} matchfield(matchpattern) ... .]

「...」は、最初の match‑field(match‑pattern) のペアの後に、さらにペアを指定できることを意味します。

match‑field(match‑pattern) には、以下のいずれかを使用できます。

access (accesstype)

必要なアクセスのタイプを指定します。accesstype には、以下のいずれか 1 つを指定します。

ACL、Chdir、Chgrp、Chmod、Chown、Connect、Control、Create、Erase、Exec、Kill、Modify、Owngrp、Password、Read、Rename、Replace、Update、Utimes、および Write。

Class(LOGIN)

ログイン レコードを指定します。

Class(LOGOUT)

ログアウト レコードを指定します。

Class(PWCHANGE)

パスワード管理を指定します。

Class(HOST)

TCP/IP レコードを指定します。

Class(UPDATE CA Access Controlclass)

データベース管理を指定します。 CA Access Control‑class には、アクセサ クラスまたはリソース クラス(USER、GROUP、FILE、HOSTNP など)、あるいはクラス名が一致するパターンを指定します。 したがって、すべてのデータベースを管理するには、UPDATE * を指定します。

Class(CA Access Controlclass)

保護されているリソースへのアクセスを指定します。 たとえば、Class(FILE) は、ファイルへのアクセスの試みを記録するレコードを参照します。

アスタリスクを使用すると、Class(CA Access Controlclass) および Class(UPDATE CA Access Controlclass) を Class(*CA Access Controlclass) として組み合わせることができます。 たとえば、Class(*FILE) を指定することは、Class(FILE) および Class(UPDATE FILE) の両方を指定することと同じです。 つまり、ファイルへのアクセスの試み、および FILE クラスのレコードの更新の試みの両方を示します。

Code(returncode)

結果を示す CA Access Control リターン コードを指定します。リターン コードの有効な値は以下のとおりです (このセクションの「例 1」も参照してください)。

A - 無効なパスワードを繰り返し入力したため、ログインの試みに失敗しました。

D - アクセサに十分な権限がないため、CA Access Control によりリソースへのアクセスが拒否されたか、ログインまたはデータベースの更新が許可されませんでした。

E - serevu によって、無効化されたユーザ アカウントが有効化されました。

F - データベースの更新が失敗しました。

I - serevu によってユーザ アカウントが無効化された。

M - 実行したコマンドがデーモンを開始または停止しました。

O - ユーザがログアウトしました。

P - CA Access Control により、リソースへのアクセスまたはログインが許可されました。

S - データベースの更新が成功しました。

T - ユーザが実行したすべてアクションがトレース対象のため、監査レコードが書き込まれました。

U - trusted プログラム(setuid または setgid)が変更されたため、trusted ではなくなりました。

W - リソースへのアクセスが、そのリソースのアクセス ルールに違反しました。 ただし、そのリソースに警告モードが設定されているため、CA Access Control によりアクセスが許可されました。

Host(hostname)

TCP/IP 接続に関係するホストを指定します。

Object(resourcename)

ユーザがアクセスを試みているリソースを指定します。

Reason(reasonnumber)

監査レコードに書き込まれた理由を指定します。

Service(servicename)

telnet または FTP など、リモート ホストから要求されたサービス名を指定します。

Source Host(hostname)

統合監査に対してレコードを構成したホスト名を指定します。

Stage(stagenumber)

アクセスが許可または拒否された段階を指定します (「リファレンス ガイド」にある stage code のリストを参照)。

Terminal(terminalname)

アクセスまたは管理を試みている端末を指定します。

Uid(uidnumber)

アクセスまたは管理を試みているユーザの UID を指定します。

User(username)

アクセスまたは管理を試みているユーザを指定します。username には、名前またはパターンを指定します。

注: パターンで指定することが多いのは一部の変数のみですが、実際はすべての変数に(必要であれば段階を表す番号のような変数にも)パターンを使用できます。

複数行による絞り込み

指定内容を絞り込む場合は、一度にさまざまな条件を設定してフィルタ処理を行うことができます。 このためには、include 行または exclude 行を続けて指定します。 例:

include User(dbms*) Class(*LOGIN*).
exclude Terminal(console_*).

この例では、ユーザ名が「dbms」で始まり、端末名が「console_」で始まらないという条件を満たすユーザによるログインの試みすべてを指定しています。

宛先の指定

include 行および exclude 行の上の行を使用して、挿入する監査レコードの宛先を指定します。 例:

mail weekwatch
include User(dbms*) Class(*LOGIN*).
exclude Terminal(console_*).

この例では、ユーザ名が「dbms」で始まり、端末名が「console_」で始まらないという条件を満たすユーザによるログインの試みすべてについて、電子メール アドレス weekwatch がレポートを受信するように指定しています。

このタイプの行は、ログ ルーティング環境設定ファイルに以下の形式で記述します。

routingmethod destination

以下のいずれかの方法を使用できます。

mail address

電子メールで監査レコードを送信します。address には宛先アドレスを指定します。 user@host の形式でない場合は、ローカル ユーザ リストおよび NIS メール別名マップと照合されます。

注: address がユーザ名であり、そのユーザ アカウントへの代理要求が監査される場合は、監査レコードが無制限に蓄積されます。

screen username

selogrd が監査レコードを転送するときに、ユーザが現在のホストにログインしている場合は、そのユーザの画面に監査レコードを表示します。 ユーザがログインしていない場合、表示は保留されずに取り消されます。

cons hostname

指定されたホストの secmon ユーティリティの Security Administrator GUI に監査レコードを送信します。 そのホストが使用可能ではない場合、表示は保留されずに終了します。

file textfilename

指定された ASCII ファイルに監査レコードを書き込みます。textfilename には絶対パス名を指定する必要があります。また、selogrd にはファイルへのアクセス権が必要です。

host hostname

指定したホストの監査ログ収集デーモンに監査レコードを送信します。 ホストが使用可能でない場合は、後で再送信します。

notify mail または notify default

監査レコード自体が指定するアドレスに、電子メールで監査レコードを送信します。

notify screen

監査レコード自体が指定するユーザの画面に、監査レコードを表示します。 ユーザがログオンしていない場合、表示は保留されずに取り消されます。

syslog priority

指定されたログ優先度で、監査レコードを syslog に送信します。

  • LOG_EMERG - システムが使用できません。
  • LOG_ALERT - アクションを即座に実行する必要があります。
  • LOG_CRIT - 致命的な状態。
  • LOG_ERR - エラー状態。
  • LOG_WARNING - 警告状態。
  • LOG_NOTICE - 正常ですが、重大な状態。
  • LOG_INFO - 情報参照用。
  • LOG_DEBUG - デバッグレベルのメッセージ。
uni hostname

指定されたホストの Unicenter TNG イベント マネージャに監査レコードを送信します。 uni.so 共有ライブラリをロードするように selogrd を設定する必要もあります。このライブラリは、ACInstallDir/lib ディレクトリにあります。 指定されたホスト上に Unicenter TNG がインストールされていることが確認され、このタスクの実行を選択した場合は、インストール時にこのタスクが実行されます。

各行の正しい順序

include 行および exclude 行は、正しい順序で正しく区切って指定する必要があります。

タイトル行および終了行を含めたこの一連の行を、ファイルの「セクション」と呼びます。

セクションの共存

環境設定ファイルの 1 セクション内の各行は、レコードを送信するかどうかについての 1 つの決定を行うために相互に機能しますが、各セクションは完全に独立して機能します。 監査レコードがあるセクションによって送信されるかどうかは、同じ監査レコードが別のセクションによって送信されるかどうかには影響しません。

監査レコードの同じ選択内容を複数の宛先に送信できます。また、同じ宛先が監査レコードの複数の選択内容を受信することもできます。

環境設定ファイル(すべてのセクションの include 行および exclude 行の合計)は、64 行を超えることはできません。

コメントの挿入

コメント行を環境設定ファイルに追加するには、行の先頭にセミコロンを付けます。

例 1

環境設定ファイルのサンプルとその説明を以下に示します。

 ; Product : CA Access Control
 ; Module  : selogrd
 ; Purpose : route table for audit log routing daemon
 ;
 ;‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
  Rule#1
  mail jones@admhost
  include       Class(*LOGIN*) Code(D).
  .
  Rule#2
  mail smith
  include       Class(*SURROGATE*) Object(USER.root*).
  .
  Rule#3
  host venus
  exclude       Class(UPDATE SU*).
  .
  Rule#4
  host venus
  include       Class(*PROGRAM*) Object(/usr/bin/ps).
  .

最初の 5 行は、コメント行です。

次の 4 行は、Rule#1 という名前の最初のセクションを構成しています。 このセクションでは、ログイン要求が拒否された(コード D は拒否を表す)場合、常にログ レコードをアドレス jones@admhost に送信するように selogrd に指示します。

Rule#1
mail jones@admhost
include       Class(*LOGIN*) Code(D).
.

次のセクションの名前は Rule#2 です。 このセクションでは、su コマンドによって root アカウントの使用が試みられた場合(SURROGATE クラスのオブジェクトが su コマンドの対象である場合)、常にログ レコードをアドレス smith に送信するように selogrd に指示します。

Rule#2
mail smith
include       Class(*SURROGATE*) Object(USER.root*).
.

次のセクションの名前は Rule#3 です。 このセクションでは、クラス名が SU という文字列で始まる場合(一致するクラスは SURROGATE および SUDO)を除いて、データベースの管理が試みられた場合は、常にログ レコードをホスト venus 上の収集デーモンに送信するように selogrd に指示します。

Rule#3
host venus
exclude       Class(UPDATE SU*).

最後のセクションの名前は Rule#4 です。 このセクションでは、ps コマンドの使用が試みられた場合は、常にログ レコードをホスト venus 上の収集デーモンに送信するように selogrd に指示します。

(Code 1 8pt) Rule#4
host venus
include       Class(*PROGRAM*) Object(/usr/bin/ps).
.

例 2

以下の環境設定ファイルは、すべての監査レコードを loghost という端末上の収集デーモンに送信します。

 ; Product : CA Access Control
 ; Module  : selogrd
 ; Purpose : route table for audit log routing daemon
 ;
 ;‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
  Rule#1
  host loghost
  .
リターン コード

環境設定ファイルの各タイプのレコードを CA Access Control の 1 つまたは複数のリターン コードに関連付けることができます (リターン コードの完全なリストについては、このセクションの「監査レコードの指定」の code(returncode) の説明を参照してください)。以下のテーブルでは、レコード タイプとそれらに関連付けられるリターン コードについて説明します。

レコード タイプ

クラスまたはイベント

関連するリターン コード

ログイン

LOGIN

LOGINDISABLE

LOGINENABLE

D、P、W

I

E

ログアウト

LOGOUT

O

TCP/IP

HOST

D、P

リソース クラス

クラス名

D、P、W

Watchdog

PROGRAM

SECFILE

U

U

パスワード管理

PWCHANGE

D

停止

SHUTDOWN

D、S

先頭

START

S

CA Access Control データベース管理

UPDATE

D、F、S