13.2 正規化ルールファイル

監査ログ収集対象サーバ上のプログラムから出力される監査ログの出力形式を,監査ログ管理データベースに格納できる監査ログの出力形式へ変換するための規則が正規化ルールです。正規化ルールを定義しているファイルを正規化ルールファイルと呼びます。

ここでは,正規化ルールファイルの格納先や定義内容について説明します。

JP1/NETM/Audit - Managerで標準サポート外となっているプログラムの場合でも,正規化ルールファイルとあわせて,製品定義ファイル,動作定義ファイル,および監査ログレポート定義ファイルを作成することによって,監査ログを管理・収集できるようになります。

標準サポート外のプログラムから監査ログを収集する方法については「5.6.1 標準サポート外のプログラムを収集対象とするための準備をする」を参照してください。なお,標準サポートしているプログラムの正規化ルールファイルは編集できません。

<この節の構成>
(1) ファイル名および格納先
(2) 書式
(3) 定義内容
(4) 指定例
(5) 注意事項

(1) ファイル名および格納先

正規化ルールファイル名およびファイルの格納フォルダを次の表に示します。

表13-2 正規化ルールファイル名とファイルの格納フォルダ

項番収集対象ファイル名ファイル格納フォルダ
1
  • Collaboration
  • Cosminexus
  • HiRDB
  • JP1/Base
  • JP1/NETM/Audit - Manager
  • JP1/NETM/CSC
  • JP1/NETM/DM
  • JP1/PFM
  • OpenTP1
  • UNIXのシステムログ
admrglrule_CALFHM.conf※1JP1/NETM/Audit - Managerのインストール先フォルダ¥conf¥rule
2JP1/AJS2admrglrule_JP1_AJS2.conf※2
3標準サポート外のプログラムadmrglrule_任意.conf※3
4正規化ルールエディタで定義するプログラムadmrglrule_AdmConvert.conf※4
注※1
統一フォーマット用の正規化ルールファイルです。
注※2
JP1/AJS2製品ログ用の正規化ルールファイルです。
注※3
JP1/NETM/Audit - Managerで標準サポート外となっているプログラム用として,テキストエディタで作成する正規化ルールファイルです。ファイル名は製品定義ファイルに記述する正規化ルールファイル名と一致させてください。製品定義ファイルについては「13.3 製品定義ファイル」を参照してください。
注※4
正規化ルールエディタで定義するプログラム用の正規化ルールファイルです。Hitachi Storage Command Suite製品ログ用にも適用されます。

(2) 書式

[LOGTYPE]↓
TYPE={KEY|VALUE}↓
SEPARATE={space|comma}↓
SECTION={0|1}↓
LOGSTART=区切り文字の位置
ESCTYPE={0|1|2}↓
FRONTESC=開始記号
REARESC=終了記号
SKIPSPACE={0|1}↓

[正規化パターン]↓
番号=種別:正規化ルール:項目1:項目2:次番号1:次番号2
番号=種別:正規化ルール:項目1:項目2:次番号1:次番号2
番号=種別:正規化ルール:項目1:項目2:次番号1:次番号2

  • 指定値については,表13-3~表13-8を参照してください。
  • 記述行の最後には,必ず改行を記述してください。

(3) 定義内容

[LOGTYPE]および[正規化パターン]で記述する内容についてそれぞれ説明します。

(a) [LOGTYPE]の設定項目

[LOGTYPE]で記述する内容について,次の表に示します。

表13-3 [LOGTYPE]設定項目

項番項目名説明
1[LOGTYPE]定義の始まりを示す[LOGTYPE]を指定します。
2TYPEログの記述形式を指定します。次のどちらかを指定します。
  • KEY:「KEY=値」形式
  • VALUE:「値1,値2・・・」(値の羅列)形式

デフォルト値を次に示します。
  • 統一フォーマット用の正規化ルールファイル
    「KEY」
  • JP1/AJS2用の正規化ルールファイル
    「VALUE」
3SEPARATEログの区切り文字の種別です。次のどちらかを指定します。
  • space:「△」
  • comma:「,」
4SECTIONセクション名を指定します。指定した値によって,次のどちらかを指定します。
  • 0:「PATTERN」
  • 1:監査ログの最初の区切り文字までの文字列がセクション名として使用されます。
