Go to main content

マニュアルページ セクション 8: システム管理コマンド

印刷ビューの終了

更新: 2022年7月27日
 
 

auditconfig(8)

名前

auditconfig - configure auditing

形式

auditconfig subcommand...

説明

auditconfig は、カーネル監査パラメータを取得および設定するためのコマンド行インタフェースを提供します。

監査サービスの持続値を取得または設定する場合を除き、この機能を使用できるのは、Oracle Solaris の監査機能が有効になっている場合だけです。

キュー値ゼロ (0) は、システムデフォルトが有効であることを示します。

perzone ポリシーの設定によって、auditconfig で制御される監査設定のスコープが決まります。perzone が設定されている場合、特に記載のないかぎり、値は非大域ゾーンを反映します。それ以外の場合、設定はシステム全体用です。perzone 設定に基づく制限は、適用されるオプションごとに記載されています。

非大域ゾーン管理者は、perzoneahlt 以外のすべての監査ポリシーオプションを設定できます。perzoneahlt は大域ゾーンにのみ適用され、これらのポリシーを設定するには大域ゾーン管理者の特権が必要です。perzoneahlt については、後述の –setpolicy オプションで説明されています。

This command is available to administrators who have been granted the Audit Configuration Rights Profile.

オプション

次のオプションがサポートされています。

–t

監査サービスの永続的な値を表示、設定することなく、実行中システムのアクティブな値だけを表示または設定します。

このオプションは、次のサブコマンドでのみ使用できます。

サブコマンド

–aconf

構成済みの帰属不可能な監査マスク kmask を、構成済みの帰属不可能な監査マスクに設定します。例:

# auditconfig -aconf
Configured non-attributable event mask.
–audit event sorf retval string

このコマンドは、プロセスの監査特性を使用して、テキストトークン string を含む監査イベント event の監査レコードを構築します。リターントークンは、sorf (成功/失敗フラグ) と retval (戻り値) から構築されます。イベントの型は char*sorf は 0/1 (成功/失敗)、retval はエラー番号の値、string の型は *char です。このコマンドは、シェルスクリプトで監査レコードを構築する場合に役立ちます。このオプションの例:

# auditconfig -audit AUE_ftpd 0 0 "test string"
#

audit record from audit trail:
   header,76,2,ftp access,,Fri Dec 08 08:44:02 2000, + 669 msec
   subject,abc,root,other,root,other,104449,102336,235 197121 elbow
   text,test string
   return,success,0
–chkaconf

カーネルに設定された帰属不可能なイベントの構成を、監査サービスで構成されたエントリ (–setnaflags) に基づいてチェックします。カーネル監査イベントのアクティブクラスマスクが構成済みクラスマスクに一致しない場合、不一致が報告されます。

–chkconf

カーネル監査イベント - クラスマッピングの構成をチェックします。カーネル監査イベントの実行時クラスマスクが構成済みクラスマスクに一致しない場合、不一致が報告されます。

–chkmask username|auid flags

Verifies the pre selection mask of the specified username or audit id with the flags for inclusion.The pre selection mask would be the combination of the default system wide default flag combined with the audit flags specified for the user.An error is reported if the flag is not included.

–chktags [filename]

監査タグの定義を確認します。オプションで、確認する定義ファイルを指定できます。ファイルが指定されていない場合、システムタグの定義が使用されます。エラーが見つかった場合、報告されます。詳細は、audit_tags(5) のマニュアルページを参照してください。

–chkuflags username|auid flags

Verifies the pre selection audit flag of the specified username or audit ID, with the specified audit flags for inclusion.An error is reported if the flag is not included.

–conf

カーネル監査イベント - クラスマッピングを構成します。実行時クラスマッピングは、監査イベント - クラスデータベースファイル内のマッピングに一致するように変更されます。

–getasid

現在のプロセスの監査セッション ID を表示します。例:

# auditconfig -getasid
audit session id = 102336
–getaudit

現在のプロセスの監査特性を返します。

# auditconfig -getaudit
audit id = abc(666)
process preselection mask = lo(0x1000,0x1000)
terminal id (maj,min,host) = 235,197121,elbow(172.146.89.77)
audit session id = 102336
annotation = trouble ticket 123456

