23.3 CEFによる監査

共通イベント形式(CEF)は、分散システムレベルで複数のコンポーネントからの監査情報をマージしたり分析したりする操作を容易にする標準のイベント形式です。CEF形式では、転送メカニズムとしてSyslogメッセージ形式が使用されます。

CEFは、テキストベースの拡張可能な形式で、オンプレミスのデバイスやクラウドベースのサービスなど、複数のデバイスタイプをサポートするよう設計されています。CEFイベントは、異なるアプリケーションの監査記録を理解しやすくするのに役立ちます。

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

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

  • CEFでは、ログ管理を簡素化する標準メッセージ形式を使用します。

  • 新しいイベントの形式は、Sentinelとシームレスに統合します。

メモ:eDirectory 9.1をIdentity Manager 4.7と併用する場合、CEFとXDASのどちらかの監査モジュールを有効にできます。Identity Managerを以前のバージョンから4.7にアップグレードする場合、eDirectoryでCEFを使用するにはXDAS監査モジュールを無効にします。

この次のセクションでは、eDirectoryでCEFを設定する方法について説明します。

23.3.1 CEFの設定

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

  • Linux

    • novell-edirectory-xdaslog

    • novell-edirectory-xdaslog-conf

    • novell-edirectory-cefinstrument-9.2.0-0.x86_64.rpm

  • Windows

    • cefauditds.dlm

    • xdaslog.dll

このセクションでは、次のトピックについて説明します。

システム要件

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

CEF用のiManagerプラグインのインストール

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

iManagerプラグインをインストールするには:

  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管理ガイド』を参照してください。

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

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

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

表 23-4 CEF環境設定ファイル

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

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

Linux

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

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

Windows

<Install Path>/novell/nds/auditlogconfig.properties
 

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

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

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

CEF auditlogconfig.propertiesファイルには次の情報が含まれています。

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=TCP
# 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: %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/cef-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 %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=SSL

# 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: %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:\\cef-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 %m%n

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

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

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

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

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

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

次の表に、auditlogconfig.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

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

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

log4j.appender.S.Port=port

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

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

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

log4j.appender.S.Protocol=TCP

使用するプロトコルを指定します。たとえば、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/cef-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-5 日付と時刻のパターンの例

日付と時刻のパターン

結果

"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アペンダを有効にするには、auditlogconfig.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=SSL
    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: %m%n 
  3. iManagerにログインして、ログイベントを変更します。CEFイベントの設定方法については、監査するCEFイベントの設定を参照してください。

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

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

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

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

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

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

監査ソリューションが個別のサーバに制限されている場合は、このファイルアペンダをお勧めします。ローリングファイルアペンダはローカルファイルシステムにイベントを格納し、イベントの損失を防止するため、syslogアペンダより信頼性が向上します。また、このソリューションは、セットアップするコンポーネントの数が少なく立ち上げが容易なため、デモンストレーションに向いています。

メモ:CEFにファイルコネクタを使用している場合は、ローリングファイルアペンダの変換パターンが、次のようなSyslogアペンダと同様であることを確認します。

log4j.appender.R.layout.ConversionPattern=%c: %m%n

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

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

    log4j.rootLogger=debug, R

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

    log4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=/var/opt/novell/eDirectory/log/cef-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 %m%n
  3. iManagerから必要なイベントを選択します。

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

