缺省情况下,审计处于启用状态。如果您认为尚未禁用审计,但没有将任何审计记录发送到活动插件,其原因可能是本节中讨论的下列因素之一或者这些因素的组合。请注意,要修改系统文件,您必须指定有 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
如果审计服务没有运行,请启用该服务。有关过程,请参见启用和禁用审计服务。
可使用以下命令检查是否有任何插件处于活动状态。必须至少有一个插件处于活动状态才能使审计服务起作用。
# audit -v audit: no active plugin found
如果没有任何插件处于活动状态,则激活一个插件。
# 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
如果未将事件指定给该类,请为其指定适当的事件。