監査が有効になっているはずだが、1 次監査ディレクトリに監査レコードがない場合、次の手順を試してください。
ネームサービスの hosts データベースが正しく構成され、機能しています。ネームサービスの問題をデバッグする場合は、次の情報を参照してください。
nsswitch.conf(4) のマニュアルページ
監査が実行中であるかどうかを判定します。
c2audit カーネルモジュールがロード済みであることを確認します。
# modinfo | grep c2audit |
リストがない場合、監査が実行中でないことを示しています。次のリストは、監査が実行中であることを示しています。
40 132ce90 14230 186 1 c2audit (C2 system call) |
監査デーモンが動作していることを確認します。
auditd サービスの状態を確認します。次のリストは、監査が実行中でないことを示しています。
# svcs -x auditd svc:/system/auditd:default (Solaris audit daemon) State: disabled since Fri Aug 14 19:02:35 2009 Reason: Disabled by an administrator. See: http://sun.com/msg/SMF-8000-05 See: auditd(1M) See: audit(1M) Impact: This service is not running. |
次のリストは、監査サービスが実行中であることを示しています。
# svcs auditd STATE STIME FMRI online 10:10:10 svc:/system/auditd:default |
現在の監査の状況を確認します。
次のリストは、監査が実行中でないことを示しています。
# auditconfig -getcond auditconfig: auditon(2) failed. auditconfig: error = Operation not supported(48) |
次のリストは、監査が実行中であることを示しています。
# auditconfig -getcond audit condition = auditing |
監査サービスが実行中でない場合、有効にします。手順については、「監査サービスを有効にする方法」を参照してください。
audit_control ファイルの構文を確認します。
# audit -v /etc/security/audit_control audit: audit_control must have either a valid "dir:" entry or a valid "plugin:" entry with "p_dir:" specified. |
エラーを修正します。syntax ok というメッセージは、ファイルの構文が正しいことを示しています。
audit_control ファイルについて、flags キーワードおよび naflags キーワードの値が有効であることを確認します。
# grep flags /etc/security/audit_control flags:lo naflags:na,lp |
audit_control ファイルに無効な値が含まれている場合、有効な値を指定します。前述の例で、lp は無効なクラスです。
audit_user ファイルについて、すべてのユーザーの値が有効であることを確認します。
# tail audit_user ... # User Level Audit User File # # File Format # # username:always:never # root:lo:no admin:lp:no |
audit_user ファイルに無効な値が含まれている場合、有効な値を指定します。前述の例で、lp は無効なクラスです。
カスタマイズ監査クラスを作成した場合、そのクラスにイベントが割り当て済みであることを確認します。
たとえば、次の audit_control ファイルには、Oracle Solaris ソフトウェアが配信していないクラスが含まれています。
# grep flags /etc/security/audit_control flags:lo,pf naflags:na,lo |
pf クラスの作成については、「監査クラスの追加方法」を参照してください。
クラスが audit_class ファイルで定義されていることを確認します。
監査クラスマスクは一意である必要があります。
# grep pf /etc/security/audit_class 0x10000000:pf:profile command |
クラスが定義されていない場合、定義します。そうでない場合、audit_control ファイルおよび audit_user ファイルからクラスを削除します。
イベントがクラスに割り当てられていることを確認します。
# grep pf /etc/security/audit_event 6180:AUE_prof_cmd:profile command:ua,as,pf |
イベントがクラスに割り当てられていない場合、適切なイベントをこのクラスに割り当てます。
前述の手順で問題が見つからなかった場合、システムログファイル /var/adm/messages および /var/log/syslog を確認します。
問題を検出して修正します。
次に、監査サービスが実行中である場合、再起動します。
# audit -s |
監査サービスが実行中でない場合、有効にします。
手順については、「監査サービスを有効にする方法」を参照してください。