23.2 XDASを使用した監査

XDASの仕様には、監査イベントの標準的な分類が記載されています。グローバルな分散システムレベルにおける一般イベントのセットを定義します。XDASには、一般的なポータブルの監査レコードフォーマットが含まれており、分散システムレベルでの複数のコンポーネントからの監査情報を、簡単にまとめたり、分析したりできます。XDASイベントは、標準または既存のイベントIDセットの拡張に対応した階層型の表記システム内でカプセル化されます。XDAS分類は一連のフィールドを定義します。そのうちの主要なフィールドは、observer、initiator、およびtargetです。XDASイベントは、異なるアプリケーションの監査記録を理解しやすくするのに役立ちます。

重要:XDASによる監査のサポートは、eDirectory 9.2以降では非推奨となっています。初めてeDirectory 9.2をインストールする場合、XDASによる監査のオプションを使用することはできなくなります。eDirectoryを以前のバージョンからアップグレードする場合、XDASを使用することはできますが、CEF監査に移行することをお勧めします。新たに追加した9.2サーバでXDASを使用する場合は、古いバージョンのeDirectoryからXDAS rpmをコピーして、新しいサーバを設定する必要があります。古いバージョンのeDirectoryのconfフォルダから、xdasconfig.propertiesファイルを最新バージョンにコピーしてください。

XDASを使用するようにeDirectoryを設定すると、次のようなメリットがあります。

  • セキュリティで保護された監査サービスを分散システムに提供します。

  • グローバルな分散システムレベルで一連の一般イベントを定義します。

  • 分散システムの複数のコンポーネントからの監査情報のマージと分析に役立つ、共通のポータブルな監査レコードフォーマットを定義します。

  • 分析アプリケーションで使用可能な、監査イベントの共通のフォーマットを定義します。

  • XDAS監査証跡を記録します。

  • イベント事前選択基準とイベント廃棄アクションを設定します。

  • XDASサービスを実行するプラットフォームに関係なく、共通の監査フォーマットを提供します。

  • 異機種混在環境をサポートします。そのために、現在のオペレーティングシステムやアプリケーション固有の監査サービス実装を再設計する必要はありません。

  • 適正なユーザの義務の分離をサポートします。

  • 特定の管理役割またはセキュリティ役割を担っているプリンシパルだけが監査ログにアクセスできるようにすることで、監査ログを保護します。

  • オプションで、エージェントと監査サーバ間で通信障害が発生した場合にエージェントで監査イベントをローカルでキャッシュに保存し、通信が再確立されてからイベントを再送信します。

23.2.1 XDASの設定

eDirectoryインストールキットには、ダウンロードパッケージの一部としてLinux版とWindows版の両方のXDASクライアントが付属しています。eDirectoryのインストールプログラムは、オペレーティングシステム上にXDASパッケージをインストールします。XDASパッケージには、次のファイルが含まれています。

  • Linux

    • novell-edirectory-xdaslog

    • novell-edirectory-xdaslog-conf

    • novell-edirectory-xdasinstrument

  • Windows

    • xdasauditds.dlm

    • xdaslog.dll

メモ:OES 11 SP2リリースから、XDAS RPMがOpen Enterprise Serverにバンドルされています。

システム要件

NetIQ Audit iManagerプラグインをインストールして使用するには、iManager 3.0以降が必要です。要件とダウンロード手順については、NetIQ iManagerの製品ページを参照してください。

XDAS用のiManagerプラグインのインストールまたはアップグレード

XDAS用のiManagerプラグインは、eDirectoryプラグインにバンドルされています。または、NetIQダウンロードサイトからeDirectoryプラグインをダウンロードできます。

プラグインを最新バージョンにアップグレードするには:

  1. 次のURLを使用して、WebブラウザからiManagerを開きます。

    https://ip_address_or_DNS/nps/iManager.html

    ここで、ip_address_or_DNSは、iManagerサーバのIPアドレスまたはDNS名を指しています。

    次に例を示します。

    http://111.111.1.1/nps/iManager.html
  2. ユーザ名とパスワードを使用してiManagerにログインします。

    NetIQ iManagerのすべての機能を利用するには、管理者としてツリーにログインします。管理者ユーザだけが、すべての機能への完全アクセス権を持っています。管理者ユーザ以外は、権利が割り当てられている役割にのみアクセスできます。

    詳細については、『NetIQ iManager管理ガイド』を参照してください。

  3. [役割およびタスク]>[監査の環境設定]を選択します。

    iManagerに、XDASの新しい変更点に関する警告メッセージが表示されます。

  4. OKをクリックします。

    アップグレード中に、新しいiManagerのファイルがインストールされ、環境設定が変更されます。アップグレードが完了したら、インストールの成功または失敗のステータスを示すメッセージが表示されます。

XDASプロパティファイルの設定

eDirectoryメディアでは、サンプルプロパティファイルであるxdasconfig.properties.templateファイルがconfigdir (n4u.server.configdir)ディレクトリに格納されています。

表 23-1に、LinuxオペレーティングシステムとWindowsオペレーティングシステム上のxdasconfig.propertiesファイルのデフォルトの場所を示します。

表 23-1 XDAS環境設定ファイル

オペレーティングシステム

プロパティファイルの場所

Linux

/etc/opt/novell/eDirectory/conf/
xdasconfig.properties

非ルートインストールでは、XDASプロパティファイルがconfディレクトリに配置されます。

Windows

<Install Path>/novell/nds/xdasconfig
 

通常は、プロパティファイルはeDirectoryのインストールディレクトリに配置されます。

プロパティファイルを設定してから、環境をeDirectory 9.2にアップグレードする場合、インストーラはプロパティファイルを置き換えません。代わりに、アップグレードプロセスがこのファイル(xdasconfig.properties.template)を更新してカスタマイズ内容が保持されるようにします。

