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

内容
capamsc141
内容
UNIX で該当
以下のコードは環境設定ファイルの形式です。詳細については後で説明します。
section-name-1 routing-method destination [{include|exclude} match-field(match-pattern) ...] ... . section-name-2 routing-method destination [{include|exclude} match-field(match-pattern) ...] ... . ...
  • 監査レコードの指定
    環境設定ファイルは、さまざまな宛先に転送する(および転送しない)監査レコードを指定したリストです。監査レコードを指定するには、1 つ以上の特定のフィールドの内容を入力します。標準の UNIX パターン マッチング(ワイルドカード * および ?)を使用できます。
    たとえば、ユーザ名が「dbms」という文字で始まるユーザに対応するレコードを指定するには、以下のコードを入力します。
    User(dbms*)
    この例では、「dbms1」、「dbms_mgr」などの名前のユーザが一致します。
    同じユーザで、ログインの試みを処理するレコードのみを指定するには、以下のように入力します。
    User(dbms*) Class(LOGIN)
    複数のフィールドに関係するレコードを 1 行に指定すると、それら
    すべて
    のフィールドに該当するレコードのみが指定されます。
    レコードを指定する行と同じ行の先頭に、レコードを含めるか、除外するかを指定します。たとえば、これらのレコードをルーティングに含めるには、以下のコードを入力します。
    include User(dbms*) Class(LOGIN).
    このタイプの行の全体的な形式は、以下のとおりです。
    [{include|exclude} match-field(match-pattern) ... .]
    ここの「...」は、最初の match-field(match-pattern) のペアの後に、さらにペアを指定できることを意味します。
    match-field(match-pattern) には、以下のいずれかを使用できます。
    • Access(
      access
      -
      type
      )
      必要なアクセスのタイプを指定します。
      access
      -
      type
      には、以下のいずれか 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 ControlMinder
      -
      class
      )
      データベース管理を指定します。CA ControlMinder-class には、アクセサ クラスまたはリソース クラス(USER、GROUP、FILE、HOSTNP など)、またはクラス名が一致するパターンを指定します。したがって、すべてのデータベースを管理するには、UPDATE * を指定します。
    • Class(
      CA ControlMinder
      -
      class
      )
      保護されているリソースへのアクセスを指定します。たとえば、Class(FILE) は、ファイルへのアクセスの試みを記録するレコードを参照します。
      Class(
      CA ControlMinder
      -
      class
      ) と Class(UPDATE
      CA ControlMinder
      -
      class
      ) をアスタリスクを使用して組み合わせて、
      Class(*CA ControlMinder
      -
      class
      ) と記述できます。たとえば、Class(*FILE) を指定することは、Class(FILE) および Class(UPDATE FILE) の両方を指定することと同じです。つまり、ファイルへのアクセスの試み、および FILE クラスのレコードの更新の試みの両方を示します。
    • Code(
      return
      -
      code
      )
      結果を示す
      PAM Server Control
      のリターン コードを指定します。有効なリターン コードの値は以下のとおりです(このセクションの「例 1」も参照してください)。
      A
      - 無効なパスワードを繰り返し入力したため、ログインの試みに失敗しました。
      D
      - アクセサに十分な権限がないため、
      PAM Server Control
      によりリソースへのアクセスが拒否されたか、ログインまたはデータベースの更新が許可されませんでした。
      E
      - serevu によって、無効化されたユーザ アカウントが有効化されました。
      F
      - データベースの更新が失敗しました。
      I
      - serevu によってユーザ アカウントが無効化された。
      M
      - 実行したコマンドがデーモンを開始または停止しました。
      O
      - ユーザがログアウトしました。
      P
      -
      PAM Server Control
      により、リソースへのアクセスまたはログインが許可されました。
      S
      - データベースの更新が成功しました。
      T
      - ユーザが実行したすべてアクションがトレース対象のため、監査レコードが書き込まれました。
      U
      - trusted プログラム(setuid または setgid)が変更されたため、trusted ではなくなりました。
      W
      - リソースへのアクセスが、そのリソースのアクセス ルールに違反しました。ただし、そのリソースに警告モードが設定されているため、
      PAM Server Control
      によりアクセスが許可されました。
    • Host(
      host
      -
      name
      )
      TCP/IP 接続に関係するホスト。
    • Object(
      resource
      -
      name
      )
      ユーザがアクセスを試みているリソースを指定します。
    • Reason(
      reason
      -
      number
      )
      監査レコードが書き込まれた理由。
    • Service(
      service
      -
      name
      )
      telnet、FTP、ポート番号など、リモート ホストから要求されたサービスの名前。
    • Source Host(
      hostname
      )
      統合監査に対してレコードを構成したホスト名。
    • Stage(
      stage
      -
      number
      )
      アクセスが許可または拒否された段階。(「
      リファレンス ガイド
      」にあるステージ コードのリストを参照)。
    • Terminal(
      terminal
      -
      name
      )
      アクセスまたは管理を試みている端末。
    • Uid(
      uid
      -
      number
      )
      アクセスまたは管理を試みているユーザの 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 がレポートを受信するように指定しています。
    このタイプの行は、ログ ルーティング環境設定ファイルに以下の形式で記述します。
    routing-method destination
    以下のいずれかの方法を使用できます。
    • mail
      address
      電子メールで監査レコードを送信します。
      address
      には宛先アドレスを指定します。user@host の形式でない場合は、ローカル ユーザ リストおよび NIS メール別名マップと照合されます。
      address がユーザ名であり、そのユーザ アカウントへの代理要求が監査される場合は、監査レコードが無制限に蓄積されます。
    • screen
      username
      selogrd が監査レコードを転送するときに、ユーザが現在のホストにログインしている場合は、そのユーザの画面に監査レコードを表示します。ユーザがログインしていない場合、表示は保留されずに取り消されます。
    • cons
      hostname
      指定されたホストの secmon ユーティリティの Security Administrator GUI に監査レコードを送信します。そのホストが使用可能ではない場合、表示は保留されずに終了します。
    • file
      textfilename
      指定された ASCII ファイルに監査レコードを書き込みます。
      textfilename
      には絶対パス名を指定する必要があります。また、selogrd にはファイルへのアクセス権が必要です。Selogrd は、デフォルトですべてを含んでいるため、すべてを除外してからファイルに書き込む内容を含める必要があります。例:
      LoginRule
      file /data/audit_login_data.txt
      include User(dbms*) Class(LOGIN).
      format filesize(10240000).
      .
    • host
      hostname
      指定したホストの監査ログ収集デーモンに監査レコードを送信します。ホストが使用可能でない場合は、後で再送信します。
    • notify mail
      または
      notify default
      監査レコード自体が指定するアドレスに、電子メールで監査レコードを送信します。
    • notify screen
      監査レコード自体が指定するユーザの画面に、監査レコードを表示します。ユーザがログオンしていない場合、表示は保留されずに取り消されます。
    • syslog
      priority
      指定されたログ優先度で、監査レコードを syslog に送信します。
      1. LOG_EMERG
        - システムが使用できません。
      2. LOG_ALERT
        - アクションを即座に実行する必要があります。
      3. LOG_CRIT
        - 致命的な状態。
      4. LOG_ERR
        - エラー状態。
      5. LOG_WARNING
        - 警告状態。
      6. LOG_NOTICE
        - 正常ですが、重大な状態。
      7. LOG_INFO
        - 情報参照用。
      8. LOG_DEBUG
        - デバッグレベルのメッセージ。
  • 各行の正しい順序
    include 行および exclude 行は、正しい順序で正しく区切って指定する必要があります。
    • 単一の複合フィルタとして使用する一連の行(または単一の行)の前にタイトル行を置きます。単一のドットだけの終了行で行を終了させます。例:
    dbms login from non-console mail weekwatch include User(dbms*) Class(*LOGIN*). exclude Terminal(console_*). .
    タイトル行および終了行を含めたこの一連の行を、ファイルの「
    セクション
    」と呼びます。
    • include 行および exclude 行の両方が、同じセクションの同じ監査レコードに一致した場合は、最後に一致した行が最優先されます。
    • いずれの行も特定の監査レコードに一致しない場合は、セクションの最初の行によってそのレコードの処置が決定されます最初の行が include 行の場合、一致しなければレコードは除外されます。最初の行が exclude 行の場合、一致しなければレコードはルーティングに組み込まれます。
    • include 行および exclude 行がセクションに含まれていない場合は、すべての監査レコードがルーティングに組み込まれます。
  • セクションの共存
    環境設定ファイルの 1 セクション内の各行は、レコードを送信するかどうかについての 1 つの決定を行うために相互に機能しますが、各セクションは独立して機能します。監査レコードがあるセクションによって送信されるかどうかは、同じ監査レコードが別のセクションによって送信されるかどうかには影響しません。
    監査レコードの同じ選択内容を複数の宛先に送信できます。また、同じ宛先が監査レコードの複数の選択内容を受信することもできます。
    環境設定ファイル(すべてのセクションの include 行および exclude 行の合計)は、64 行を超えることはできません。
  • コメントの挿入
    コメント行を環境設定ファイルに追加するには、行の先頭にセミコロンを付けます。
