このトピックでは、NetWitness Suiteグローバル監査ログがサポートするCEF(Common Event Format)メタ キーについて説明します。
Log Decoderで使用するグローバル監査ログ テンプレートを定義する場合は、CEF(Common Event Format)を使用し、次の特定の標準要件を満たす必要があります。
- テンプレートにCEFヘッダーを含める。
- 以下のメタ キーの表にある拡張機能とカスタム拡張機能のみを(キー=値)の形式で使用する。
- 拡張機能とカスタム拡張機能は、key=${string}<space>key=${string}の形式で記述する。
サード パーティのSyslogサーバの場合、任意の形式(CEFまたはCEF以外)で定義できます。
この表に関連する手順については、「グローバル監査ログ テンプレートの定義」と「グローバル監査ログの構成」で説明します。
サポートされるCEF(Common Event Format)メタ キー
次の表では、NetWitness Suiteグローバル監査ログがサポートするCEFSyslogメタ キーについて説明します。SyslogプレフィックスのDatetimeフィールドとHostnameフィールドは、変更不可のためテンプレートに含まれていませんが、デフォルトですべてのログ メッセージの先頭に追加されます。CEFヘッダーは、CEF標準に準拠するために必要で、すべてのCEFParserに必要です。拡張機能とカスタム拡張機能はオプションです。Default Audit CEF Templateには、この表に記載されているフィールドの多くが含まれています。定義するグローバル監査ログ テンプレートに、この表に記載されている任意の拡張機能とカスタム拡張機能を追加できます。
Syslogプレフィックス | | | | |
日時 | 変更不可 | Syslogヘッダーの日時 | event.time.str | Transient |
Hostname | 変更不可 | Syslogヘッダーのホスト名 | alias.host | None |
CEFヘッダー | | CEFヘッダー フィールドは、CEF標準に準拠するために必要で、すべてのCEF Parserに必要です。 | | |
CEF:Version | CEF:0 | CEFヘッダー | --固定-- | N/A |
DeviceVendor | ${deviceVendor} | 製品ベンダー、RSA | - | N/A |
DeviceProduct | ${deviceProduct} | 製品ファミリー。これは常にNetWitness Suite監査です。 | product | Transient |
DeviceVersion | ${deviceVersion} | ホスト/サービス バージョン | version | Transient |
Signature ID | ${category} | 監査イベントの識別子。監査イベントのカテゴリーを指定します。 | event.type | None |
Name | ${operation} | イベントの説明 | event.desc | None |
Severity | ${severity} | 監査イベントの重大度 | severity | Transient |
拡張機能 | | | | |
deviceExternalId | ${deviceExternalId} | 監査イベントを生成しているホストまたはサービスの一意のID | hardware.id | Transient |
deviceFacility | ${deviceFacility} | イベントをSyslogデーモンに書き込むときに使用されるSyslogファシリティ。たとえば、authpriv。 | cs.devfacility | Custom |
deviceProcessName | ${deviceProcessName} | dvcpidに対応する実行可能ファイルの名前 | process | None |
dpt | ${destinationPort} | 宛先ポート | ip.dstport | None |
dst | ${destinationAddress} | 宛先IPアドレス | ip.dst | None |
dvcpid | ${deviceProcessId} | イベントを生成するプロセスのID。つまり、NetWitness SuiteサービスのプロセスID。 | process.id | Transient |
msg | ${text} | 任意のテキスト、補足情報、イベントに関する実際の説明 | msg | Transient |
outcome | ${outcome} | 監査イベントによって実行された操作の結果 | result | Transient |
proto | ${transportProtocol} | 使用されているネットワーク プロトコル | protocol | Transient |
requestClientApplication | ${userAgent} | ページにアクセスしているユーザのブラウザの詳細 | user.agent | Transient |
rt | ${timestamp} | イベントがレポートされた時刻 | event.time | None |
sourceServiceName | ${sourceService} | このイベントを生成したサービス | service.name | Transient |
spt | ${sourcePort} | ソース ポート | ip.srcport | Transient |
spriv | ${userRole} | ユーザへのロール権限の割り当て。たとえば、 admin.owner、appliance.manage、 connections.manage、everyone、logs.manage、services.manage、 storedproc.execute、 storedproc.manage、 sys.manage、users.manage | privilege | Transient |
src | ${sourceAddress} | ソースIPアドレス | ip.src | None |
suser | ${identity} | 監査イベント生成の原因となったログオン ユーザのID | user.dst | None |
カスタム拡張機能 | | | | |
deviceService | ${deviceService} | イベント生成の原因となったサービス | cs.devservice | Custom |
parameters | ${parameters} | APIおよび操作のパラメータ。クエリに関するパラメータが記録される。 | index | Transient |
paramKey | ${key} | 構成アイテム キー。監査イベントの記録対象となる構成パラメータ。 例:/sys/config/stat.interval | cs.key | Custom |
paramValue | ${value} | 構成値。更新時に記録される値です。 | cs.value | Custom |
userGroup | ${userGroup} | ロールの割り当て。次に例を挙げます。 Administrators、Analysts、MalwareAnalysts、 Malware_Analysts、Operators、 PRIVILEGED_CONNECTION_ AUTHORITY、 SOC_Managers | group | None |
referrerURL | ${referrerUrl} | 現在のURLを参照する親URL | URL | Transient |
sessionid | ${sessionId} | セッションまたは接続識別子 | log.session.id | Transient |
注:すべての拡張機能は次の形式で記述します。
deviceProcessName=${deviceProcessName} outcome=${outcome}
値とタグ名の間に<space>を挿入します。
デフォルトでは、すべてのメタ キーがインデックスされているわけではありません。前掲の表では、「Log Decoderのインデックス」列に、flagsキーワードの状態(Transient、None、Custom)が記載されています。キーがTransientに設定されている場合、そのキーはパースされますが、データベースには保存されません。キーがNoneに設定されている場合、そのキーはインデックスされ、データベースに保存されます。「Custom」と示されているキーは、table-map.xmlファイルに存在しないため、保存もパースもされません。
「テーブル マップ ファイルの維持」には、テーブル マッピングを確認し、更新する手順が記載されています。「サービス インデックス ファイルの編集」には、Concentratorでカスタム インデックス ファイルを更新する方法が記載されています。