iManagerのインストール後、XDASを設定できます。XDAS環境設定は、単純なテキストベースのxdasconfig.properties環境設定ファイルに保存されます。実際の要件に応じてこのファイルをカスタマイズできます。

XDASプロパティファイルには次の情報が含まれています。

Linux

# Set the level of the root logger to DEBUG and attach appenders.
#log4j.rootLogger=debug, S, R
# Defines appender S to be a SyslogAppender. 
#log4j.appender.S=org.apache.log4j.net.SyslogAppender
# Defines location of Syslog server.
#log4j.appender.S.Host=localhost
#log4j.appender.S.Port=port
# Specify protocol to be used (UDP/TCP/SSL)
#log4j.appender.S.Protocol=UDP
# Specify SSL certificate file for SSL connection.
# File path should be given with double backslash.
#log4j.appender.S.SSLCertFile=/etc/opt/novell/mycert.pem
# Minimum log-level allowed in syslog.
#log4j.appender.S.Threshold=INFO
# Defines the type of facility.
#log4j.appender.S.Facility=USER
# Defines caching for SyslogAppender.
# Inputs should be yes/no
#log4j.appender.S.CacheEnabled=no
# Cache location directory
# Directory should be available for creating cache files
#log4j.appender.S.CacheDir=/var/opt/novell/eDirectory
# Cache File Size
# Cache File Size should be in the range of 50MB to 4000MB
#log4j.appender.S.CacheMaxFileSize=500MB
# Layout definition for appender Syslog S.
#log4j.appender.S.layout=org.apache.log4j.PatternLayout
#log4j.appender.S.layout.ConversionPattern=%c : %p%m%n
# Defines appender R to be a Rolling File Appender.
#log4j.appender.R=org.apache.log4j.RollingFileAppender
# Log file for appender R.
#log4j.appender.R.File=/var/opt/novell/eDirectory/log/xdas-events.log
# Max size of log file for appender R.
#log4j.appender.R.MaxFileSize=100MB
# Set the maximum number of backup files to keep for appender R.
# Max can be 13. If set to zero, then there will be no backup files.
#log4j.appender.R.MaxBackupIndex=10
# Layout definition for appender Rolling log file R.
#log4j.appender.R.layout=org.apache.log4j.PatternLayout
#log4j.appender.R.layout.ConversionPattern=%d{MMM dd HH:mm:ss} %c : %p%m%n

Windows

# Brief description for appenders and their options are provided.
# For detailed decriptions refer to log4cxx documentation.

# Set the level of the root logger to DEBUG and attach appenders.
#log4j.rootLogger=debug, S, R

# Defines appender S to be a SyslogAppender.
#log4j.appender.S=org.apache.log4j.net.SyslogAppender

# Defines location of Syslog server.
#log4j.appender.S.Host=localhost
#log4j.appender.S.Port=port

# Specify protocol to be used (UDP/TCP/SSL).
#log4j.appender.S.Protocol=UDP

# Specify SSL certificate file for SSL connection.
# File path should be given with double backslash.
#log4j.appender.S.SSLCertFile=C:\\Novell\\mycert.pem

# Minimum log-level allowed in syslog.
#log4j.appender.S.Threshold=INFO

# Defines the type of facility.
#log4j.appender.S.Facility=USER

# Defines caching for SyslogAppender.
# Inputs should be yes/no
#log4j.appender.S.CacheEnabled=yes

# Cache location directory
# Directory should be available for creating cache files
#log4j.appender.S.CacheDir=C:\\NetIQ\\eDirectory

# Cache File Size
# Cache File size should be in the range of 50MB to 4000MB
#log4j.appender.S.CacheMaxFileSize=500MB

# Layout definition for appender Syslog S.
#log4j.appender.S.layout=org.apache.log4j.PatternLayout
#log4j.appender.S.layout.ConversionPattern=%c: %p%m%n

# Defines appender R to be a Rolling File Appender.
#log4j.appender.R=org.apache.log4j.RollingFileAppender

# Log file for appender R.
# File path should be given with double backslash.
#log4j.appender.R.File=C:\\xdas-events.log

# Max size of log file for appender R.
#log4j.appender.R.MaxFileSize=100MB

# Set the maximum number of backup files to keep for appender R.
# Max can be 13. If set to zero, then there will be no backup files.
#log4j.appender.R.MaxBackupIndex=10

# Layout definition for appender Rolling log file R.
#log4j.appender.R.layout=org.apache.log4j.PatternLayout
#log4j.appender.R.layout.ConversionPattern=%d{MMM dd HH:mm:ss} %c : %p%m%n

