監査機能はデフォルトで有効になります。監査が無効になっていないにもかかわらず、監査レコードがアクティブなプラグインに送信されない場合は、このセクションで説明する次の要因のいずれか、または要因の組み合わせが原因である可能性があります。システムファイルを変更するには、solaris.admin.edit/path-to-system-file 承認が割り当てられている必要があります。デフォルトでは、root役割がこの承認を持っています。
監査が実行中かどうかを確認するには、次の方法のいずれかを使用します。
現在の監査の状況を確認します。
次の出力は、監査が実行中でないことを示しています。
# auditconfig -getcond audit condition = noaudit
次の出力は、監査が実行中であることを示しています。
# auditconfig -getcond audit condition = auditing
監査サービスが実行中であることを確認します。
次の出力は、監査が実行中でないことを示しています。
# svcs -x auditd svc:/system/auditd:default (Solaris audit daemon) State: disabled since Sun Oct 10 10:10:10 2010 Reason: Disabled by an administrator. See: http://support.oracle.com/msg/SMF-8000-05 See: auditd(1M) See: audit(1M) See: auditconfig(1M) See: audit_flags(5) See: audit_binfile(5) See: audit_syslog(5) See: audit_remote(5) See: /var/svc/log/system-auditd:default.log Impact: This service is not running.
次の出力は、監査サービスが実行中であることを示しています。
# svcs auditd STATE STIME FMRI online 10:10:10 svc:/system/auditd:default
監査サービスが実行中でない場合、有効にします。手順については、監査サービスの有効化および無効化を参照してください。
次のコマンドを使用して、プラグインがアクティブになっているかどうかを確認します。監査サービスが動作するには、少なくとも 1 つのプラグインがアクティブになっている必要があります。
# audit -v audit: no active plugin found
どのプラグインもアクティブでない場合は、1 つのプラグインをアクティブにします。
# auditconfig -setplugin audit_binfile active # audit -v configuration ok
定義されていない監査クラスを使用しようとしている可能性があります。pf クラスの作成については、監査クラスの追加方法を参照してください。
たとえば、次のフラグのリストには、Oracle Solaris ソフトウェアでは提供されなかった pf クラスが含まれています。
# auditconfig -getflags active user default audit flags = pf,lo(0x0100000000000000,00x0100000000001000) configured user default audit flags = pf,lo(0x0100000000000000,00x0100000000001000)
クラスを定義しない場合は、有効な値で auditconfig -setflags コマンドを実行して現在のフラグをリセットします。それ以外の場合は、クラスを定義する際に次の点を確認します。
監査クラスが audit_class ファイルで定義されている。
# grep pf /etc/security/audit_class Verify class exists 0x0100000000000000:pf:profile
マスクが一意である。一意でない場合は、マスクを置き換えてください。
# grep 0x0100000000000000 /etc/security/audit_class Ensure mask is unique 0x0100000000000000:pf:profile
使用中のカスタマイズ済みクラスが定義されているが、そのクラスにイベントが割り当てられていない可能性があります。
カスタマイズ済みクラスにイベントが割り当てられているかどうかを確認するには、次の方法のいずれかを使用します。
# auditconfig -lsevent | egrep " pf|,pf|pf," AUE_PFEXEC 116 pf execve(2) with pfexec enabled
# auditrecord -c pf List of audit events assigned to pf class
イベントがクラスに割り当てられていない場合、適切なイベントをこのクラスに割り当てます。