監査レコードの注釈が存在しない場合、注釈行が表示されません。

–getauid

現在のプロセスの監査 ID を表示します。例:

# auditconfig -getauid
audit id = abc(666)
–getcar

現在のアクティブルートの場所 (システムブート時にルート [または非大域ゾーンルート] からアンカーされている) を表示します。例:

# auditconfig -getcar
current active root = /
–getclass event

指定されたカーネル監査イベントに関連付けられた事前選択マスクを表示します。event はカーネルイベント番号またはイベント名です。

–getcond

カーネル監査の状況を表示します。表示される状況は、監査が有効になっていてオンになっている (カーネル監査モジュールが監査レコードを構築してキューに入れ、監査デーモンが実行されている) ことを意味するリテラル文字列 auditing、監査が有効になっているがオフになっている (カーネル監査モジュールが監査レコードを構築せずキューにも入れず、監査デーモンが実行されていない) ことを意味する noaudit、監査モジュールが有効になっていない (system(5) でモジュールが除外されている) ことを意味する disabled です。詳細は、auditd(8) のマニュアルページを参照してください。

–getestate event

指定されたイベント (文字列またはイベント番号) について、event が割り当てられたクラスを出力します。例:

# auditconfig -getestate 20
audit class mask for event AUE_REBOOT(20) = 0x800
# auditconfig -getestate AUE_RENAME
audit class mask for event AUE_RENAME(42) = 0x30
[–t] –getflags

ユーザーのデフォルト監査事前選択フラグを表示します。

[–t] –getfprivs

AUE_CMD_PRIVS イベントは、各プログラムの実行中に欠落していた特権を記録できます。このオプションは、このような障害をモニターする特権のセットを表示します。デフォルトは「none」です。例:

# auditconfig -getfprivs
configured failed privileges = none
active failed privileges = none
–getkaudit

現在のゾーンの監査特性を取得します。例:

# auditconfig -getkaudit
audit id = unknown(-2)
process preselection mask = lo,na(0x1400,0x1400)
terminal id (maj,min,host) = 0,0,(0.0.0.0)
audit session id = 0

監査ポリシー perzone が設定されていない場合、端末 ID は大域ゾーンのものです。それ以外の場合、非大域ゾーンの端末 ID です。

–getkmask

現在のゾーンの帰属不可能な事前選択マスクを取得します。例:

# auditconfig -getkmask
audit flags for non-attributable events = lo,na(0x1400,0x1400)

監査ポリシー perzone が設定されていない場合、カーネルマスクは大域ゾーンのものです。それ以外の場合、非大域ゾーンのものです。

[–t] –getnaflags

帰属不可能な監査フラグを表示します。

–getpinfo pid

指定されたプロセスの監査 ID、事前選択マスク、端末 ID、監査セッション ID、およびオプションの監査レコードの注釈を表示します。

–getplugin [name]

プラグイン名に関する情報を表示します。name が指定されなかった場合は、すべてのプラグインを表示します。

[–t] –getpolicy

カーネル監査ポリシーを表示します。ahlt および perzone ポリシーは大域ゾーンの設定を反映します。perzone が設定されている場合、その他のポリシーはすべて非大域ゾーンの設定を反映します。perzone が設定されていない場合、ポリシーはマシン全体です。

–getremote [server|[group [connection_group]]]

監査リモートサーバーに関する情報表示します。server オプション引数を使用する場合、一般的な監査リモートサーバー構成のみが表示されます。オプション引数 group を使用する場合、すべての構成済み接続グループの情報が表示されます。グループ引数に加えて connection_group 名が指定される場合、それぞれの接続グループの情報だけを表示します。

オプション引数を使用しない場合、一般的な監査リモートサーバー構成の詳細およびすべての接続グループの情報が表示されます。

–getcwd

現在の作業ディレクトリ (システムブート時にゾーンルートからアンカーされたもの) を表示します。例:

# cd /usr/tmp
# auditconfig -getcwd
current working directory = /var/tmp

[–t] –getqbufsz