監査用のCEFの設定

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

  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をクリックします。

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

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

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

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

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

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

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

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

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

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

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

      • 属性値のログ記録: 属性値を表示するにはこのオプションを選択します。これは、[値の追加]イベントと[値の削除]イベントにのみ適用されます。

      • 属性値をログに記録しない: 属性値を抑止するにはこのオプションを選択します。これは、[値の追加]イベントと[値の削除]イベントにのみ適用されます。デフォルトでは、このオプションが選択されています。

      • 暗号化属性値のログ記録: 暗号化された属性値を表示するにはこのオプションを選択します。これは、[値の追加]イベントと[値の削除]イベントにのみ適用されます。

      • 暗号化属性値をログに記録しない: 暗号化された属性値を抑止するにはこのオプションを選択します。これは、[値の追加]イベントと[値の削除]イベントにのみ適用されます。デフォルトでは、このオプションが選択されています。

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

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

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

      オプション

      説明

      セキュリティイベント

      イベントをログに記録するセキュリティイベントを選択します。メンバーの追加または削除、不正侵入者の検出、パスワード変更、ユーザの認証などのイベントをログに記録できます。

      オブジェクトイベント

      イベントをログに記録するオブジェクトイベントを選択します。オブジェクトの作成、削除、名前変更、移動、検索を行うイベントをログに記録できます。

      属性イベント

      イベントをログに記録する属性イベントを選択します。属性の読み込みと削除、属性値の追加、削除、比較を行うイベントをログに記録できます。

      LDAPイベント

      イベントをログに記録するLDAPイベントを選択します。

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

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

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

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

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

  • Linux

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

  • Windows

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

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

  • Linux

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

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

  • Windows

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

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

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

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

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

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

  2. テキストエディタを使用してauditlogconfig.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. auditlogconfig.propertiesファイルを保存して閉じます。

CEFイベントタイプについて

イベントを次のカテゴリに記録するように、CEFを設定できます。

  • セキュリティ

  • オブジェクト

  • 属性

  • LDAP

次のデフォルトセットのイベントタイプを監査できます。

カテゴリ

イベントタイプ

セキュリティ

  • ACLが変更されました

  • メンバーの追加

  • メンバーの削除

  • 不正侵入者が検出されました

  • ログインが無効化されました

  • ログインが有効化されました

  • ログイン

  • 同等セキュリティの変更

  • 監査の環境設定

  • パスワードの変更

  • アカウントのロック解除

  • ログアウト

  • 接続

  • なりすまし

  • 認証

  • パスワードの確認

  • ログイン環境設定の変更

  • 資格情報の照会

オブジェクト

  • オブジェクトの作成

  • オブジェクトの削除

  • オブジェクトのリネーム

  • オブジェクトの移動

  • DSAの読み取り

  • 検索

属性

  • 属性の読み込み

  • 属性の削除

  • 値の追加

  • 値の削除

  • 属性値の比較

LDAP

  • LDAPバインド

  • LDAPレスポンスのバインド

  • LDAPバインド解除

  • LDAP接続

  • LDAP検索

  • LDAP検索の応答

  • LDAP検索エントリの応答

  • LDAP追加

  • LDAP追加の応答

  • LDAP比較

  • LDAP比較の応答

  • LDAP変更

  • LDAPレスポンスの変更

  • LDAP削除

  • LDAPレスポンスの削除

  • LDAP DNの変更

  • LDAP DNレスポンスの変更

  • LDAP破棄

  • LDAP拡張操作

  • LDAPシステム拡張操作

  • LDAP拡張操作の応答

  • LDAPサーバの環境設定の変更

  • 不明なLDAP操作

  • LDAPパスワードの変更

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

コレクタを使用してCEFイベントを収集する方法について詳しくは、Sentinel Plug-insページのeDirectoryコレクタ資料を参照してください。

CEF監査イベントのフィルタ処理について

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

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

CEFオブジェクトイベントのフィルタリング

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

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

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

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

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

  3. [イベントオブジェクト]をクリックします。

    [CEFオブジェクトフィルタリング]ウィンドウが表示されます。

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

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

CEF属性イベントのフィルタリング

[属性イベント]リンクをクリックして、属性イベントのフィルタを設定します。たとえば、誰かがeDirectoryで新しい属性値を追加したら通知が届くようにするため、新しい値の追加に関するイベントをログに記録するフィルタを作成できます。

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

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

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

  3. [イベント属性]をクリックします。

    [属性フィルタリング]ウィンドウが表示されます。

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

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

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

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

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

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

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

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

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

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

  3. [除外フィルタ]をクリックします。

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

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

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

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

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

CEF実装スキーマ

このドキュメントでは、CEFプロトコルを定義し、標準の実装方法の詳細を記します。ここでは、標準で使用されるヘッダと定義済みの拡張について説明します。

