每个审计事件属于一个审计类。审计类是用于容纳大量审计事件的方便容器。预选要审计的类时,该类中的所有事件都将记录在审计队列中。例如,预选 ps 审计类时,将记录 execve()、fork() 以及其他系统调用。
可以预选系统中的事件和特定用户启动的事件。
系统范围的预选-通过在 auditconfig 命令中使用 –setflags 和 –setnaflags 选项指定系统范围内的审计缺省值。
特定于用户的预选-通过为用户配置审计标志,指定各个用户的审计值与系统范围的审计缺省值之间的差异。useradd、roleadd、usermod 以及 rolemod 命令将 audit_flags 安全属性放置在 user_attr 数据库中。profiles 命令将权限配置文件的审计标志放置在 prof_attr 数据库中。
审计预选掩码确定要针对用户审计的事件类。有关用户预选掩码的说明,请参见进程审计特征。有关所使用的配置审计标志,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的所指定权限的搜索顺序。
审计类在 /etc/security/audit_class 文件中定义。每个项都包含类的审计掩码、类的名称,以及类的描述性名称。例如,lo 和 ps 类定义在 audit_class 文件中显示为:
0x0000000000001000:lo:login or logout 0x0000000000100000:ps:process start/stop
审计类包括以下两个全局类:all 和 no。audit_class(4) 手册页中介绍了这些审计类。有关类的列表,请阅读 /etc/security/audit_class 文件。
可以配置审计事件到类的映射。可以从类中删除事件、向类中添加事件,还可以创建新类以包含选定事件。有关过程,请参见如何更改审计事件的类成员身份。要查看映射到类的事件,请使用 auditrecord -c class 命令。