監査キュー書き込みバッファーサイズを取得します。例:

# auditconfig -getqbufsz
no configured audit queue size
audit queue buffer size (bytes) = 1024
[–t] –getqctrl

監査キュー書き込みバッファーサイズ、監査キュー hiwater マーク、監査キュー lowater マーク、監査キュー prod 間隔 (ティック) を取得します。

# auditconfig -getqctrl
no configured audit queue lowater mark
no configured audit queue hiwater mark
no configured audit queue size
no configured audit queue delay
audit queue hiwater mark (records) = 100
audit queue lowater mark (records) = 10
audit queue buffer size (bytes) = 1024
audit queue delay (ticks) = 20

# auditconfig -setqbufsz 8192
# auditconfig -t -setqbufsz 12288
# auditconfig -setqdelay 20
# auditconfig -t -setqdelay 25
# auditconfig -getqctrl
no configured audit queue lowater mark
no configured audit queue hiwater mark
configured audit queue buffer size (bytes) = 8192
configured audit queue delay (ticks) = 20
active audit queue hiwater mark (records) =     100
active audit queue lowater mark (records) =     10
active audit queue buffer size (bytes) = 12288
active audit queue delay (ticks) = 25
[–t] –getqdelay

監査キューが出力の開始を促される間隔を取得します。例:

# auditconfig -getqdelay
no configured audit queue delay
audit queue delay (ticks) = 20
[–t] –getqhiwater

未配信監査レコードの、監査生成がブロックされる高位境界値を取得します。例:

# ./auditconfig -getqhiwater
no configured audit queue hiwater mark
audit queue hiwater mark (records) = 100
[–t] –getqlowater

未配信監査レコードの、ブロックされたプロセスが再開される低位境界値を取得します。例:

# auditconfig -getqlowater
no configured audit queue lowater mark
audit queue lowater mark (records) = 10
[–t] –getsprivs

AUE_CMD_PRIVS イベントは、各プログラムの実行中に使用されていた特権を記録できます。このオプションは、正常な使用をモニターする特権のセットを表示します。例:

# auditconfig -t -getsprivs
active successful privileges = file_dac_write,sys_acct,\
sys_admin,sys_config,sys_devices,sys_dl_config,sys_flow_config,\
sys_ib_config,sys_ip_config,sys_iptun_config,sys_mount,\
sys_net_config,sys_res_bind,sys_res_config,sys_time
–gettid

現在のプロセスの監査端末 ID を表示します。例:

# auditconfig -gettid
terminal id (maj,min,host) = 235,197121,elbow(172.146.89.77)
–lsclass

現在構成されている (実行時) 監査クラス情報を表示します。

–lsevent

現在構成されている (実行時) カーネルレベルおよび audit_flags で選択されたユーザーレベル監査イベント情報を表示します。audit_flags が存在しない場合は、構成されているすべての監査イベントを表示します。詳細は、audit_event(5) および audit_flags(7) のマニュアルページを参照してください。

–lstags [filename]

監査タグの名前を表示します。オプションで、使用するタグ定義ファイルを指定できます。ファイルが指定されていない場合、システムタグの定義が使用されます。詳細は、audit_tags(5) のマニュアルページを参照してください。

–lspolicy

カーネル監査ポリシーを各ポリシーの説明付きで表示します。

–setasid session-ID [cmd]

指定された session-ID でシェルまたは cmd を実行します。例:

# ./auditconfig -setasid 2000 /bin/ksh
#
# ./auditconfig -getpinfo 104485
audit id = abc(666)
process preselection mask = lo(0x1000,0x1000)
terminal id (maj,min,host) = 235,197121,elbow(172.146.89.77)
audit session id = 2000
–setaudit audit-ID preselect_flags term-ID session-ID [cmd]

指定された監査特性でシェルまたは cmd を実行します。

–setauid audit-ID [cmd]

指定された audit–ID でシェルまたは cmd を実行します。

–setclass event audit_flag[,audit_flag . . .]

