各監査トークンにはトークンの種類識別子と、そのあとにトークン固有のデータが続いています。次の表は、各トークンの名前と簡単な説明の一覧です。廃止されたトークンは、以前の Solaris リリースとの互換性のために維持されています。
|
次のトークンは廃止されました。
liaison
host
tid
廃止されたトークンについては、そのトークンが含まれていたリリースの参照資料を参照してください。
監査レコードは常に、監査トレール内で監査レコードの始まりを示す header トークンで始まります。ユーザーの動作に起因するイベントの場合、subject と process トークンは、イベントを発生させたプロセスの値を参照します。ユーザーに起因しないイベントの場合、process トークンはシステムを参照します。
acl トークンでは、ZFS ファイルシステムのアクセス制御エントリ (ACE) に関する情報を記録する際と、レガシー UFS ファイルシステムのアクセス制御リスト (ACL) に関する情報を記録する際とで、別々の形式が使用されます。
acl トークンが UFS ファイルシステムに対して記録される場合、praudit コマンドでは、フィールドは次のように表示されます。
<acl type="1" value="root" mode="6"/>
acl トークンが ZFS データセットに対して記録される場合、praudit コマンドでは、フィールドは次のように表示されます。
<acl who="root" access_mask="default" flags="-i,-R" type="2"/>
argument トークンには、システムコールへの引数に関する情報、つまり、システムコールの引数の数、引数の値、および省略可能な説明が含まれています。このトークンを使用すると、監査レコード内で 32 ビット整数のシステムコール引数を指定できます。
praudit コマンドでは、argument トークンのフィールドは次のように表示されます。
<argument arg-num="2" value="0x5401" desc="cmd"/>
attribute トークンには、ファイル vnode からの情報が含まれています。
attribute トークンには通常、path トークンが付いています。attribute トークンはパスの検索中に生成されます。パス検索エラーが発生すると、必要なファイル情報を取得するための vnode が利用できません。このため、attribute トークンは監査レコードの一部として組み込まれません。praudit コマンドでは、attribute トークンのフィールドは次のように表示されます。
<attribute mode="20620" uid="root" gid="tty" fsid="0" nodeid="9267" device="108233"/>
cmd トークンは、コマンドに割り当てられた引数のリストおよび環境変数のリストを記録します。
praudit コマンドでは、cmd トークンのフィールドが表示されます。次に示す例は、切り詰められた cmd トークンです。行は、表示の都合上、折り返して記載されています。
<cmd><arge>WINDOWID=6823679</arge> <arge>COLORTERM=gnome-terminal</arge> <arge>...LANG=C</arge>...<arge>HOST=machine1</arge> <arge>LPDEST=printer1</arge>...</cmd>
exec_args トークンは、exec() システムコールへの引数を記録します。
praudit コマンドでは、exec_args トークンのフィールドは次のように表示されます。
<exec_args><arg>/usr/bin/sh</arg><arg>/usr/bin/hostname</arg></exec_args>
exec_env トークンは、exec() システムコールの現在の環境変数を記録します。
praudit コマンドでは、exec_env トークンのフィールドが表示されます。次の例では、表示の都合上、行が折り返して記載されています。
<exec_env><env>_=/usr/bin/hostname</env> <env>LANG=C</env><env>PATH=/usr/bin</env> <env>LOGNAME=jdoe</env><env>USER=jdoe</env> <env>DISPLAY=:0</env><env>SHELL=/bin/csh</env> <env>HOME=/home/jdoe</env><env>PWD=/home/jdoe</env><env>TZ=US/Pacific</env> </exec_env>
file トークンは、古い監査ファイルが終了した時点で、新しい監査ファイルの開始と古い監査ファイルの終了をマークする特殊なトークンです。最初の file トークンは、監査証跡の前のファイルを特定します。最後の file トークンは、監査証跡の次のファイルを特定します。これらのトークンは、連続した監査ファイルを 1 つの監査トレールにまとめて「リンク」します。
praudit コマンドでは、file トークンのフィールドが表示されます。次の例では、表示の都合上、行が折り返して記載されています。
<file iso8601="2009-04-08 14:18:26.200 -07:00"> /var/audit/machine1/files/20090408211826.not_terminated.machine1</file>
fmri トークンは、障害管理リソースインジケータ (FMRI) の使用を記録します。詳細は、fmri(5) のマニュアルページを参照してください。
praudit コマンドでは、fmri トークンの内容は次のように表示されます。
<fmri service_instance="svc:/system/cryptosvc"</fmri>
group トークンは、プロセスの資格からグループエントリを記録します。group トークンは、group 監査ポリシーオプションがアクティブなときにだけ出力されます。
praudit コマンドでは、group トークンのフィールドは次のように表示されます。
<group><gid>staff</gid><gid>other</gid></group>
header トークンは、監査レコードの開始を示すという意味で、特殊なトークンです。trailer トークンとの組み合わせでレコード内のほかのすべてのトークンを囲む特殊なトークンです。
まれに、header トークンに 1 つまたは複数のイベント修飾子が含まれている場合があります。
header,52,2,system booted,na,mach1,2011-10-10 10:10:20.564 -07:00
header,120,2,exit(2),sp,mach1,2011-10-10 10:10:10.853 -07:00
praudit コマンドでは、header トークンは次のように表示されます。
header,756,2,execve(2),,machine1,2010-10-10 12:11:10.209 -07:00
praudit コマンドでは、header トークンのフィールドは監査レコードの先頭に表示されます。次の例では、表示の都合上、行が折り返して記載されています。
<record version="2" event="execve(2)" host="machine1" iso8601="2010-10-10 12:11:10.209 -07:00">
ip address トークンには、インターネットプロトコルアドレス (IP アドレス) が含まれています。IP アドレスは、IPv4 または IPv6 の形式で表示できます。IPv4 アドレスは 4 バイトを使用します。IPv6 アドレスは、1 バイトを使って種類を記述し、さらに 16 バイトを使ってアドレスを記述します。
praudit コマンドでは、ip address トークンの内容は次のように表示されます。
<ip_address>machine1</ip_address>
ip port トークンには、TCP または UDP ポートアドレスが含まれています。
praudit コマンドでは、ip port トークンは次のように表示されます。
ip port,0xf6d6
ipc トークンには、呼び出し元が特定の IPC オブジェクトを識別するために使用する System V IPC メッセージハンドル、セマフォーハンドル、または共有メモリーハンドルが含まれています。
IPC オブジェクト識別子は、監査トークンの、コンテキストに依存しない性質に準拠していません。IPC オブジェクトを一意に識別するグローバルな「名前」はありません。代わりに、IPC オブジェクトはハンドルで識別されます。これらのハンドルは、IPC オブジェクトの動作中にのみアクティブです。しかし IPC オブジェクトの識別は問題となりません。System V の IPC メカニズムはあまり使用されず、すべてのメカニズムが同じ監査クラスを共有するからです。
次の表は、IPC オブジェクトの形式フィールドに指定できる値の一覧です。値は /usr/include/bsm/audit.h ファイル内で定義されます。
|
praudit コマンドでは、ipc トークンのフィールドは次のように表示されます。
<IPC ipc-type="shm" ipc-id="15"/>
IPC_perm トークンには、System V IPC アクセス権のコピーが含まれています。このトークンは、IPC 共有メモリーイベント、IPC セマフォーイベント、および IPC メッセージイベントによって生成される監査レコードに追加されます。
praudit コマンドでは、 IPC_perm トークンのフィールドが表示されます。次の例では、表示の都合上、行が折り返して記載されています。
<IPC_perm uid="jdoe" gid="staff" creator-uid="jdoe" creator-gid="staff" mode="100600" seq="0" key="0x0"/>
値は、IPC オブジェクトに関連付けられた IPC_perm 構造から取り出されます。
path トークンには、オブジェクトのアクセスパス情報が含まれています。
praudit コマンドでは、path トークンの内容は次のように表示されます。
<path>/export/home/srv/.xsession-errors</path>
path_attr トークンには、オブジェクトのアクセスパス情報が含まれています。アクセスパスは、path トークンオブジェクトの下の属性ファイルオブジェクトのシーケンスを指定します。openat() などのシステムコールは、属性ファイルにアクセスします。属性ファイルオブジェクトについての詳細は、fsattr(5) のマニュアルページを参照してください。
praudit コマンドでは、path_attr トークンは次のように表示されます。
path_attr,1,attr_file_name
privilege トークンは、プロセス上での特権の使用を記録します。privilege トークンは、基本セットの特権に対して記録されません。特権が管理者の処理により基本セットから削除された場合、その特権の使用は記録されます。特権の詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の プロセス権管理を参照してください。
praudit コマンドでは、privilege トークンのフィールドが表示されます。
<privilege set-type="Inheritable">ALL</privilege>
process トークンには、シグナルの受信者など、プロセスに関連付けられたユーザーに関する情報が含まれています。
praudit コマンドでは、process トークンのフィールドが表示されます。次の例では、表示の都合上、行が折り返して記載されています。
<process audit-uid="-2" uid="root" gid="root" ruid="root" rgid="root" pid="567" sid="0" tid="0 0 0.0.0.0"/>
return トークンには、システムコールの戻りステータス (u_error) とプロセスの戻り値 (u_rval1) が含まれています。
return トークンは、必ずシステムコールに関してカーネルによって生成される監査レコードの一部として返されます。アプリケーションの監査中、このトークンは終了ステータスとその他の戻り値を返します。
praudit では、システムコールの return トークンは次のように表示されます。
return,failure: Operation now in progress,-1
praudit コマンドでは、return トークンのフィールドは次のように表示されます。
<return errval="failure: Operation now in progress" retval="-1/">
sequence トークンには、シーケンス番号が含まれています。シーケンス番号は、監査レコードが監査トレールに組み込まれるたびに 1 ずつ増分します。sequence トークンは、seq 監査ポリシーオプションがアクティブなときにだけ出力されます。このトークンはデバッグに使用されます。
praudit コマンドでは、sequence トークンの内容は次のように表示されます。
<sequence seq-num="1292"/>
socket トークンには、インターネットソケットを記述する情報が含まれています。場合によっては、このトークンにリモートポートとリモート IP アドレスのみが含まれていることがあります。
praudit コマンドでは、socket トークンのインスタンスは次のように表示されます。
socket,0x0002,0x83b1,localhost
拡張されたトークンによって、ソケットの種類やローカルポートなどの情報が追加されます。
praudit コマンドでは、socket トークンのインスタンスは次のように表示されます。次の例では、表示の都合上、行が折り返して記載されています。
<socket sock_domain="0x0002" sock_type="0x0002" lport="0x83cf" laddr="example1" fport="0x2383" faddr="server1.Subdomain.Domain.COM"/>
subject トークンは、ある操作を実行するユーザーまたは実行を試みるユーザーを記述します。形式は process トークンと同じです。
subjectトークンは、必ずシステムコールに関してカーネルによって生成される監査レコードの一部として返されます。praudit コマンドでは、subject トークンは次のように表示されます。
subject,jdoe,root,root,root,root,1631,1421584480,8243 65558 machine1
praudit コマンドでは、subject トークンのフィールドが表示されます。次の例では、表示の都合上、行が折り返して記載されています。
<subject audit-uid="jdoe" uid="root" gid="root" ruid="root" rgid="root" pid="1631" sid="1421584480" tid="8243 65558 machine1"/>
text トークンには、テキスト文字列が含まれています。
praudit コマンドでは、text トークンの内容は次のように表示されます。
<text>booting kernel</text>
header と trailer の 2 つのトークンは、監査レコードの始端と終端を区別し、ほかのすべてのトークンを囲むという意味で、特殊なトークンです。header トークンは監査レコードを開始します。trailer トークンは監査レコードを終了します。trailer トークンはオプションのトークンであり、trail 監査ポリシーオプションが設定されているときにだけ、各レコードの最後のトークンとして追加されます。
トレーラが有効になっている監査レコードが生成された場合、auditreduce コマンドは、trailer がレコードヘッダーを正しくポイントしているかどうかを検証できます。また、trailer トークンを使用すると監査トレールを逆方向に検索できます。
praudit コマンドでは、trailer トークンが次のように表示されます。
trailer,136
use of authorization トークンは、承認の使用を記録します。
praudit コマンドでは、use of authorization トークンは次のように表示されます。
use of authorization,solaris.role.delegate
use of privilege トークンは、特権の使用を記録します。
praudit コマンドでは、use of privilege トークンのフィールドは次のように表示されます。
<use_of_privilege result="successful use of priv">proc_setid</use_of_privilege>
user トークンは、ユーザー名とユーザー ID を記録します。このトークンは、ユーザー名が呼び出し側と異なる場合に存在します。
praudit コマンドでは、user トークンのフィールドは次のように表示されます。
<user uid="123456" username="tester1"/>
xclient トークンには、X サーバーへのクライアント接続の数が含まれています。
praudit コマンドでは、xclient トークンの内容は次のように表示されます。
<X_client>15</X_client>
zonename トークンは、監査イベントが発生したゾーンを記録します。文字列「global」は、大域ゾーンで発生した監査イベントを示します。
praudit コマンドでは、zonename トークンの内容は次のように表示されます。
<zone name="graphzone"/>