SyslogでのCEFの使用

CEFでは、syslogをトランスポートメカニズムとして使用します。次に示すように、syslogプレフィックス、ヘッダ、および拡張で構成される形式を使用します。

Jan 18 11:07:53 host CEF:Version|Device Vendor|Device Product|Device
Version|Device Event Class ID|Name|Severity|[Extension]

メッセージのCEF:Version部分は、必須のヘッダです。メッセージの残りの部分は、パイプ文字(「|」)で区切られたフィールドを使用してフォーマットします。残りのフィールドはすべて必要で、CEFフィールドの定義に従って定義しなければなりません。

メッセージの拡張部分は他のフィールドのプレースホルダで、必須ではありません。他のフィールドは、キーと値のペアとしてログに記録されます。詳細については、CEFフィールドの定義を参照してください。

CEFフィールドの定義

スキーマ内のこれらのフィールドは、CEF監査イベント用に定義されたフィールドです。これらのフィールドの一部または全部が他のタイプのイベントに関係している場合もありますが、監査サービスにはこの種の情報が不可欠です。

表 23-6 CEFフィールドの定義

CEFフィールド

説明

Device Product

Device Productは、送信元のデバイスを固有に識別する文字列です。2つの製品が、同じデバイス製品のペアを持つことはできません。管理者は、デバイス製品のペアごとに固有の名前を割り当てる必要があります。

Device Version

Device Versionは、送信元のデバイスを固有に識別する文字列です。2つの製品が、同じデバイスバージョンのペアを持つことはできません。管理者は、デバイスバージョンのペアごとに固有の名前を割り当てる必要があります。

Device Vendor

Device Vendorは、送信元のデバイスを固有に識別する文字列です。2つの製品が、同じデバイスベンダーのペアを持つことはできません。管理者は、デバイスベンダーのペアごとに固有の名前を割り当てる必要があります。

Device Event Class ID

Device Event Class IDは、イベントタイプごとの固有のIDです。文字列または整数を指定できます。デバイスイベントクラスIDは、報告されたイベントのタイプを識別します。侵入検知システム(IDS)では、特定の動作を検出する署名または規則ごとに固有のデバイスイベントクラスIDが割り当てられています。これは、他のタイプのデバイスの要件でもあり、イベントを処理するCorrelation Engine instancesでも役立ちます。署名IDとも呼ばれます。

Severity

イベントの重要度を示す、文字列または整数です。有効な文字列値は[不明]、[低い]、[中]、[高い]、[非常に高い]です。有効な整数値は0-3(低い)、4-6(中)、7-8(高い)、9-10(非常に高い)です。

Version

CEF形式のバージョンを示す整数です。イベントコンシューマは、この情報を使用して、その後に続くフィールドが表す内容を判別します。現在のCEFバージョンは0です。

Device Address

IPネットワーク内でイベントが参照するデバイスのアドレスを識別します。形式は、IPv4アドレスです。

c6a1

このディクショナリ内で適用されるフィールドが他にはない場合にフィールドをマップするために利用できる4つのIPV6アドレスフィールドの1つです。

dvchost

形式は、ノードが使用可能なときに、デバイスノードに関連付けられている完全修飾ドメイン名(FQDN)でなければなりません。たとえば、host.domain.comまたはhostです。

rt

アクティビティに関連するイベントの受信時刻です。形式は、MMM dd yyyy HH:mm:ssまたはエポック以降のミリ秒です。

dtz

イベントを生成するデバイスのタイムゾーン。

sourceServiceName

このイベントの生成を担当するサービス。

sproc

イベントのソースプロセスの名前。

src

IPネットワーク内でイベントが参照するソースを識別します。形式は、IPv4アドレスです。たとえば、192.168.10.1。

spt

これは、ソースポート番号です。有効なポート番号は、0から65535です。

shost

IPネットワーク内でイベントが参照するソースを識別します。形式は、ノードが使用可能なときに、ソースノードに関連付けられている完全修飾ドメイン名(FQDN)でなければなりません。たとえば、host.domain.comまたはhost。