カーネルイベント eventaudit_flag リストで指定されたクラスにマップします。event はイベントの番号または名前です。audit_flag は監査クラスを表す文字列です。詳細については、audit_flags(7) を参照してください。perzone が設定されていない場合、このオプションは大域ゾーンでのみ有効です。

[–t] –setflags audit_flags

デフォルトのユーザー監査事前選択フラグを設定します。audit_flags(7) を参照してください。デフォルト事前選択フラグとユーザー固有の監査フラグを組み合わせることで、ユーザーの監査事前選択マスクを形成します。

[–t] –setfprivs [+|-]privilege[,privilege ...]

AUE_CMD_PRIVS イベントは、各プログラムの実行中に欠落していた特権を記録できます。このオプションは、このような障害をモニターする特権を設定します。基本セットに含まれる特権は指定しないでください。

–setkaudit IP-address_type IP_address

マシンの IP アドレスを指定された値に設定します。IP-address_typeipv6ipv4 のいずれかです。

perzone が設定されていない場合、このオプションは大域ゾーンでのみ有効です。

–setkmask audit_flags

マシンの帰属不可能な事前選択フラグを設定します。

perzone が設定されていない場合、このオプションは大域ゾーンでのみ有効です。

[–t] –setnaflags audit_flags

帰属不可能な監査フラグを設定します。audit_flags(7) を参照してください。帰属不可能な監査フラグは、アクションを認証済みユーザーに帰属させることができない場合にどのクラスのイベントを監査すべきかを定義します。ログインの失敗は、帰属不可能なイベントの一例です。

–setpmask pid flags

指定されたプロセスの事前選択マスクを設定します。flags は、audit_flags(7) のものに似たフラグの ASCII 表現です。

perzone が設定されていない場合、このオプションは大域ゾーンでのみ有効です。

–setplugin plugin_name active|inactive [ attributes [qsize]]
–setplugin plugin_name [active|inactive] attributes [qsize]

プラグイン plugin_nameactive または inactive に構成します。プラグインの属性やキュー内の未処理監査レコード数を構成することもできます。関連する監査プラグインのマニュアルページおよび auditd(8) を参照してください。

[–t] –setpolicy [+|-]policy_flag[,policy_flag ...]

カーネル監査ポリシーを設定します。ポリシー policy_flag は監査ポリシーを示すリテラル文字列です。プレフィックス + は、指定されたポリシーを現在の監査ポリシーに追加します。接頭辞 - は、指定されたポリシーを現在の監査ポリシーから削除します。最初に大域ゾーンから perzone ポリシーが設定されていない場合は、非大域ゾーンからポリシーを設定できません。次に有効なポリシーフラグ文字列を示します。現在の有効な監査ポリシーフラグ文字列は、auditconfig –lspolicy でも一覧表示されます。

all

現在のゾーンに適用されるポリシーをすべて取り込みます。

ahlt

監査キューが高位境界値に達したかリソース不足により監査レコードを構築できないために配信不可能な非同期監査イベントが発生した場合、パニックが呼び出され、システムはコアをダンプします。デフォルトではレコードがドロップされ、ドロップレコード数のカウントが保持されます。

arge

execv(2) システムコール環境引数を監査レコードに取り込みます。この情報はデフォルトでは取り込まれません。

argv

execv(2) システムコールパラメータ引数を監査レコードに取り込みます。この情報はデフォルトでは取り込まれません。

cnt

監査リソースが使い果たされた際にプロセスを中断しません。代わりに監査レコードをドロップし、ドロップレコード数のカウントを保持します。デフォルトでは、監査リソースが使用可能になるまでプロセスが中断されます。

group

補助グループトークンを監査レコードに取り込みます。デフォルトではグループトークンは取り込まれません。

none

ポリシーを取り込みません。大域ゾーン以外で使用した場合、ahlt および perzone ポリシーは変更されません。

path

セカンダリパストークンを監査レコードに追加します。これらは通常、動的にリンクされた共有ライブラリまたはシェルスクリプト用コマンドインタプリタのパス名です。デフォルトではこれらは取り込まれません。

perzone

ゾーンごとに別個の構成、キュー、およびログを維持して、ゾーンごとに異なるバージョンの auditd(8) を実行します。