xdasconfig.propertiesファイルの内容を検討する前に、以下の考慮事項を確認することをお勧めします。

  • 文字のSとRは、それぞれSyslogアペンダとローリングファイルアペンダを意味します。

  • エントリは大文字と小文字が区別されません。

  • エントリは任意の順序で表示できます。

  • ファイル内の空白行は有効です。

  • ハッシュ(#)で始まるすべての行はコメントアウトされた行です。

次の表に、xdasconfig.propertiesファイル内設定に関する情報を示します。

重要:環境設定の変更後は、eDirectoryを再起動する必要があります。

設定

説明

log4j.rootLogger=debug, S, R

ルートのログの記録レベルをデバッグに設定して、RまたはSという名前のアペンダをアタッチします。SはSyslogアペンダを、Rはローリングファイルアペンダを意味します。

log4j.appender.S=org.apache.log4j.net.SyslogAppender

アペンダSをSyslogアペンダとして指定します。

log4j.appender.S.Host=localhost

XDASイベントの記録先のSyslogサーバの場所を指定します。

IFor example,log4j.appender.S.Host=192.168.0.1

log4j.appender.S.Port=port

XDASがSyslogサーバに接続するポートです。

このポートは1~65535の値をサポートします。無効な値が指定された場合は、ポートがデフォルトで514に設定します。

XDASとSyslogサーバ間の接続が失われた場合は、接続が回復するまでIdentity Managerはイベントを記録できません。

log4j.appender.S.Protocol=UDP

使用するプロトコルを指定します。たとえば、UDP、TCP、またはSSLなどです。

log4j.appender.S.SSLCertFile=/etc/opt/novell/mycert.pem

SSL接続用のSSL証明書ファイルを指定します。ファイルのパスを指定する場合は二重の円記号を使用します。この設定の指定は任意です。

log4j.appender.S.Threshold=INFO

Syslogアペンダで許可される最小ログレベルを指定します。現在は、INFOログレベルがサポートされています。

log4j.appender.S.Facility=USER

ファシリティのタイプを指定します。ファシリティは、メッセージを分類するために使用されます。現在、USERファシリティがサポートされています。これらの値は大文字または小文字で指定することができます。

log4j.appender.S.layout=org.apache.log4j.PatternLayout

Syslogアペンダ用のレイアウト設定です。

log4j.appender.S.layout.ConversionPattern=%c : %p%m%n

Syslogアペンダ用のレイアウト設定です。変換パターンとその説明については、「logging.apache.org」を参照してください。

log4j.appender.R=org.apache.log4j.RollingFileAppender

アペンダRをローリングファイルアペンダとして指定します。

log4j.appender.R.File=/var/opt/novell/eDirectory/log/xdas-events.log

ローリングファイルアペンダ用のログファイルの場所です。

log4j.appender.R.MaxFileSize=100MB

ローリングファイルアペンダ用のログファイルの最大サイズ(MB単位)です。この値はクライアントで許可される最大サイズに設定します。

log4j.appender.R.MaxBackupIndex=10

ローリングファイルアペンダ用のバックアップファイルの最大数を指定します。バックアップファイルの最大数は10にすることができます。0の値はバックアップファイルなしを意味します。

log4j.appender.R.layout=org.apache.log4j.PatternLayout

ローリングファイルアペンダ用のレイアウト設定です。

log4j.appender.R.layout.ConversionPattern=%d{MMM dd HH:mm:ss} %c : %p%m%n

ローリングファイルアペンダ用のレイアウト設定です。簡易日付フォーマットパターンについては、表 23-2を参照してください。

変換パターンとその説明については、「logging.apache.org」を参照してください。

表 23-2に、米国で解釈される日付と時刻のパターンの例を示します。指定されている日付と時刻は、米国太平洋タイムゾーンの2012年7月4日12時8分56秒です。

表 23-2 日付と時刻のパターンの例

日付と時刻のパターン

結果

"yyyy.MM.dd G 'at' HH:mm:ss z"

2012.07.04 AD at 12:08:56 PDT

"EEE, MMM d, ''yy"

Wed, Jul 4, '01

"h:mm a"

12:08 PM

"hh 'o''clock' a, zzzz"

12 o'clock PM, Pacific Daylight Time

"K:mm a, z"

0:08 PM, PDT

"yyyyy.MMMMM.dd GGG hh:mm aaa"

02012.July.24 AD 12:08 PM

"EEE, d MMM yyyy HH:mm:ss Z"

Wed, 24 Jul 2012 12:08:56 -0700

"yyMMddHHmmssZ"

120724120856-0700

"yyyy-MM-dd'T'HH:mm:ss.SSSZ"

2012-07-04T12:08:56.235-0700

Syslogアペンダの有効化

監査メッセージを一カ所で集中管理するには、Syslogアペンダを使用します。加えて、Syslogサーバは災害発生時に優れたバックアップサポートを提供します。

Syslogアペンダを有効にするには、xdasxconfig.propertiesファイルに次の変更を加えます。

  1. 次のエントリをSに変更して、Syslogアペンダをアタッチします。

    log4j.rootLogger=debug, S

  2. 次のエントリをコメントアウトします。

    log4j.appender.S=org.apache.log4j.net.SyslogAppender
    log4j.appender.S.Host=localhost
    log4j.appender.S.Port=port
    log4j.appender.S.Protocol=UDP
    log4j.appender.S.SSLCertFile=/etc/opt/novell/mycert.pem
    #log4j.appender.S.Threshold=INFO
    #log4j.appender.S.Facility=USER
    #log4j.appender.S.layout=org.apache.log4j.PatternLayout
    #log4j.appender.S.layout.ConversionPattern=%c : %p%m%n
  3. iManagerにログインして、ログイベントを変更します。XDASイベントの設定方法については、監査するXDASイベントの設定を参照してください。

メモ:SyslogAppenderに対してUDPプロトコルを使用するXDASキャッシングは機能しません。

Syslog SSL接続用の証明書の生成

Syslog接続用の証明書を生成するには:

  1. 次のOpenSSLコマンドを使用して証明書を作成します。

    openssl s_client -host LOG_SERVER  -port 1443 -showcerts
  2. /etc/opt/novell/eDirectory/conf/xdasconfig.propertiesファイルで作成した証明書ファイルの場所を指定します。

ローリングファイルアペンダの有効化

監査ソリューションが個別のサーバに制限されている場合は、ファイルアペンダをお勧めします。また、このソリューションは、セットアップするコンポーネントの数が少なく立ち上げが容易なため、デモンストレーションに向いています。

ローリングファイルアペンダを有効にするには、xdasconfig.propertiesファイルに次の変更を加えます。

  1. 次のエントリをRに変更して、ローリングファイルアペンダをアタッチします。

    log4j.rootLogger=debug, R

  2. 次のエントリをコメントアウトします。

    log4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=/var/opt/novell/eDirectory/log/xdas-events.log
    log4j.appender.R.MaxFileSize=100MB
    log4j.appender.R.MaxBackupIndex=10
    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=%d{MMM dd HH:mm:ss} %c : %p%m%n
  3. iManagerから必要なイベントを選択します。

    XDASイベントの設定方法については、監査するXDASイベントの設定を参照してください。

監査用のXDASの設定

iManagerプラグインを使用したXDASの設定

  1. 次のURLを使用してWebブラウザからiManagerを開きます。

    https://ip_address_or_DNS/nps/iManager.html

    ここで、ip_address_or_DNSは、iManagerサーバのIPアドレスまたはDNS名を指しています。

    次に例を示します。

    http://111.111.1.1/nps/iManager.html
  2. 自分のユーザ名とパスワードを使用してログインします。

    NetIQ iManagerのすべての機能を利用するには、管理者としてツリーにログインします。管理者ユーザだけが、すべての機能への完全アクセス権を持っています。管理者ユーザ以外は、権利が割り当てられている役割にのみアクセスできます。

    詳細については、『 NetIQ iManager管理ガイド』を参照してください。

  3. [役割およびタスク]>[監査の環境設定]を選択します。

  4. [NCPサーバ]にeDirectoryサーバの名前を指定してから、[オブジェクトセレクタ]アイコンをクリックしてeDirectoryサーバをブラウズします。

  5. OKをクリックします。

    [XDAS監査]ページが表示されます。XDASの設定に進みます。

監査するXDASイベントの設定

  1. ユーザ名とパスワードを使用してiManagerにログインします。

  2. [役割およびタスク]>[監査の環境設定]を選択します。

  3. [XDAS]タブを選択します。

  4. XDASイベントを設定します。

    • 基本イベント環境設定: 環境に必要なイベントに基づいて、次のオプションの値を指定します。

      メモ:デフォルトでは、[基本イベント環境設定]セクションの下に個々のイベントカテゴリが折りたたまれます。個々のイベントを選択するには、各カテゴリを展開できます。

      オプション

      説明

      アカウント管理イベント

      ログに記録するアカウント管理イベントを選択します。アカウントの作成、削除、有効化、無効化のイベントに加えて、アカウントの照会や変更に関するイベントをログに記録します。

      トラスト管理イベント

      ログに記録するイベントのトラスト管理イベントを選択します。トラストを作成、削除、照会、および変更するイベントをログに記録します。

      アカウントデータイベント

      ログに記録するイベントのアカウントデータイベントを選択します。データ項目を作成および削除したり、データ項目の属性を変更および照会したりするイベントをログに記録します。

      セキュリティイベント

      ログに記録するイベントのアカウントセキュリティイベントを選択します。アクセスの付与または取り消し、ログイン、パスワード変更、および照会のイベントをログに記録します。このイベントセットは、eDirectoryシステムにおける不正侵入者を検出するためにも役立ちます。

    • 詳細: 環境に必要なイベントに基づいて、次のオプションの値を指定します。

      • Global: 重複したエントリのグローバル設定を選択またはクリアすることができます。

        • 複製されたイベントを送信しない: 他のサーバからの複製に起因する重複イベントの受信を停止する場合にこのオプションを選択します。

      • ログイベントの値: イベントがテキストファイルに記録されます。サイズが768バイトを超えるイベントの値が「大きい値」と見なされます。どんなサイズのイベントでもログに記録できます。

        • 大きい値をログに記録: このオプションは、サイズが768バイトを超えるイベントをログに記録する場合に選択します。

        • 大きい値をログに記録しない: このオプションを選択して、サイズが768バイトより小さいイベントをログに記録します。

        メモ:イベントサイズがこのサイズを超えている場合は、イベントの値が切り詰められてログファイルに保存されます。

    • 高度なイベント環境設定: 環境に必要なイベントに基づいて、次のオプションの値を指定します。

    オプション

    説明

    サービスまたはアプリケーション管理イベント

    ログに記録するサービスまたはアプリケーション管理イベントを選択します。サービスを有効にする、無効にする、起動する、終了するイベントをログに記録します。

    オペレーショナルイベント

    ログに記録するオペレーショナル管理イベントを選択します。システムを開始およびシャットダウンするイベント、データストアをバックアップおよびリストアするイベント、内部オペレーションを監査したり、プロセスのコンテキストを変更したりするイベントをログに記録します。

    対応するXDASイベントにマッピングされたeDirectoryの内部イベントについては、eDirectoryイベントとXDASイベントのマッピングを参照してください。

    メモ:イベントを選択してから、NCPサーバ上で設定変更が有効になるまで最大3分かかります。NCPサーバ上で設定変更をすぐに実装するには、xdasauditdsモジュールをアンロードしてからロードします。

モジュールのロードとアンロード

XDASイベントを設定したら、次のコマンドを実行して、XDASモジュールをロードまたはアンロードします。

ndsdサーバの起動時に自動的にxdasauditdモジュールをロードするには:

  • Linux

    xdasauditdsを/etc/opt/novell/eDirectory/conf/ndsmodules.confファイルに追加します。

  • Windows

    ndscons.exeを実行して、使用可能なモジュールのリストから[xdasauditds]を選択し、[スタートアップ]をクリックしてから、起動のタイプに[自動]を選択します。

xdasauditdsモジュールを手動でロードまたはアンロードするには:

  • Linux

    ロードするには、ndstrace -c "xdasauditds"を実行します。

    アンロードするには、ndstrace -c "unload xdasauditds"を実行します。

  • Windows

    ロードするには、ndscons.exeを実行して、使用可能なモジュールのリストから[xdasauditds]を選択し、[開始]をクリックします。

    アンロードするには、ndscons.exeを実行して、使用可能なモジュールのリストから[xdasauditds]を選択し、[停止]をクリックします。

NMASをインストールしてNMAS監査を有効にした場合は、NMASサーバが自動的にXDASライブラリをロードします。

XDASイベントキャッシングの有効化

eDirectory 9.2では、必要に応じて、XDASイベントをエージェントのSyslogアペンダキャッシュにローカルに保存することができます。イベントをキャッシュに保存することにより、エージェントが監査サーバと通信できない場合にも、生成された監査イベントが保持され、監査データが消失しないように守られます。エージェントコンピュータが監査サーバと再び通信できるようになると、エージェントは、キャッシュに保存されたイベントの再送信を試みます。

XDASのイベントキャッシングはデフォルトでは無効となっています。イベントキャッシングを有効にするには、次の手順を実行します。

  1. エージェントコンピュータで、XDASプロパティファイルの場所に移動します。xdasconfig.propertiesファイルは、デフォルトで、/etc/opt/novell/eDirectory/conf/xdasconfig.propertiesに配置されています。非ルートインストールでは、XDASプロパティファイルがデフォルトでconfディレクトリに配置されます。

  2. テキストエディタを使用してxdasconfig.propertiesファイルを開きます。

  3. プロパティファイル内で、log4j.appender.S.CacheEnabledプロパティに移動して、このプロパティ値をyesに変更します。

  4. (状況によって実行)特定のディレクトリでイベントをキャッシュに保存する場合は、そのディレクトリパスを指すようにlog4j.appender.S.CacheDirプロパティの値を変更します。ディレクトリを指定する場合は、そのディレクトリパスがサーバ上の有効な場所であることを確認します。log4j.appender.S.CacheDirプロパティが設定されていないと、Syslog Appenderによって、特定のインスタンスのdibディレクトリにキャッシュイベントのログが記録されます。

  5. (状況によって実行)キャッシュのカスタムファイルサイズを指定する場合は、log4j.appender.S.CacheMaxFileSizeプロパティの値を変更します。デフォルト値は500MBです。最小値は50MBで、最大値は4GBです。

  6. xdasconfig.propertiesファイルを保存して閉じます。

XDASイベントのコレクタの使用

XDASイベントを収集するためのコレクタの使用方法については、Sentinelプラグインのページを参照してください。

XDAS監査イベントのフィルタリングについて

XDASは、フィルタとイベント通知を使用して、特定のタイプのイベントが発生したとき、または、発生しなかったときにレポートを作成できます。1つまたは複数の固有オブジェクトクラスまたは属性のイベントを、イベントタイプに応じてフィルタ処理することもできます。XDASは、生成されたすべてのイベントをeDirectoryサーバで設定済みのフィルタに照らして評価し、それらのフィルタに一致するイベントのみをログに記録します。

XDASアカウント、XDASトラスト、およびXDASデータ項目のフィルタとイベント通知を設定できます。XDASアカウントとトラストの場合、選択したオブジェクトクラスはそれぞれのイベントカテゴリにマッピングされます。たとえば、アカウントのフィルタに[ユーザ]クラスを選択すると、このクラスは自動的にアカウント管理イベントカテゴリにマップされます。デフォルトでは、アカウントやトラストにマップされないオブジェクトクラスは、データ項目管理イベントカテゴリにマップされます。

このセクションでは、システムフィルタと通知の設定に必要な情報を提供します。

XDASアカウント管理イベントのフィルタリング

アカウント用のフィルタリングを設定して、特定のイベントのみを検索することができます。たとえば、誰かがeDirectoryでユーザアカウントを作成したら通知が届くようにするには、新しいユーザオブジェクトの作成に関するイベントをログに記録するため、ユーザオブジェクトクラスを選択するフィルタを作成できます。

アカウントフィルタリングを設定するには、[アカウント管理イベント]リンクをクリックして、クラスを選択してから、[OK]をクリックしてアプリケーションを終了します。

アカウント管理イベントのフィルタを設定するには:

  1. iManagerで、[役割およびタスク]>[eDirectoryの監査]>[監査の環境設定]に移動します。

  2. 監視するNCPサーバを選択してから、[OK]をクリックします。

    デフォルトで、[XDASイベント]タブが選択されています。

  3. [アカウント管理イベント]をクリックします。

    [XDASアカウント環境設定フィルタリング]ウィンドウが表示されます。

  4. [使用可能なクラス]リストで、任意のオブジェクトクラスを選択して、右矢印をクリックして対象オブジェクトクラスを[選択されたクラス]リストに移動し、[OK]をクリックします。デフォルトでは、[構成員]、[人物]、[ユーザ]のオブジェクトクラスが選択されます。

  5. [使用可能な属性]リストで、選択したオブジェクトクラスの属性を任意の数だけ選択します。属性を選択し、右矢印をクリックしてその属性を選択された属性のリストに追加します。

    アカウント管理イベントのフィルタが設定されます。

設定済みのフィルタを使用して、XDAS監査モジュールは選択済みオブジェクトクラスと属性に関して生成されたイベントすべてをチェックし、それらのイベントをログに記録します。

XDASトラスト管理イベントのフィルタリング

[トラスト管理イベント]リンクをクリックし、トラスト管理イベントのフィルタを設定します。たとえば、誰かがeDirectoryで新しいトラストを作成したら通知が届くようにするには、新しいトラストの作成に関するイベントをログに記録するため、グループオブジェクトクラスを選択するフィルタを作成できます。

トラスト管理イベントのフィルタを設定するには:

  1. iManagerで、[役割およびタスク]>[eDirectoryの監査]>[監査の環境設定]に移動します。

  2. 監視するNCPサーバを選択してから、[OK]をクリックします。

    デフォルトで、[XDASイベント]タブが選択されています。

  3. [トラスト管理イベント]をクリックします。

    [XDASトラスト環境設定フィルタリング]ウィンドウが表示されます。

  4. [使用可能なクラス]リストで、イベントを収集するオブジェクトクラスを選択し、右矢印をクリックしてそれらを[選択されたクラス]リストに移動します。デフォルトでは、[dynamicGroup]、[dynamicGroupAux]、[グループ]、[LDAPグループ]、[職種]オブジェクトクラスが選択されています。

  5. [使用可能な属性]リストで、選択したオブジェクトクラスの属性を任意の数だけ選択します。属性を選択し、右矢印をクリックしてその属性を選択された属性のリストに追加します。

    メモ:オブジェクトクラスを選択すると、そのオブジェクトクラスのすべての属性のトラストイベントすべてが選択されます。この場合は、選択したオブジェクトクラスのすべての属性に関するすべてのトラスト管理イベントを取得することになります。

  6. [OK]をクリックします。

フィルタを設定すると、XDAS監査モジュールはすべての選択済みオブジェクトクラスと属性に関して生成されたイベントすべてをチェックし、それらのイベントをログに記録します。

XDASデータ項目管理イベントのフィルタリング

[データ項目管理イベント]リンクをクリックし、XDASデータ項目のフィルタを設定します。XDASイベントを収集するオブジェクトのXDASデータ項目を設定できます。オブジェクトクラスを選択し、それらの属性を設定できます。

データ項目管理イベントのフィルタを設定するには:

  1. iManagerで、[役割およびタスク]>[eDirectoryの監査]>[監査の環境設定]に移動します。

  2. 監視するNCPサーバを選択してから、[OK]をクリックします。

    デフォルトで、[XDASイベント]タブが選択されています。

  3. [データ項目管理イベント]をクリックします。

    [XDASデータ環境設定フィルタリング]ウィンドウが表示されます。

  4. [使用可能なクラス]リストで、イベントを収集するオブジェクトクラスを選択し、右矢印をクリックしてそれらを[選択されたクラス]リストに移動します。デフォルトでは、アカウントやトラストにマップされないオブジェクトクラスは、データ項目管理イベントカテゴリにマップされます。

    メモ:オブジェクトクラスが選択されていない場合は、すべての使用可能なオブジェクトクラスのイベントが生成されます。

  5. [使用可能な属性]リストで、選択したオブジェクトクラスの属性を任意の数だけ選択します。属性を選択し、右矢印をクリックしてその属性を選択された属性のリストに追加します。

  6. [OK]をクリックします。

設定済みのフィルタを使用して、XDAS監査モジュールはすべての選択済みオブジェクトクラスと属性に関して生成されたイベントをチェックし、それらのイベントをログに記録します。

除外フィルタを使用したeDirectoryイベントのフィルタリング

[除外フィルタ]リンクをクリックして、イベントを生成する必要がないオブジェクトクラスと属性のためのフィルタを設定します。オブジェクトクラスを選択し、それらの属性を設定できます。

不要なeDirectoryイベントのフィルタを設定するには:

  1. iManagerで、[役割およびタスク]>[eDirectoryの監査]>[監査の環境設定]に移動します。

  2. 監視するNCPサーバを選択してから、[OK]をクリックします。

    デフォルトで、[XDASイベント]タブが選択されています。

  3. [除外リスト]をクリックします。

    [XDAS除外フィルタリング]ウィンドウが表示されます。

  4. [使用可能なクラス]リストで、イベントを収集しないオブジェクトクラスを選択し、右矢印をクリックしてそれらを[選択されたクラス]リストに移動します。

  5. [使用可能な属性]リストで、選択したオブジェクトクラスの属性を任意の数だけ選択します。属性を選択し、右矢印をクリックしてその属性を選択された属性のリストに追加します。

  6. [OK]をクリックします。

設定済みのフィルタを使用して、XDAS監査モジュールは、すべての選択済みオブジェクトクラスと属性に関するイベントの生成を停止します。

XDASスキーマ

XDASスキーマは、次のように定義されます。

XDAS JSONスキーマ

{
    "id":"XDAS",
    "title":"XDAS Version 2 JSON Schema",
    "description":"A JSON representation of an XDAS event record.",
    "type":"objectr",
    "properties":{
      "Source":{
        "description":"The original source of the event, if applicable.",
        "type":"string",
        "optional":true
      },
      "Observer":{
        "description":"The recorder (ie., the XDAS service) of the event.",
        "type":"object",
        "optional":false,
        "properties":{
          "Account":{"$ref":"account"},
          "Entity":{"$ref":"entity"}
        }
      },
      "Initiator":{
        "description":"The authenticated entity or access  that causes an event.",
        "type":"object",
        "optional":false,
        "properties":{
          "Account":{"$ref":"account","optional":true},
          "Entity":{"$ref":"entity"},
          "Assertions":{
            "description":"Attribute/value assertions about an identity.",
            "type":"object",
            "optional":true
          }
        }
      },
      "Target":{
        "description":"The target object, account, data item, etc of the event.",
        "type":"object",
        "optional":true,
        "properties":{
          "Account":{"$ref":"account"},
          "Entity":{"$ref":"entity"},
          "Data":{                           
            "description":"A set attribute/value pairs describing the target object.",        * 
            "type":"object",        
            "optional":true
          }  
        }
      },
      "Action":{
        "description":"The action describes the event in a uniform manner.",
        "type":"object",
        "optional":false,
        "properties":{
          "Event":{
            "description":"The event identifier in standard XDAS taxonomy.",
            "type":"object",
            "optional":false,
            "properties":{
              "Id":{
                "description":"The XDAS taxonomy event identifier.",
                "type":"string",
                "optional":false,
                "pattern":"/^[0-9]+(\.[0-9]+)*$/" 
              },
              "Name":{
                "description":"A short descriptive name for the specific event.", eg. a new replica is added 
                "type":"string",
                "optional":true
              },
      "CorrelationID":{
          "description":"Correlation ID, source#uniqueID#connID",
                 "type":"string",
                 "optional":true
      }
     },
     "SubEvent":{
      "type":object
      "description": "Describes the actual domain specific event that has occured.",
      "optional":true,
      "properties":{
        "Name"":{
                    "description":"A short descriptive name for this event.",
                    "type":"string",
                    "optional":true
                  },
      }
            }  
          }
          "Log":{
            "description":"Client-specified logging attributes.",
            "optional":true,
            "properties":{
              "Severity":{"type":"integer", "optional":true},
              "Priority":{"type":"integer", "optional":true},
              "Facility":{"type":"integer", "optional":true}
            }
          }
          "Outcome":{
            "description":"The XDAS taxonomy outcome identifier.",
            "type":"string",
            "optional":false,
            "pattern":"/^[0-9]+(\.[0-9]+)*$/"
          }
          "Time":{
            "description":"The time the event occurred.",
            "type":"object",
            "optional":false,
            "properties":{
              "Offset":{
                "description":"Seconds since Jan 1, 1970.",
                "type":"integer"
              },
              "Sequence":{
                "description":"Milliseconds since last integral second.",
                "type":"integer",
                "optional":true
              },
              "Tolerance":{
                "description":"A tolerance value in milliseconds.",
                "type":"integer",
                "optional":true
              },
              "Certainty":{
                "description":"Percentage certainty of tolerance.",
                "type":"integer",
                "optional":true,
                "minimum":0,
                "maximum":100,
                "default":100,
              },
              "Source":{
                "description":"The time source (eg., ntp://time.nist.gov).",
                "type":"string",
                "optional":true
              },
              "Zone":{
                "description":"A valid timezone symbol (eg., MST/MDT).",
                "type":"string",
                "optional":true
              }
            }
      "ExtendedOutcome":{
            "description":"The XDAS taxonomy outcome identifier.",
            "type":"string",
            "optional":false,
            "pattern":"/^[0-9]+(\.[0-9]+)*$/"
           }
        }
      }
    }
  },
  {
    "id":"account",
    "description":"A representation of an XDAS account.",
    "type":"object",
    "properties":{
      "Domain":{
        "description":"A (URL) reference to the authority managing this account.",    /* lets take it as the partition?
        "type":"string"
      },
      "Name":{
        "description":"A human-readable account name.",        - DN
        "type":"string",
        "optional":true
      },
      "Id":{
        "description":"A machine-readable unique account identifier value.",  - EntryID
        "type":"integer"
      }
    }
  },
  {
    "id":"entity",                    - Server details for Target, client address details for the initiator
    "description":"A representation of an addressable entity.",
    "type":"object",
    "properties":{
      "SysAddr":{"type":"string","optional":true},  
      "SysName":{"type":"string","optional":true},
      "SvcName":{"type":"string","optional":true},
      "SvcComp":{"type":"string","optional":true},
    }
  }

XDASフィールドの定義

スキーマ内のこれらのフィールドは、XDAS監査イベント用に定義されたフィールドです。これらのフィールドの一部または全部が他のタイプのイベントに関係している場合もありますが、監査サービスにはこの種の情報が不可欠です。XDAS JSONレコードフォーマットはオープンです。つまり、新しいフィールドは、それがXDAS標準で監査用に定義されたフィールド値と競合しない限り、レコードの任意の場所に追加することができます。そのため、特定のワークフローまたはクライアントセッション内のイベント間の相関データポイントとして使用可能なワークフロー識別子やセッション識別子などの特定のタイプの相関データが存在する場合は、それらのフィールドを追加することができます。フィールドの競合していない名前を選択するだけです。

表 23-3 XDASフィールドの定義

XDASフィールド

説明

Source (オプション)

イベントのソースは、そのイベントが最初に定義されてからXDASイベントに変換された別のシステムのイベントサービスを示します。多くのイベントはXDASクライアントによって直接生成されるため、sourceフィールドはオプションです。

Initiator

イベントのイニシエータは、イベントの作成を最初に呼び出した認証済みのエンティティです。イニシエータは識別する必要がないことに注意してください。エンティティが識別できない場合は(その場合はおそらくエンティティがログインを試みて、オブザーバによるログインイベントの生成を引き起こしている可能性があります)、イベントの発生元に関する情報をできるだけ多く指定する必要があります。注: ログインイベントの特殊なケースでは、ログイン試行が成功するまで、イニシエータの認証された識別情報が判明しない場合があります。そのため、失敗したログインイベントがターゲットアカウントのIDをイニシエータのIDとして提供しないようにする必要があります。

イニシエータは、アカウントとエンティティ(以下参照)だけでなく、オプションのアサーションセットによっても記述されます。これらのアサーションでは、名前と値のペアのセットによって、イニシエータの識別情報の属性が記述されます。一部のイニシエータは、特定のアカウントから認識されず、アクターの権限を記述するアサーションのセット(SAML2など)から認識されます。アサーションは、クラスによって異なるうえ、個々のオブジェクトによっても異なる可能性があるため、これらのアサーションに対してはスキーマは定義されません。

アクション

アクションは記録されるイベントを識別します。このフィールドには、XDASイベント識別子だけでなく、結果コード(成功または失敗クラス)とイベントの発生時刻が、できるだけ正確に示されます。

イベント

eventフィールドは、XDASイベントにとって重要なフィールドです。イベントは、分類識別子と人が判読可能な短い記述名をカプセル化します。

ID

イベントIDコードは、XDAS標準のイベント分類で定義されたイベント識別子と、Novell CSS製品で定義された拡張子を表します。

名前

イベント名は、イベント識別子を表す、人が読んで理解できる名前です。イベント名はオプションですが、理解しやすいものにするために指定することが勧められています。

Data

イベントデータは、イベントに関する追加の記述的情報を提供します。

ログ

logフィールドには、標準のsyslogに似たログレベルの値が、SeverityとFacilityの数値識別子として格納されます。logフィールドと、logフィールド内のすべてのサブフィールドはオプションです。これらの値は、インスツルメンタの一部に対する判定を表すことが多いため、必要な場合以外は使用しないでください。このような判定は、イベントデータの収集後に、分析ソフトウェアやエンジニアに委ねることをお勧めします。

Outcome

結果コードの詳細については、結果コードを参照してください。

時刻

イベント時刻は、イベントがイベントサービスにコミットされた時点で、オブザーバによって記録された時間です。時刻の値は、XDASクライアントヘルパーライブラリで収集されます。ヘルパーライブラリはできるだけ正確に時刻情報を生成することを試みるので、このフィールドに格納された値について懸念する理由はありません。

オフセット

offsetフィールドには、1970年1月1日午前0時(Linuxエポックとも呼ばれる)以降の秒数を表す値が格納されます。

シーケンス

sequenceフィールドには、あるイベントと、同じ秒内に記録された別のイベントを区別する固有の数値が格納されます。大抵の場合、この値は、0から始まり、次の秒境界に向かって単調に増加していく数値と見なすことができます。秒境界に達したところでまた0から再出発します。

トレランス

許容値は、0~100の値で、offsetで時間を記録するために使用されるクロックの許容誤差を表します。0の値は、クロックが極めて正確なことを表します。100の値は、クロックを信頼すべきではないことを表します。

Certainty

確実性の値は、0~100の値で、許容値の確実性をパーセンテージで表したものです。0は、許容値の確実性がないこと、つまり、正確さの点で少しも信頼できないことを意味します。100の値は、許容値が極めて正確であることを意味します。

ソース

タイムソースは、オブザーバシステムの時間のソースを示す情報です。これは、タイムサーバのURLにすることも、単にハードウェアクロックなどのローカルタイムソースにすることもできます。

ゾーン

タイムゾーンは、このクロックのタイムゾーンを表す新しいタイムゾーン文字列です。

Target (オプション)

イベントのターゲットは、イニシエータが処理しようとしてイベントの生成が誘発されるアカウントまたは保護されたリソースです。ターゲットは、アカウントとエンティティ(下記参照)だけでなく、オプションの不特定のデータオブジェクトによっても記述されます。データオブジェクトは、アクターのクラス固有の属性を表す名前と値のペアのセットです。スキーマでは実際のフィールドは定義されません。これは、クラスごとに固有なデータ属性のセット(もしあれば)が割り当てられるためです。

Observer

イベントのオブザーバは、システムを監視して、イニシエータのアクションに基づいてイベントを生成するエンティティ(サービス)の認証されたIDです。オブザーバは、アカウントとエンティティ(下記参照)によって記述されます。

Referenced Classes

observer、initiator、およびtargetの各フィールドには、スキーマ内で別々に定義されたアカウントクラスとエンティティクラスへの参照が格納されます。これ以外のクラスは、監査イベント内の3つのプライマリアクターのキー属性を識別します。

Account Class

アカウントクラスは、アクターのIDを表します。このIDは、認証レルムまたはドメインに関連します。アカウント名とアカウントIDの両方が提供されますが、実際に必要なのはIDだけです。名前は、人が理解できるようにするために提供されます。

Account Domain

アカウントドメインは、アクターの認証局を定義します。認証局がなければ、アカウント識別子にはほとんど意味がありません。

アカウント名

アカウント名はオプションです。これは、それが何かを人が理解するために役立ちます。

アカウントID

アカウントIDは、認証ドメイン内のアカウントの固有の識別子です。

Entity Class

エンティティクラスは、アクターの場所を記述します。この場所は、システムアクセスエンドポイント(IPネットワーク)アドレスとシステムアクセスエンドポイント(ホスト/ドメイン)名によって定義されます。上記エンドポイントを管理するソフトウェア内のサービス名とコンポーネント名を記述するための別のフィールドも使用できます。

Entity SysAddr

ソフトウェアアクターのアクセスエンドポイントを記述したIPアドレスです。このIPアドレスは「IPアドレス:ポート」として表示されます。次に例を示します。

  • IPv4: 194.99.188.103:34564

  • IPv6: [2015::15]:43333

内部イベントIPアドレスは0.0.0.0:0として表示されることに注意してください。

Entity SysName

ソフトウェアアクターのアクセスエンドポイントを表すホスト/ドメイン名です。

Entity SvcName

上記エンドポイントを管理するサービスをさらに詳しく表すサービス名です。

Entity SvcComp

上記サービス内のコンポーネントを表すサービスコンポーネント名です。

結果コード

結果コードは、イベントコードによく似た階層数値です。結果コードは、成功または失敗クラスと理由を表します。成功階層は、0.x sub-arcでカプセル化されます。失敗クラスは、1.x階層で表現されます。拒否コードは、2.x階層で表現されます。

イベントの例

イベントの例を以下に示します。

Mar 16 21:46:40 eDirectory : INFO {"Source" : "eDirectory#DS","Observer" : {"Account" : {"Domain" : "TREEUPGRADE","Name" : "CN=SLE12-142,O=novell"},"Entity" : {"SysAddr" : "164.99.179.142","SysName" : "SLE12-142"}},"Initiator" : {"Account" : {"Domain" : "TREEUPGRADE","Name" : "CN=SLE12-142,O=novell"},"Entity" : {"SysAddr" : "164.99.179.142:43230"}},"Target" : {"Data" : {"ClassName" : "Tree Root","Name" : "TREEUPGRADE","Version" : "2"}},"Action" : {"Event" : {"Id" : "0.0.3.2","Name" : "QUERY_DATA_ITEM_ATTRIBUTE","CorrelationID" : "eDirectory#5#","SubEvent" : "DSE_LIST_PARTITIONS"},"Time" : {"Offset" : 1489681000},"Log" : {"Severity" : 7},"Outcome" : "0","ExtendedOutcome" : "0"}}

XDASイベント

XDASイベントについて詳しくは、セクション H.0, eDirectoryイベントとXDASイベントのマッピング を参照してください。

XDASのトラブルシューティング

インストールと設定に関する問題のトラブルシューティングの詳細については、XDASのトラブルシューティングを参照してください。