5LOGSTARTログの先頭から文字を読み飛ばして,正規化で使用しない文字までの位置を指定します。「0」を指定した場合は,先頭から正規化されます。
6ESCTYPEログ中でエスケープに使用する記号を指定します。次のどれかを指定します。
  • 0:なし(エスケープしないログの場合)
  • 1:「"」
  • 2:「"」以外の記号
なお,前後の文字が同じ場合は,「2」を指定できません。「0」を指定してください。
7FRONTESCESCTYPEが「2」の場合,エスケープに使用する開始記号を指定します。開始記号には,1バイトの文字だけ指定できます。
8REARESCESCTYPEが「2」の場合,エスケープに使用する終了記号を指定します。終了記号には,1バイトの文字だけ指定できます。
9SKIPSPACE連続する複数のスペースを一つのスペースとして処理するかどうかを指定します。SEPARATEがspaceの場合だけ指定し,commaの場合は指定しないでください。
  • 0:複数のスペースのまま処理する
  • 1:一つのスペースとして処理する
注※
FRONTESCとREARESCには同一の文字は指定できません。

(b) 正規化パターン]の設定項目

正規化パターン]で記述する内容について,次に示します。

●[正規化パターン]の各項目の設定値

正規化パターン]の各設定項目での設定値を次の表に示します。

表13-4 正規化パターン]の各項目の設定値

項番番号種別正規化ルール項目1項目2次番号1次番号2「正規化ルール」に「*」を指定したときの「項目1」の範囲
11~の通番CHECK※1「J」判定する項目位置を設定します。真偽を判定する対象となる値判定が真の場合に適用する次の番号判定が偽の場合に適用する次の番号
2AuditLogID※2「-」
TYPE=KEYの場合
KEY名称を設定します。
TYPE=VALUEの場合
項目位置を示す番号を設定します。
×次の番号×
「*」※3値や文字列を設定します。0~9999の整数
3MessageID「-」
TYPE=KEYの場合
KEY名称を設定します。
TYPE=VALUEの場合
項目位置を示す番号を設定します。
×次の番号×
「*」※3値や文字列を設定します。63バイト以内の文字列
4MessageDate「D」
TYPE=KEYの場合
日時を示すKEY名称を設定します。
TYPE=VALUEの場合
日時を示す値の項目位置を示す番号を設定します。
×次の番号×
「UD」※3
TYPE=KEYの場合
日時を示すKEY名称を設定します。
TYPE=VALUEの場合
日時を示す値の項目位置を示す番号を設定します。
任意の日時形式を設定します。
設定値については,表13-7を参照してください。
5ProgramName「-」
TYPE=KEYの場合
KEY名称を設定します。
TYPE=VALUEの場合
項目位置を示す番号を設定します。
×次の番号×
「*」※3値や文字列を設定します。63バイト以内の文字列
6ComponentName「-」
TYPE=KEYの場合
KEY名称を設定します。
TYPE=VALUEの場合
項目位置を示す番号を設定します。
×次の番号×
「*」※3値や文字列を設定します。63バイト以内の文字列
7ProcessID※2「-」
TYPE=KEYの場合
KEY名称を設定します。
TYPE=VALUEの場合
項目位置を示す番号を設定します。
×次の番号×
「*」※3値や文字列を設定します。「-1」
8PlaceInfo「S」※3KEY名称を設定します。×次の番号×
「H」×
「-」
TYPE=KEYの場合
KEY名称を設定します。
TYPE=VALUEの場合
項目位置を示す番号を設定します。
9EventCategoryName※2「-」
TYPE=KEYの場合
KEY名称を設定します。
TYPE=VALUEの場合
項目位置を示す番号を設定します。
×次の番号×
「*」次に示す文字列のどれかを設定します。
  • StartStop
  • Authentication
  • AccessControl
  • ConfigurationAccess
  • Failure
  • LinkStatus
  • ExternalService
  • ContentAccess
  • Maintenance
  • AnomalyEvent
  • ManagementAction
10EventResultName※2「-」
TYPE=KEYの場合
KEY名称を設定します。
TYPE=VALUEの場合
項目位置を示す番号を設定します。
×次の番号×
「*」次に示す文字列のどれかを設定します。
  • Success
  • Failure
  • Occurrence
11SubjectInfo※2「S」※3対応するKEY名称を設定します。×次の番号×
「C」次に示すカテゴリ名のどれかを設定します。
  • "subj:euid":実行ユーザ
  • "subj:uid":アカウント識別子
  • "subj:pid":プロセスID