suser

名前でソースユーザを識別します。電子メールアドレスも、UserNameフィールドにマップされます。送信者は、sourceUserNameに配置される候補です。

dst

IPネットワークでイベントが参照するあて先アドレスを識別します。形式は、IPv4アドレスです。たとえば、192.168.10.1。

duser

名前で宛先ユーザを識別します。これは、イベントの宛先に関連付けられているユーザです。多くの場合、電子メールアドレスがUserNameフィールドにマップされます。受信者は、destinationUserNameに配置される候補です。

cn1

このディクショナリ内で適用されるフィールドが他にはない場合にフィールドをマップするために利用できる3つの数値フィールドの1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。deviceCustomNumber1とも呼ばれます。

cn2

このディクショナリ内で適用されるフィールドが他にはない場合にフィールドをマップするために利用できる3つの数値フィールドの1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。deviceCustomNumber2とも呼ばれます。

cn3

このディクショナリ内で適用されるフィールドが他にはない場合にフィールドをマップするために利用できる3つの数値フィールドの1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。deviceCustomNumber3とも呼ばれます。

cn1Label

すべてのカスタムフィールドには、フィールド自体を表すことができる対応するラベルフィールドがあります。各フィールドは、そのフィールドの目的を記述する文字列です。deviceCustomNumber1Labelとも呼ばれます。

cn2Label

すべてのカスタムフィールドには、フィールド自体を表すことができる対応するラベルフィールドがあります。各フィールドは、そのフィールドの目的を記述する文字列です。deviceCustomNumber2Labelとも呼ばれます。

cn3Label

すべてのカスタムフィールドには、フィールド自体を表すことができる対応するラベルフィールドがあります。各フィールドは、そのフィールドの目的を記述する文字列です。deviceCustomNumber3Labelとも呼ばれます。

cs1

このディクショナリ内で適用されるフィールドが他にはない場合にフィールドをマップするために利用できる6つの文字列の1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。deviceCustomString1とも呼ばれます。

cs2

このディクショナリ内で適用されるフィールドが他にはない場合にフィールドをマップするために利用できる6つの文字列の1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。deviceCustomString2とも呼ばれます。

cs3

このディクショナリ内で適用されるフィールドが他にはない場合にフィールドをマップするために利用できる6つの文字列の1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。deviceCustomString3とも呼ばれます。

cs4

このディクショナリ内で適用されるフィールドが他にはない場合にフィールドをマップするために利用できる6つの文字列の1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。deviceCustomString4とも呼ばれます。

cs5

このディクショナリ内で適用されるフィールドが他にはない場合にフィールドをマップするために利用できる6つの文字列の1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。deviceCustomString5とも呼ばれます。

cs6

このディクショナリ内で適用されるフィールドが他にはない場合にフィールドをマップするために利用できる6つの文字列の1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。deviceCustomString6とも呼ばれます。

cs1Label

すべてのカスタムフィールドには、フィールド自体を表すことができる対応するラベルフィールドがあります。各フィールドは、そのフィールドの目的を記述する文字列です。deviceCustomString1Labelとも呼ばれます。

cs2Label

すべてのカスタムフィールドには、フィールド自体を表すことができる対応するラベルフィールドがあります。各フィールドは、そのフィールドの目的を記述する文字列です。deviceCustomString2Labelとも呼ばれます。

cs3Label

すべてのカスタムフィールドには、フィールド自体を表すことができる対応するラベルフィールドがあります。各フィールドは、そのフィールドの目的を記述する文字列です。deviceCustomString3Labelとも呼ばれます。

cs4Label

すべてのカスタムフィールドには、フィールド自体を表すことができる対応するラベルフィールドがあります。各フィールドは、そのフィールドの目的を記述する文字列です。deviceCustomString4Labelとも呼ばれます。

cs5Label

すべてのカスタムフィールドには、フィールド自体を表すことができる対応するラベルフィールドがあります。各フィールドは、そのフィールドの目的を記述する文字列です。deviceCustomString5Labelとも呼ばれます。

