23.2 XDASv2を使った監査

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

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

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

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

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

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

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

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

  • XDASv2サービスが実行されているプラットフォームに依存しない共通の監査フォーマットを提供します。

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

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

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

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

23.2.1 XDASv2の設定

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

  • 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の製品ページを参照してください。

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

XDASv2用の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にログインします。

    iManagerでは、権限が割り当てられた役割にのみアクセスできます。NetIQ iManagerのすべての機能へのフルアクセス権を持つためには、管理者権利を持つユーザとしてツリーにログインする必要があります。

    詳細については、『NetIQ iManager Administration Guide』を参照してください。

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

  4. XDAS環境設定のアップグレード]リンクをクリックします。

    iManagerに、アップグレードプロセスに関する警告メッセージが表示されます。

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

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

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

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

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

Windows

<Install Path>/novell/nds/xdasconfig
 

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

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

iManagerをインストールしたら、XDASを設定できます。XDAS環境設定は、単純なテキストベースのxdasconfig.properties環境設定ファイルに保存されます。このファイルは個人の要件に合わせてカスタマイズすることができます。

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

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

# 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=no
# Cache location directory
# Directory should be available for creating cache files
#log4j.appender.S.CacheDir=C:\\Novell\\NDS
# 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

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イベントの設定を参照してください。

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

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

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

    openssl s_client -host LOG_SERVER  -port 1443 -showcerts
    
  2. 作成した証明書を/etc/opt/novell/eDirectory/conf/xdasconfig.propertiesファイルにコピーします。

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

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

ローリングファイルアペンダを有効にするには、xdasxconfig.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イベントの設定を参照してください。

XDASv2の監査の設定

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

  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 Administration Guide』を参照してください。

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

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

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

    XDASv2の監査ページが表示されます。セクション 23.2.1, XDASv2の設定に進みます。

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

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

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

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

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

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

      • 複製されたイベントを送信しない: このオプションは、eDirectoryに対するログインなどの重複したエントリを受け取らないようにする場合に選択します。

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

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

      • 大きい値をログに記録しない: このオプションを選択して、サイズが768バイトより小さいイベントをログに記録します。イベントサイズがこのサイズを超えている場合は、イベントの値が切り詰められてログファイルに保存されます。

    • コンポーネント: XDASv2イベントを設定するためのコンポーネントとして次のいずれかまたは両方を選択できます。

      • DS: eDirectoryオブジェクトを指定します。DSオブジェクトごとに、対応するLDAPオブジェクトが存在します。

      • LDAP: LDAPオブジェクトを指定します。

        メモ:XDASイベントに対して詳細なレベルでDSコンポーネントとLDAPコンポーネントを選択できます。選択されたイベントに基づいて、そのイベントに対してサポートされている適切なコンポーネントが選択されます。たとえば、[アカウントの削除]イベントを選択した場合は、[DS]コンポーネントと[LDAP]コンポーネントが選択されます。

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

      オプション

      説明

      アカウント管理イベント

      ログに記録するアカウント管理イベントを選択します。アカウントを作成、削除、有効化、無効化したり、アカウントセキュリティトークンを変更したりするイベントをログを記録します。

      セッション管理イベント

      ログに記録するセッション管理イベントを選択します。セッションを作成、終了、および変更するイベントをログに記録します。

      データ項目またはリソースエレメント管理イベント

      ログに記録するデータ項目またはリソースエレメント管理イベントを選択します。データ項目を作成および削除したり、データ項目の属性を変更および照会したりするイベントをログに記録します。

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

      ログに記録するサービスまたはアプリケーション管理イベントを選択します。サービスを有効化および無効化するイベントをログに記録します。

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

      ログに記録するサービスまたはアプリケーション利用イベントを選択します。サービスを開始および終了したり、プロセスコンテキストを変更したりするイベントをログに記録します。

      ピアの関連付け管理イベント

      ログに記録するピアの関連付けイベントを選択します。ピアの関連付けを作成および終了するイベントをログに記録します。

      データ項目またはリソースエレメントコンテンツアクセスイベント

      ログに記録するデータ項目またはリソースエレメントコンテンツアクセスイベントを選択します。データ項目の関連付けを作成、終了、および変更するイベントをログに記録します。

      役割管理イベント

      ログに記録する役割管理イベントを選択します。eDirectoryオブジェクトの属性またはオブジェクトを作成、削除、問い合わせ、および変更するイベントをログに記録できます。

      例外管理イベント

      ログに記録する例外管理イベントを選択します。システムを開始およびシャットダウンしたり、データストアをバックアップおよび回復したりするイベントをログに記録します。

      認証管理イベント

      ログに記録する認証管理イベントを選択します。セッションを認証したり、アクセストークンを作成したりするイベントをログに記録します。

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

      ログに記録するオペレーショナル管理イベントを選択します。eDirectoryオペレーションIDを生成するイベントをログに記録します。

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

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

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

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

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サーバが自動的にXDASv2ライブラリをロードします。

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

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

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

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

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

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

  4. 特定のディレクトリでイベントをキャッシュに保存する場合は、そのディレクトリパスを指すようにlog4j.appender.S.CacheDirプロパティの値を変更します。デフォルトのパスは/var/opt/novell/eDirectoryです。ディレクトリを指定する場合は、そのディレクトリパスがサーバ上の有効な場所であることを確認します。指定したパスが存在しない場合、Syslogアペンダはデフォルトの場所にイベントを記録します。

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

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

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

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

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

