動的制御は、1 回につき 1 台のワークステーションに適用されます。これは、監査コマンドが適用されるのがログインした現在のワークステーションだけだからです。動的制御は、ワークステーションの監査処理のテスト (レコード量の推定など) や、ワークステーションを再起動しないで監査フラグを追加するために使用します。ただし、テスト以外の目的で 1 台のワークステーションを実行中に変更する場合には、すべてのワークステーションを変更する必要があります。
次の手続きは、監査が有効な場合に限って実行できます。
auditconfig(1M) コマンドを使うと、適切に設定された役割によって、監査ポリシーを決定し、設定可能なポリシーを調べることができます。役割がポリシーを決定するように設定されていない場合や監査機能が無効になっている場合、コマンド auditconfig -getpolicy はエラーを返します。ラベル admin_low
でセキュリティ管理者になって、実行した例です。
$ auditconfig -getpolicy audit policies = none $ auditconfig -lspolicy policy string description: arge include exec environment args in audit recs argv include exec args in audit recs cnt when no more space, drop recs and keep a count group include supplementary groups in audit recs seq include a sequence number in audit recs trail include trailer tokens in audit recs path allow multiple paths per event acl include ACL information in audit recs ahlt halt machine if we can't record an async event slabel include sensitivity labels in audit recs passwd include cleartext passwords in audit recs windata_down include downgraded information in audit recs windata_up include upgraded information in audit recs all all policies none no policies |
ファイルへの admin_high
ラベル付け、admin_high
ディレクトリへのファイル移動、監査デーモンのリセットなど、監査に変更を加えるためには、admin_high
プロセスが必要です。admin_high
プロセスは、admin_high ワークスペースで起動します。
フロントパネル上でマウスの右ボタンをクリックし、メニューから「役割になる : role 役割 (Assume secadmin Role)」(role は役割名を指します) を選択します。
secadmin (セキュリティ管理者) のワークスペースになります。
ワークスペース名 (secadmin) をマウスの右ボタンでクリックし、メニューから「ワークスペース SL を変更 (Change Workspace SL)」を選択します。
ラベルビルダーで ADMIN_HIGH ボタンをクリックします。
ラベルビルダーの下にある「了解 (OK)」をクリックします。
ワークスペースのボタンの色が黒に変わり、admin_high
ワークスペースに移動したことを示します。admin_high
ワークスペースは、管理役割でのみ使用できます。
auditconfig コマンドを使うと、監査ポリシーを変更できます。このポリシーは、監査レコードに ACL の情報を含めるかどうかなどを規定しています。ポリシー変数は動的なカーネル変数なので、設定したポリシーはワークステーションを次に起動するまで有効です。ポリシーのパラメータについては、 auditconfig(1M) のマニュアルページのリストを参照してください。
1 回のコマンド呼び出しで複数のポリシーを設定したり、既存のポリシーすべてを無効にするためには、ラベル admin_low
でセキュリティ管理者になって、ポリシーをコンマで区切ります (スペースは使わない)。
$ auditconfig -setpolicy trail,seq $ auditconfig -getpolicy audit policies = trail,seq $ auditconfig -setpolicy argv,acl $ auditconfig -getpolicy audit policies = argv,acl |
新しくポリシーを追加する場合は、ラベル admin_low
でセキュリティ管理者になって、追加するポリシーの前にプラス記号 (+) を付けます。
$ auditconfig -setpolicy trail,seq $ auditconfig -getpolicy audit policies = trail,seq $ auditconfig -setpolicy +argv $ auditconfig -setpolicy +acl $ auditconfig -getpolicy audit policies = seq,trail,argv,acl |
既存のポリシーを削除する場合は、ラベル admin_low
でセキュリティ管理者になって、削除するポリシーの前にマイナス記号 (-) を付けます。
$ auditconfig -setpolicy trail,seq $ auditconfig -getpolicy audit policies = trail,seq $ auditconfig -setpolicy -seq $ auditconfig -getpolicy audit policies = trail |
上の例では、監査トレールの不一致をデバッグするために、trail トークンと seq トークンを追加しています。ポリシーを常時有効にするためには、 audit_startup(1M) スクリプトに auditconfig コマンドを書き込みます。スクリプトの編集方法については、「常時監査ポリシーを設定する方法」を参照してください。
評価済みの構成で監査を実行する場合、cnt ポリシーを設定することはできません。必ず ahlt ポリシーを設定します。
auditconfig(1M) コマンドを使うと、動的に監査フラグを変更することができ、アクティブなユーザーやセッションやプロセスに、別のフラグを追加することができます。フラグは動的に追加されるので、ユーザーのログアウト、セッションの終了、プロセスの終了まで有効です。
特定ユーザーのファイル読み取り成功の監査を追加する場合は、ラベル admin_low
でセキュリティ管理者になって、次のようにします。
$ auditconfig -setumask audit_user_id +fr |
特定セッションのファイル属性アクセス失敗の監査を追加する場合は、ラベル admin_low
でセキュリティ管理者になって、次のようにします。
$ auditconfig -setsmask audit_session_id -fa |
特定プロセスのファイル属性変更の成功と失敗を追加で監査する場合は、ラベル admin_low
でセキュリティ管理者になって、次のようにします。
$ ps -ef | grep application-to-be-monitored $ auditconfig -setpmask process_id fm |
1 回に実行できる監査デーモンは 1 つだけです。同時に複数のデーモンを実行しようとするとエラーメッセージが表示され、新規デーモンは終了します。監査デーモンで問題が発生する場合は、監査デーモンを正常に終了させ、手動で再起動します。
障害発生時に監査デーモンを停止するには、ラベル admin_high
でセキュリティ管理者になって、次のコマンドを入力します。
$ audit -t |
この方法では監査レコードが失われることがあります。注意してください。
監査デーモンは、ワークステーションがマルチユーザーモードに移行すると起動します。また、audit -s コマンドで監査構成ファイルをもう一度読み込むように指示した場合にも起動します。
障害発生時、または監査構成ファイルを変更した場合には、ラベル admin_high
でセキュリティ管理者になって、次のようにして監査デーモンを再起動します。
$ audit -s |