cs6Label

すべてのカスタムフィールドには、フィールド自体を表すことができる対応するラベルフィールドがあります。各フィールドは、そのフィールドの目的を記述する文字列です。deviceCustomString6Labelとも呼ばれます。

flexString1

このディクショナリ内で適用されるフィールドが他にはない場合に文字列データをマップするために利用できる2つの文字列フィールドの1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。通常これらのフィールドはお客様が使用するために予約されていて、必要がない限りベンダーが設定すべきではありません。

flexString2

このディクショナリ内で適用されるフィールドが他にはない場合に文字列データをマップするために利用できる2つの文字列フィールドの1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。通常これらのフィールドはお客様が使用するために予約されていて、必要がない限りベンダーが設定すべきではありません。

flexString1Label

このディクショナリ内で適用されるフィールドが他にはない場合に文字列データをマップするために利用できる2つの文字列フィールドの1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。通常これらのフィールドはお客様が使用するために予約されていて、必要がない限りベンダーが設定すべきではありません。

flexString2Label

このディクショナリ内で適用されるフィールドが他にはない場合に文字列データをマップするために利用できる2つの文字列フィールドの1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。通常これらのフィールドはお客様が使用するために予約されていて、必要がない限りベンダーが設定すべきではありません。

flexNumber1

このディクショナリ内で適用されるフィールドが他にはない場合にLongデータをマップするために利用できる2つの数値フィールドの1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。通常これらのフィールドはお客様が使用するために予約されていて、必要がない限りベンダーが設定すべきではありません。

flexNumber2

このディクショナリ内で適用されるフィールドが他にはない場合にLongデータをマップするために利用できる2つの数値フィールドの1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。通常これらのフィールドはお客様が使用するために予約されていて、必要がない限りベンダーが設定すべきではありません。

flexNumber1Label

このディクショナリ内で適用されるフィールドが他にはない場合にLongデータをマップするために利用できる2つの数値フィールドの1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。通常これらのフィールドはお客様が使用するために予約されていて、必要がない限りベンダーが設定すべきではありません。

flexNumber2Label

このディクショナリ内で適用されるフィールドが他にはない場合にLongデータをマップするために利用できる2つの数値フィールドの1つです。控えめに使用し、可能な場合にはより具体的なディクショナリ提供フィールドを使用するようにします。通常これらのフィールドはお客様が使用するために予約されていて、必要がない限りベンダーが設定すべきではありません。

cat

元のデバイスが割り当てたカテゴリを表します。多くの場合、デバイスでは独自のカテゴリスキーマを使用してイベントを分類します。deviceEventCategoryとも呼ばれます。たとえば、/Monitor/Disk/Read。

reason

監査イベントが生成された理由。たとえば、不正なパスワードまたは不明ユーザ。エラーや、戻りコードのこともあります。

outcome

通常、成功または失敗などの結果を表示します。eventOutcomeとも呼ばれます。

イベントの例

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

Oct 31 16:29:37 NetIQ CEF:0|NetIQ|eDirectory|9.1|CEF0B035D|AUTHENTICATE|1|dvc=164.99.179.194 dvchost=SLES12SP2-194 rt=Oct 31 2017 16:29:37 dtz=IST sourceServiceName=CN\=SLES12SP2-194,OU\=server,OU\=co,O\=in sproc=eDirectory#DS src=164.99.179.194 spt=0 suser=CN\=admin,OU\=novell,OU\=co,O\=in duser=CN\=admin,OU\=novell,OU\=co,O\=in cs2Label=Class Name cs2=User cs3Label=Tree Name cs3=TEST-CEF-AGN cs4Label=Correlation ID cs4=eDirectory#16# cs6Label=Server Name cs6=CN\=SLES12SP2-194,OU\=server,OU\=co,O\=in flexString2Label=SubEvent flexString2=DSE_AUTHENTICATE flexNumber2Label=Grouping flexNumber2=309 cat=Security reason=0 outcome=Success

CEFイベント

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