TYPE=KEYの場合
KEY名称を設定します。
TYPE=VALUEの場合
項目位置を示す番号を設定します。
「*」※3値や文字列を設定します。×「""」
12PeculiarInfo※4「M」※3先頭に配置してデータベースに格納したいKEY名称を設定します。×次の番号×
13「N」項目位置を示す番号を設定します。
(凡例)
×:指定しない。区切りの「:」も指定しない。
-:該当なし
注※1
[LOGTYPE]のTYPEをVALUEに設定した場合だけ指定できます。
注※2
項目1」に次の値を指定した場合,監査ログ管理画面上は空白が表示されます。
・AuditLogID:0
・ProcessID:-1
・EventCategoryName:0
・EventResultName:0
・SubjectInfo:0
注※3
項目に「:」を含む場合は,「項目1」に指定する項目全体を「"」で囲みます。
注※4
PeculiarInfoは,「M」を指定する場合,最後に定義する必要があります。

●[正規化パターン]の設定項目

正規化パターン]の設定項目を次の表に示します。

表13-5 正規化パターン]設定項目

項番項目名説明
1正規化パターン定義の始まりを示す[正規化パターン]を指定します。
SECTIONで指定した値が,0の場合は[PATTERN]を指定します。SECTIONで指定した値が,1の場合は,監査ログの最初の区切り文字までの文字列を正規化パターン名として指定します。
2番号正規化ルールを適用する順番を1からの整数で指定します。
3種別※1正規化の対象となるデータ種別を指定します。指定値を次に示します。
  • CHECK
    判定条件を設定する場合に指定します。[LOGTYPE]のTYPEをVALUEに設定した場合だけ指定できます。
  • AuditLogID
    監査ログの通番を設定する場合に指定します。
  • MessageID
    監査ログのメッセージIDを設定する場合に指定します。
  • MessageDate
    監査ログの発生日時を設定する場合に指定します。
  • ProgramName※2
    監査ログの発生プログラム名を設定する場合に指定します。
  • ComponentName※2
    監査ログの発生コンポーネント名を設定する場合に指定します。
  • ProcessID
    監査ログの発生プロセスIDを設定する場合に指定します。
  • PlaceInfo
    監査ログの発生場所を設定する場合に指定します。
  • EventCategoryName
    監査ログのカテゴリ名を設定する場合に指定します。
  • EventResultName
    監査ログの結果を設定する場合に指定します。
  • SubjectInfo
    監査ログを発生させたユーザ名を設定する場合に指定します。
  • PeculiarInfo※3
    監査ログの詳細情報を設定する場合に指定します。
4正規化ルール正規化のルールを指定します。指定できる値を次に示します。
  • 「J」
    [LOGTYPE]のTYPEがVALUEの場合にだけ指定できます。判定条件を指定する場合に指定します。「J」を指定し,かつ項目1で判定する項目位置を定義すると,定義した項目位置の値を判定します。判定する項目位置に項目2で定義する文字列が存在する場合は真となり,次番号1で定義する値を読み込みます。判定する項目位置に項目2で定義する文字列が存在しない場合は偽となり,次番号2で定義する値を読み込みます。
  • 「-」
    監査ログに存在するKEY名称または項目位置の値を使用する場合に指定します。「-」を指定し,かつ項目1で判定するKEY名称または使用する値の項目位置を定義してください。[LOGTYPE]のTYPEがKEYの場合は,KEY名称を定義します。[LOGTYPE]のTYPEがVALUEの場合は,値の項目位置を定義します。
  • 「*」
    項目1で定義する値または文字列を使用し,データベースへ格納する場合に指定します。値または文字列に「:」が含まれる場合は,項目全体を「"」で囲みます。
  • 「D」
    監査ログに存在するKEY名称または項目位置の値を,日時として使用する場合に指定します。なお,日時として使用する値は,JP1/NETM/Audit - Manager定型の日時形式である必要があります。日時形式については,表13-6を参照してください。KEY名称または項目位置は,項目1で定義します。[LOGTYPE]のTYPEがKEYの場合は,KEY名称を使用します。[LOGTYPE]のTYPEがVALUEの場合は,指定した項目位置の値を使用します。
  • 「UD」
    監査ログに存在するKEY名称または項目位置の値を,日時として使用する場合に指定します。ただし,日時形式を項目2で定義する必要があります。文字列中に「:」を含む場合は,「"」で囲む必要があります。日付形式の設定方法については,表13-7を参照してください。
  • 「H」
    監査ログ収集対象サーバ名を使用し,データベースに格納する場合に指定します。
  • 「S」
    [LOGTYPE]のTYPEがKEYの場合にだけ指定できます。最初に検出したKEY名称の値を利用します。監査ログに複数のKEY名称で出力する場合に,どのKEY名称を使用するかを指定します。複数のKEY名称は項目1で定義します。※4
  • 「C」
    [LOGTYPE]のTYPEがVALUEの場合にだけ指定できます。項目2で指定した項目位置の値を項目1で指定したカテゴリで使用する場合に指定します。項目1でカテゴリの値として指定できる文字列は,「subj:euid(実行ユーザ)」,「subj:uid(アカウント識別子)」,または「subj:pid(プロセスID)」のどれかです。このうちの一つを項目1に指定してください。
  • 「M」
    [LOGTYPE]のTYPEがKEYの場合にだけ指定できます。「M」の前までに使用されていないKEY名称をすべて使用する場合に指定します。使用するデータのうち,先頭に配置してデータベースに格納したいKEY名称は,項目1で指定します。文字列中に「:」を含む場合は,「"」で囲む必要があります。
  • 「N」
    [LOGTYPE]のTYPEがVALUEの場合にだけ指定できます。項目1で指定した位置以降の値のうち,「N」の前までに使用されていないデータをすべて使用する場合に指定します。