XDASv2は、フィルタとイベント通知を使用して、特定のタイプのイベントが発生したとき、または、発生しなかったときにレポートを作成できます。1つまたは複数の固有オブジェクトクラスまたは属性に対し、イベント種類に応じて、イベントをフィルタ処理することができます。XDASv2は、eDirectoryサーバ上に設定されたフィルタに照らして生成されたすべてのイベントを評価し、それらのフィルタと一致するイベントのみを記録します。複数のフィルタがXDASv2イベントを別々にフィルタします。たとえば、特定のオブジェクトクラスと1つ以上の属性の両方に対するフィルタリングが設定されている場合、XDASv2はそのオブジェクトクラスに対して設定されたフィルタのみと一致するイベントを記録します。XDASv2が特定のオブジェクトクラスと特定の属性のイベントのみをクライアントに送信するようにフィルタリングを設定することはできません。XDASv2イベントをフィルタするオブジェクトクラスまたは属性は複数選択できます。

XDASv2アカウントとXDASv2役割用のフィルタとイベント通知を設定することができます。

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

XDASv2アカウントのフィルタリング

アカウント用のフィルタリングを設定して、特定のイベントのみを検索することができます。たとえば、誰かがeDirectoryでユーザアカウントを作成したときに通知を受け取りたい場合は、ユーザオブジェクトを作成してそれらを記録する「オブジェクト作成」イベントだけを検索するフィルタを作成することができます。

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

アカウント管理イベントでは、オブジェクトクラスに対するフィルタしか設定できないことに注意してください。

ユーザオブジェクトを作成してそれらのイベントを記録するイベントのフィルタを設定するには:

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

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

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

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

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

  4. 使用可能なクラス]リストで、[ユーザ]を選択して、右矢印をクリックして[ユーザ]を[選択されたクラス]リストに移動し、[OK]をクリックします。

    「アカウント作成」イベントのフィルタが設定されます。

このフィルタが設定されている場合、XDASv2は生成されたすべてのイベントをチェックしてユーザ生成イベントを探し、それらのイベントを記録します。

XDASv2役割のフィルタリング

役割管理イベント]リンクをクリックして、XDASv2役割のフィルタリングを設定します。XDASv2イベントを収集するオブジェクトのXDASv2役割を設定することができます。オブジェクトクラスを選択し、それらの属性を設定できます。

XDASロールのフィルタリングを設定するには:

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

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

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

  3. 役割管理イベント]をクリックします。

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

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

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

    メモ:オブジェクトクラスを選択した場合は、一部の属性のみを選択していたとしても、そのオブジェクトクラスの全属性の全役割イベントが選択されます。特定の属性のみを指定する場合は、オブジェクトクラスは選択せずに、それらの属性のみを選択する必要があります。この場合は、すべてのオブジェクトクラスに関する選択された属性のすべての役割イベントが表示されます。

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

このフィルタが設定されている場合、XDASv2は生成されたすべてのイベントをチェックしてその属性のイベントを探し、それらのイベントを記録します。

XDASv2スキーマ

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

XDAS V2 JSONスキーマ

{
    "id":"XDASv2",
    "title":"XDAS Version 2 JSON Schema",
    "description":"A JSON representation of an XDASv2 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 XDASv2 service) of the event.",
        "type":"object",
        "optional":false,
        "properties":{
          "Account":{"$ref":"account"},
          "Entity":{"$ref":"entity"}
        }
      },
      "Initiator":{
        "description":"The authenticated entity or access token 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 XDASv2 taxonomy.",
            "type":"object",
            "optional":false,
            "properties":{
              "Id":{
                "description":"The XDASv2 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 XDASv2 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 XDASv2 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フィールドの定義

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

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

XDASフィールド

説明

Source (オプション)

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

Initiator

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

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

アクション

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

イベント

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

ID

イベントIDコードは、XDASv2標準のイベント分類で定義されたイベント識別子と、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階層で表現されます。

イベントの例

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

Sep 12 14:51:26 eDirectory : INFO {"Source" : "eDirectory#DS","Observer" : {"Account" : {"Domain" : "DEMOTREE","Name" : "CN=demo-host,O=org"},"Entity" : {"SysAddr" : "192.168.0.15","SysName" : "demo-host"}},"Initiator" : {"Account" : {"Domain" : "DEMOTREE"},"Entity" : {"SysAddr" : "192.168.0.10:18408"}},"Target" : {"Data" : {"Name" : "CN=demo-host,O=org"}},"Action" : {"Event" : {"Id" : "0.0.2.2","Name" : "QUERY_DATA_ITEM_ATTRIBUTE","CorrelationID" : "eDirectory#5#","SubEvent" : "DSE_DSA_READ"},"Time" : {"Offset" : 1378977686},"Log" : {"Severity" : 7},"Outcome" : "0","ExtendedOutcome" : "0"}}

XDASv2イベント

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

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

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