public

public ファイルを監査します。public特性 (ルートが所有、すべての人が読み取れる、すべての人が書き込めるわけではない) を満たすファイルの場合、読み取りタイプ処理はデフォルトでは監査されません。

trail

トレーラトークンをすべての監査レコードに取り込みます。デフォルトではトレーラトークンは取り込まれません。

seq

シーケンストークンをすべての監査レコードの一部として取り込みます。デフォルトではシーケンストークンは取り込まれません。シーケンストークンは、シーケンス番号をすべての監査レコードに付加します。

labeled_only

読み取りタイプ処理について、ラベル付きファイルだけを監査します。デフォルトではラベル付きファイルとラベルなしファイルの両方が監査されますが、labeled_only ポリシーが指定された場合は、ラベルなしファイルまたは ADMIN_LOW のファイルについては、読み取りタイプの処理は監査されません。このポリシーは、書き込みタイプの処理には適用されません。

zonename

zonename トークンをすべての監査レコードの一部として取り込みます。デフォルトでは zonename トークンは取り込まれません。zonename トークンは、監査レコードが生成されたゾーンの名前を提供します。

–setremote server active|inactive [attributes]
–setremote server [active|inactive] attributes

主監査リモートサーバースイッチをアクティブまたは非アクティブに構成します。これが非アクティブに設定されている場合、すべての構成済み接続グループが非アクティブとみなされます。オプションで、一般的な監査リモートサーバー属性を構成します。詳細は、ars(7) を参照してください。

–setremote group active|inactive group_name [attributes]
–setremote group [active|inactive] group_name attributes

監査リモートサーバー接続グループ group_name をアクティブまたは非アクティブに構成します。オプションで、それぞれの接続グループ属性を構成します。詳細は、ars(7) を参照してください。

–setremote group create|destroy group_name

監査リモートサーバー接続グループ group_name を作成または破棄します。詳細は、ars(7) を参照してください。

[–t] –setqbufsz buffer_size

監査キュー書き込みバッファーサイズ (バイト) を設定します。ゼロ (0) は構成されていない値へのリセットを示し、有効な値がデフォルト設定にリセットされます。

[–t] –setqctrl hiwater lowater bufsz interval

監査キュー書き込みバッファーサイズ (バイト)、hiwater 監査レコードカウント、lowater 監査レコードカウント、およびウェイクアップ間隔 (ティック) を設定します。非大域ゾーンで有効になるのは、perzone が設定されている場合だけです。ゼロ (0) は構成されていない値へのリセットを示し、有効な値がデフォルト設定にリセットされます。

[–t] –setqdelay interval

監査キューのウェイクアップ間隔 (ティック) を設定します。これにより、カーネルが監査キューに対して監査レコードを監査トレールに書き込むことを要求する間隔が決まります。非大域ゾーンで有効になるのは、perzone が設定されている場合だけです。ゼロ (0) は構成されていない値へのリセットを示し、有効な値がデフォルト設定にリセットされます。

[–t] –setqhiwater hiwater

監査レコード生成がブロックされる、監査キュー内の未配信監査レコード数を設定します。非大域ゾーンで有効になるのは、perzone が設定されている場合だけです。ゼロ (0) は構成されていない値へのリセットを示し、有効な値がデフォルト設定にリセットされます。

[–t] –setqlowater lowater

ブロックされた監査プロセスがブロック解除される、監査キュー内の未配信監査レコード数を設定します。非大域ゾーンで有効になるのは、perzone が設定されている場合だけです。ゼロ (0) は構成されていない値へのリセットを示し、有効な値がデフォルト設定にリセットされます。

–setsmask asid flags

指定された監査セッション ID を持つすべてのプロセスの事前選択マスクを設定します。非大域ゾーンで有効になるのは、perzone が設定されている場合だけです。

[–t] –setsprivs [+|-]privilege[,privilege ...]

AUE_CMD_PRIVS イベントは、各プログラムの実行中に使用されていた特権を記録できます。このオプションは、このような使用をモニターする特権を設定します。基本セットに含まれる特権は指定しないでください。

–setumask username|auid flags