例 1
以下は環境設定ファイルのサンプル コードとその説明です。
; Product : CA ControlMinder ; 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 アカウントの使用が試みられた場合、常にログ レコードをアドレス smith に送信するように selogrd に指示します。SURROGATE クラスのオブジェクトが su コマンドの対象である場合
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 ControlMinder ; Module : selogrd ; Purpose : route table for audit log routing daemon ; ;------------------------------------------------------ Rule#1 host loghost .
  • リターン コード
    環境設定ファイルの各タイプのレコードを、1 つまたは複数の
    PAM Server Control
    のリターン コードと関連付けることができます(リターン コードの完全なリストについては、このセクションの「監査レコードの指定」の
    code(return
    -
    code
    ) の説明を参照してください)。以下のテーブルでは、レコード タイプとそれらに関連付けられているリターン コードについて説明しています。
レコード タイプ
クラスまたはイベント
関連するリターン コード
Login
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
PAM Server Control
データベース管理
UPDATE
D、F、S
JCS コネクタ ログ ファイル名およびログ レベルの管理
以下の設定ファイルを使用して、SSH、ネットワーク デバイス、Sybase、ACF2 および RACF JCS ログ ファイル コネクタに対してログ ファイル名を管理できます。
<JCS-directory>\conf\log4j.properties
このファイルは前述の各コネクタに対してログ ファイル名を設定するために使用されます。ログ ファイル名は以下のとおりです。
ssh.log
  • network_device.log
  • sybase.log
  • acf2.log
  • racf.log
以下のレベル スケールに従って、各コネクタのログ詳細レベルを設定できます。
トレース
  • デバッグ
  • 情報
  • 警告
  • エラー
  • 致命的
SSH コネクタは、スケールに従って設定されたレベル以下からのログのみを収集します。たとえば、以下のように設定された場合、SSH コネクタはデバッグ、情報、警告、エラー、致命的レベルからのみログを収集します。
log4j.logger.com.ca.jcs.sshdyn=INFO, ssh log4j.logger.com.ca.sessame.conn.unix=INFO, ssh
コネクタ ログ ファイルはそれぞれバックアップに保存されて、新しいログが毎日開始されます。