Go to main content
Oracle® Solaris 11.3 での監査の管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

監査トークンの形式

各監査トークンにはトークンの種類識別子と、そのあとにトークン固有のデータが続いています。次の表は、各トークンの名前と簡単な説明の一覧です。廃止されたトークンは、以前の Solaris リリースとの互換性のために維持されています。

表 8  監査のための監査トークン
トークン名
説明
詳細
acl
アクセス制御エントリ (ACE) とアクセス制御リスト (ACL) の情報
arbitrary
書式情報と型情報が付いたデータ
audit.log(4) のマニュアルページ
argument
システムコールの引数値
attribute
ファイル vnode の情報
cmd
コマンド引数と環境変数
exec_args
exec システムコールの引数
exec_env
exec システムコールの環境変数
exit
プログラム終了情報
audit.log(4) のマニュアルページ
file
監査ファイル情報
fmri
フレームワーク管理リソースインジケータ
group
プロセスグループ情報
header
監査レコードの始まりを示します
ip
IP ヘッダー情報
audit.log(4) のマニュアルページ
ip address
インターネットアドレス
ip port
インターネットポートアドレス
ipc
System V IPC 情報
IPC_perm
System V IPC オブジェクトアクセス情報
opaque
構造化されていないデータ (形式が未指定)
audit.log(4) のマニュアルページ
path
パス情報
path_attr
アクセスパス情報
privilege
特権設定情報
process
プロセス情報
return
システムコールのステータス
sequence
シーケンス番号
socket
ソケットの種類とアドレス
subject
サブジェクト情報 (process と同じ形式)
text
ASCII 文字列
trailer
監査レコードの終わりを示します
use of authorization
承認の使用
use of privilege
特権の使用
user
ユーザー ID とユーザー名
xclient
X クライアント ID
zonename
ゾーンの名前
Trusted Extensions トークン
label と X Window System の情報

    次のトークンは廃止されました。

  • liaison

  • host

  • tid

廃止されたトークンについては、そのトークンが含まれていたリリースの参照資料を参照してください。

監査レコードは常に、監査トレール内で監査レコードの始まりを示す header トークンで始まります。ユーザーの動作に起因するイベントの場合、subjectprocess トークンは、イベントを発生させたプロセスの値を参照します。ユーザーに起因しないイベントの場合、process トークンはシステムを参照します。

acl トークン

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 トークン

argument トークンには、システムコールへの引数に関する情報、つまり、システムコールの引数の数、引数の値、および省略可能な説明が含まれています。このトークンを使用すると、監査レコード内で 32 ビット整数のシステムコール引数を指定できます。

praudit コマンドでは、argument トークンのフィールドは次のように表示されます。

<argument arg-num="2" value="0x5401" desc="cmd"/>

attribute トークン

attribute トークンには、ファイル vnode からの情報が含まれています。

attribute トークンには通常、path トークンが付いています。attribute トークンはパスの検索中に生成されます。パス検索エラーが発生すると、必要なファイル情報を取得するための vnode が利用できません。このため、attribute トークンは監査レコードの一部として組み込まれません。praudit コマンドでは、attribute トークンのフィールドは次のように表示されます。

<attribute mode="20620" uid="root" gid="tty" fsid="0" nodeid="9267" device="108233"/>

cmd トークン

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_args トークンは、exec() システムコールへの引数を記録します。

praudit コマンドでは、exec_args トークンのフィールドは次のように表示されます。

<exec_args><arg>/usr/bin/sh</arg><arg>/usr/bin/hostname</arg></exec_args>

注 - exec_args トークンは、argv 監査ポリシーオプションが有効なときにだけ出力されます。

exec_env トークン

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>

注 - exec_env トークンは、arge 監査ポリシーオプションが有効なときにだけ出力されます。

file トークン

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) の使用を記録します。詳細は、fmri(5) のマニュアルページを参照してください。

praudit コマンドでは、fmri トークンの内容は次のように表示されます。

<fmri service_instance="svc:/system/cryptosvc"</fmri>

group トークン

group トークンは、プロセスの資格からグループエントリを記録します。group トークンは、group 監査ポリシーオプションがアクティブなときにだけ出力されます。

praudit コマンドでは、group トークンのフィールドは次のように表示されます。

<group><gid>staff</gid><gid>other</gid></group>

header トークン

header トークンは、監査レコードの開始を示すという意味で、特殊なトークンです。trailer トークンとの組み合わせでレコード内のほかのすべてのトークンを囲む特殊なトークンです。

    まれに、header トークンに 1 つまたは複数のイベント修飾子が含まれている場合があります。

  • fe は監査イベントが失敗したことを示す

  • fp は特権の使用に失敗したことを示す

  • na はユーザーに起因しないイベントを示す

    header,52,2,system booted,na,mach1,2011-10-10 10:10:20.564 -07:00
  • rd はデータがオブジェクトから読み取られることを示す

  • sp は特権の使用に成功したことを示す

    header,120,2,exit(2),sp,mach1,2011-10-10 10:10:10.853 -07:00
  • wr はデータがオブジェクトに書き込まれることを示す

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 address トークンには、インターネットプロトコルアドレス (IP アドレス) が含まれています。IP アドレスは、IPv4 または IPv6 の形式で表示できます。IPv4 アドレスは 4 バイトを使用します。IPv6 アドレスは、1 バイトを使って種類を記述し、さらに 16 バイトを使ってアドレスを記述します。