指定されたユーザー名または監査 ID を持つすべてのプロセスの事前選択マスクを設定します。非大域ゾーンで有効になるのは、perzone が設定されている場合だけです。

使用例 1 auditconfig を使用する

次に auditconfig コマンドの例を示します。

#
# Map kernel audit event number 10 to the "fr" audit class.

auditconfig -setclass 10 fr

#
# Turn on inclusion of exec arguments in exec audit records.

auditconfig -setpolicy +argv
使用例 2 未処理監査レコード数のみを設定する

次の一連のコマンドは、audit_binfile プラグインのキューに未処理監査レコード数のみを設定します。

# See if audit_binfile is active.
auditconfig -getplugin audit_binfile

# Set to queue 20 unprocessed audit records.
#
auditconfig -setplugin audit_binfile "" 20
使用例 3 キュー制御パラメータをリセットする

次のコマンドは、アクティブな構成済みキュー制御パラメータをリセットします。

# Get the audit remote server configuration
auditconfig -getremote

# Change an audit remote server attribute
auditconfig -setremote server \
    "listen_address=10.0.0.1,max_startups=10:30:60"

# Create an audit remote server (wild card) connection group
auditconfig -setremote group create egg_farm

# Get a specific audit remote server connection group information
auditconfig -getremote group egg_farm

# Set a connection group attribute, activate the connection group
auditconfig -setremote group active egg_farm \
    "hosts=www.example.com,binfile_dir=/var/audit/ARS"
使用例 4 監査リモートサーバーの構成

次のコマンドは、監査リモートサーバーを構成します。

# Get the audit remote server configuration
auditconfig -getremote

# Change an audit remote server attribute
auditconfig -setremote server \
    "listen_address=10.0.0.1,max_startups=10:30:60"

# Create an audit remote server (wild card) connection group
auditconfig -setremote group create egg_farm

# Get a specific audit remote server connection group information
auditconfig -getremote group egg_farm

# Set a connection group attribute, activate the connection group
auditconfig -setremote group active egg_farm \
    "hosts=www.example.com,binfile_dir=/var/audit/ARS"

終了ステータス

0

正常終了。

1

エラーが発生しました。

ファイル

/etc/security/audit_event

監査システムで使用されるイベント定義を格納します。

/etc/security/audit_class

監査システムで使用されるクラス定義を格納します。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
下記を参照

コマンドは確実です。出力は非インタフェースです。

関連項目

execv(2)audit_class(5)audit_event(5)audit_tags(5)system(5)ars(7)attributes(7)audit_binfile(7)audit_flags(7)audit_remote(7)audit_syslog(7)privileges(7)audit(8)auditd(8)auditstat(8)praudit(8)

Managing Auditing in Oracle Solaris 11.4

–setplugin オプションを使ってプラグイン出力を選択した場合、–setpolicy +cnt オプションと –setqhiwater オプションに関するシステム動作が若干変更されます。–setpolicy +cnt を設定した場合、ディスク領域が解放されるまで、選択されたプラグインにデータが引き続き送信されます (audit_binary プラグインの出力が停止していても)。If –setpolicy -cnt is used, the blocking behavior is as described under SUBCOMMANDS, above.キュー高位境界値は、qsize 属性 (前述の –setplugin オプションの説明を参照) によってオーバーライドされないかぎり、auditd 内でキュー制限の上限として使用されます。

プロセスベースの情報を変更または表示する auditconfig オプションは、perzone ポリシーの影響を受けません。端末 ID パラメータや監査キューパラメータなどのシステム監査データを変更するものは、perzone ポリシーが設定されていないかぎり、大域ゾーンでのみ有効です。perzone が設定されている場合、システム監査の表示は非大域ゾーンを反映します。それ以外の場合、大域ゾーンの設定を反映します。

プラグイン (–setplugin) や監査リモートサーバー (–setremote) の設定を変更 (アクティブ化や非アクティブ化、各属性の変更など) しても、監査サービスがリフレッシュされるまでは適用されません。監査サービスをリフレッシュするには、audit(8) を使用します。

History

The auditconfig command was added in Solaris 2.3.