5項目1項番4の正規化ルールに設定する値によって指定する情報が変わります。正規化ルールに設定した値の説明に記載されている情報を設定します。
6項目2
7次番号1適用する正規化ルールの次のkey値(項番1)を指定します。最後の正規化ルールの場合は「0」を指定します。
8次番号2
各項目は「:」で区切ります。
注※1
「CHECK」を除いて,すべて必須項目です。
注※2
「ProgramName」は「ComponentName」の前に定義してください。
注※3
「PeculiarInfo」の場合で,かつ正規化ルールでの設定値が「M」または「N」の項目は最後に定義してください。
注※4
種別で「SubjectInfo」を設定し,かつ正規化ルールで「S」を指定した場合の指定例を次に示します。指定例の「n」は番号に指定する値です。
A=SubjectInfo,B=SubjectInfo,またはC=SubjectInfoのどれか一つを含む場合

n:SubjectInfo:S:A,B,C:n+1

●[正規化パターン]の正規化ルールで「D」を指定した場合の日時形式

正規化パターン]の正規化ルールで「D」を指定した場合の,KEY名称または項目位置の記述形式を次の表に示します。なお,KEY名称または項目位置の記述形式はJP1/NETM/Audit - Managerで設定している日時形式と一致している必要があります。

表13-6 「D」を指定した場合の日時形式

項番記述形式記述形式の意味
1TYPE=KEYの場合"YYYY-MM-DDThh:mm:ss.tttTZD"
  • YYYY:年
  • MM:月
  • DD:日
  • hh:時
  • mm:分
  • ss:秒
  • ttt:ミリ秒
  • T:日付と時刻の区切り文字
  • TZD:タイムゾーン指定子
なお,TZDは次のどれかを指定してください。
  • +hh:mm
    UTC(協定世界時)からhh:mmだけ進んでいることを示します。
  • -hh:mm
    UTC(協定世界時)からhh:mmだけ遅れていることを示します。
  • Z
    UTC(協定世界時)と同じことを示します。
なお,半角英数文字を使用してください。
2TYPE=VALUEの場合"YYYY/MM/DD△hh:mm:ss"または"MMM△DD△hh:mm:ss"
  • YYYY:年
  • MM:月
  • DD:日
  • hh:時
  • mm:分
  • ss:秒
  • MMM:英語の月名称の省略形
月名称の省略形は,次のどれかを指定してください。
  • Jan:1月
  • Feb:2月
  • Mar:3月
  • Apr:4月
  • May:5月
  • Jun:6月
  • Jul:7月
  • Aug:8月
  • Sep:9月
  • Oct:10月
  • Nov:11月
  • Dec:12月
なお,複数の項目位置を定義する場合には,「,」で区切ってください。半角英数文字を使用してください。

●[正規化パターン]の正規化ルールで「UD」を指定した場合の日時形式

正規化パターン]の正規化ルールで「UD」を指定した場合に,項目2で定義する設定値について次の表に示します。