praudit コマンドでは、ip address トークンの内容は次のように表示されます。

<ip_address>machine1</ip_address>

ip port トークン

ip port トークンには、TCP または UDP ポートアドレスが含まれています。

praudit コマンドでは、ip port トークンは次のように表示されます。

ip port,0xf6d6

ipc トークン

ipc トークンには、呼び出し元が特定の IPC オブジェクトを識別するために使用する System V IPC メッセージハンドル、セマフォーハンドル、または共有メモリーハンドルが含まれています。

IPC オブジェクト識別子は、監査トークンの、コンテキストに依存しない性質に準拠していません。IPC オブジェクトを一意に識別するグローバルな「名前」はありません。代わりに、IPC オブジェクトはハンドルで識別されます。これらのハンドルは、IPC オブジェクトの動作中にのみアクティブです。しかし IPC オブジェクトの識別は問題となりません。System V の IPC メカニズムはあまり使用されず、すべてのメカニズムが同じ監査クラスを共有するからです。

次の表は、IPC オブジェクトの形式フィールドに指定できる値の一覧です。値は /usr/include/bsm/audit.h ファイル内で定義されます。

表 9  IPC オブジェクトの形式フィールドの値
名前
説明
AU_IPC_MSG
1
IPC メッセージオブジェクト
AU_IPC_SEM
2
IPC セマフォーオブジェクト
AU_IPC_SHM
3
IPC 共有メモリーオブジェクト

praudit コマンドでは、ipc トークンのフィールドは次のように表示されます。

<IPC ipc-type="shm" ipc-id="15"/>

IPC_perm トークン

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 トークン

path トークンには、オブジェクトのアクセスパス情報が含まれています。

praudit コマンドでは、path トークンの内容は次のように表示されます。

<path>/export/home/srv/.xsession-errors</path>

path_attr トークン

path_attr トークンには、オブジェクトのアクセスパス情報が含まれています。アクセスパスは、path トークンオブジェクトの下の属性ファイルオブジェクトのシーケンスを指定します。openat() などのシステムコールは、属性ファイルにアクセスします。属性ファイルオブジェクトについての詳細は、fsattr(5) のマニュアルページを参照してください。

praudit コマンドでは、path_attr トークンは次のように表示されます。

path_attr,1,attr_file_name

privilege トークン

privilege トークンは、プロセス上での特権の使用を記録します。privilege トークンは、基本セットの特権に対して記録されません。特権が管理者の処理により基本セットから削除された場合、その特権の使用は記録されます。特権の詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の プロセス権管理を参照してください。

praudit コマンドでは、privilege トークンのフィールドが表示されます。

<privilege set-type="Inheritable">ALL</privilege>

process トークン

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 トークン

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 トークン

sequence トークンには、シーケンス番号が含まれています。シーケンス番号は、監査レコードが監査トレールに組み込まれるたびに 1 ずつ増分します。sequence トークンは、seq 監査ポリシーオプションがアクティブなときにだけ出力されます。このトークンはデバッグに使用されます。

praudit コマンドでは、sequence トークンの内容は次のように表示されます。

<sequence seq-num="1292"/>

socket トークン

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 トークン

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 トークン

text トークンには、テキスト文字列が含まれています。

praudit コマンドでは、text トークンの内容は次のように表示されます。

<text>booting kernel</text>

trailer トークン

headertrailer の 2 つのトークンは、監査レコードの始端と終端を区別し、ほかのすべてのトークンを囲むという意味で、特殊なトークンです。header トークンは監査レコードを開始します。trailer トークンは監査レコードを終了します。trailer トークンはオプションのトークンであり、trail 監査ポリシーオプションが設定されているときにだけ、各レコードの最後のトークンとして追加されます。

トレーラが有効になっている監査レコードが生成された場合、auditreduce コマンドは、trailer がレコードヘッダーを正しくポイントしているかどうかを検証できます。また、trailer トークンを使用すると監査トレールを逆方向に検索できます。

praudit コマンドでは、trailer トークンが次のように表示されます。

trailer,136

use of authorization トークン

use of authorization トークンは、承認の使用を記録します。

praudit コマンドでは、use of authorization トークンは次のように表示されます。

use of authorization,solaris.role.delegate

use of privilege トークン

use of privilege トークンは、特権の使用を記録します。

praudit コマンドでは、use of privilege トークンのフィールドは次のように表示されます。

<use_of_privilege result="successful use of priv">proc_setid</use_of_privilege>

user トークン

user トークンは、ユーザー名とユーザー ID を記録します。このトークンは、ユーザー名が呼び出し側と異なる場合に存在します。

praudit コマンドでは、user トークンのフィールドは次のように表示されます。

<user uid="123456" username="tester1"/>

xclient トークン

xclient トークンには、X サーバーへのクライアント接続の数が含まれています。

praudit コマンドでは、xclient トークンの内容は次のように表示されます。

<X_client>15</X_client>

zonename トークン

zonename トークンは、監査イベントが発生したゾーンを記録します。文字列「global」は、大域ゾーンで発生した監査イベントを示します。

praudit コマンドでは、zonename トークンの内容は次のように表示されます。

<zone name="graphzone"/>