設定値を任意に組み合わせて,項目2で任意の日時形式を定義してください。監査ログの日時を示す値が,JP1/NETM/Audit - Managerで設定している日時形式と一致していない場合は,「UD」を指定し,監査ログの日時を示す値に合わせて日時形式を設定します。

表13-7 「UD」を指定した場合に項目2で定義できる設定値

項番項目2で定義する設定値内容設定値と対応する監査ログの値
1%Y西暦を指定します。4けたの数値です。
2%y西暦の下2けたを指定します。2けたの数値です。
なお,数字によって次のように認識します。
  • 数字が70~99の場合
    1970年~1999年と認識します。
  • 数字が00~69の場合
    2000年~2069年と認識します。
3%m月を数字で指定します。01~12または1~12の数値です。
4%B月を英字の正式名で指定します。対応する値を次に示します。なお,文字列の大文字・小文字を区別します。
  • January:1月
  • February:2月
  • March:3月
  • April:4月
  • May:5月
  • June:6月
  • July:7月
  • August:8月
  • September:9月
  • October:10月
  • November:11月
  • December:12月
5%b月を英字の省略名で指定します。対応する値を次に示します。なお,文字列の大文字・小文字を区別します。
  • Jan:1月
  • Feb:2月
  • Mar:3月
  • Apr:4月
  • May:5月
  • Jun:6月
  • Jul:7月
  • Aug:8月
  • Sep:9月
  • Oct:10月
  • Nov:11月
  • Dec:12月
6%d日付を指定します。01~31または1~31の数値です。
7%H時単位の時刻を24時間表記で指定します。00~23または0~23の数値です。
8%I時単位の時刻を12時間表記で指定します。00~11または0~11の数値です。
9%p午前または午後のどちらかを指定します。AMまたはPMです。
10%M分単位の時刻を指定します。00~59または0~59の数値です。
11%S秒単位の時刻を指定します。00~59または0~59の数値です。
12%w曜日を数字で指定します。対応する値を次に示します。
  • 0:日曜日
  • 1:月曜日
  • 2:火曜日
  • 3:水曜日
  • 4:木曜日
  • 5:金曜日
  • 6:土曜日
13%A曜日の英字の正式名で指定します。対応する値を次に示します。なお,文字列の大文字・小文字を区別します。
  • Sunday:日曜日
  • Monday:月曜日
  • Tuesday:火曜日
  • Wednesday:水曜日
  • Thursday:木曜日
  • Friday:金曜日
  • Saturday:土曜日
14%a曜日を英字の省略名で指定します。対応する値を次に示します。なお,文字列の大文字・小文字を区別します。
  • Sun:日曜日
  • Mon:月曜日
  • Tue:火曜日
  • Wed:水曜日
  • Thu:木曜日
  • Fri:金曜日
  • Sat:土曜日
15%GGMT時間(世界標準時間)との時差を分単位で指定します。-720~+720の値の範囲です。
16#文字を読み飛ばしたい場合に指定します。任意の1バイトを表します。
注※
日時を示す値が1文字(0~9)の場合は,「2007/9/11 3:15:10」のように,「/」や「:」などの区切り文字が必要です。

●[正規化パターン]の正規化ルールで「UD」を指定した場合の日時形式の定義例

正規化パターン]の正規化ルールで「UD」を指定した場合の,項目2での定義例を次の表に示します。

表13-8 「UD」を指定した場合の項目2での定義例

項番ログの日時形式項目2の定義例
120070911031510%Y%m%d%H%M%S
220070911031510+150%Y%m%d%H%M%S%G
32007/9/11 03:15:10"%Y/%m/%d %H:%M:%S"
42007/9/11 03:15:10.100"%Y/%m/%d %H:%M:%S####"
52007 September 11 Wednesday 03-15-10%Y %B %d %A %H-%M-%S
62007 Sep 11 Wed 03-15-10%Y %b %d %a %H-%M-%S
72007/09/11 AM 03:15:10"%Y/%m/%d %p %I:%M:%S"
807/09/11 03:15:10"%y/%m/%d %I:%M:%S"
9007/09/11 03:15:10"%3Y/%m/%d %I:%M:%S"
項目2の定義の文字列に「:」が含まれる場合は,文字列全体を「"」で囲んでください。

(4) 指定例

正規化ルールファイルの指定例については「付録D 正規化ルールファイルの作成例」を参照してください。

(5) 注意事項