跳过导航链接 | |
退出打印视图 | |
手册页第 5 部分:标准、环境和宏 Oracle Solaris 11.1 Information Library (简体中文) |
- 提供从 Solaris 审计数据到系统日志消息的实时转换
/usr/lib/security/audit_syslog.so
用于 Solaris 审计的 audit_syslog 插件模块 /usr/lib/security/audit_syslog.so 提供 Solaris 审计数据到系统日志格式(文本)数据的实时转换,并按照 syslog.conf(4) 中的配置将数据发送到系统日志守护进程。该插件的路径通过 auditconfig(1M) 实用程序来指定。
如果通过 auditconfig 将 plugin 配置为活动状态,则会将消息写入到 syslog。使用 auditconfig -setplugin 选项可以更改所有与插件相关的配置参数。将使用工具代码 LOG_AUDIT(syslog.conf(4) 中的 audit)和严重性 LOG_NOTICE 生成系统日志消息。syslog 审计消息包含从用于二进制审计日志的标记中选择的数据。(请参见 audit.log(4)。)与所有 syslog 消息一样,syslog 文件中的每一行都包括两部分,即 syslog 头和消息。
系统日志头包含生成消息的日期和时间,从中发送消息的主机名,指示消息是由审计守护进程生成的 auditd,syslogd 在内部使用的 ID 字段以及指示 syslog 工具和严重性值的 audit.notice。syslog 标以字符 ] 结尾,即一个结束方括号和一个空格。
消息部分以头标记中的事件类型开头。仅当所有后续数据包含在原始审计记录中且 1024 字节的最大长度 syslog 行中有空间时,才会显示这些数据。在以下示例中,反斜杠 (\) 指示继续;实际 syslog 消息包含在一行中:
Oct 31 11:38:08 smothers auditd: [ID 917521 audit.notice] chdir(2) ok\ session 401 by joeuser as root:other from myultra obj /export/home
在上述示例中,chdir(2) 是事件类型。此字段后是如下所述的其他数据。如果这些数据未包含在源审计记录中,将省略这些数据。
来自 return 或 exit 标记。
<#> 是 subject 标记中的会话 ID。
<name> 是 subject 标记中的审计 ID。
<name> 和 <group> 分别是 subject 标记中的是有效用户 ID 和有效组 ID。
区域名称。仅在设置 zonename 审计策略时才会生成此字段。
<terminal> 是 subject 标记中的文本计算机地址。
<path> 是 path 标记中的路径。为了使其适合行大小,可能会从左侧截断该路径。使用前导省略号 (...) 来指示截断。
<owner> 是进程所有者的有效用户 ID。
<owner> 是进程所有者的审计 ID。
以下是示例 syslog 消息:
Nov 4 8:27:07 smothers auditd: [ID 175219 audit.notice] \system booted Nov 4 9:28:17 smothers auditd: [ID 752191 audit.notice] \ login - rlogin ok session 401 by joeuser as joeuser:staff from myultra Nov 4 10:29:27 smothers auditd: [ID 521917 audit.notice] \ access(2) ok session 255 by janeuser as janeuser:staff from \ 129.146.89.30 obj /etc/passwd
p_flag 属性用于进一步过滤要发送到 syslog 守护进程的审计数据,该守护进程超出了通过 flags 和 naflags(请参见auditconfig(1M))以及通过 user_attr(4) 的用户特定行指定的类范围。该参数是一个逗号分隔列表;每一项表示一个审计类(请参见 audit_class(4))并使用 audit_flags(5) 中所述的语法进行指定。缺省设置(空 p_flags)表示将不生成任何审计记录。
示例 1 plugin 行的一种用法
在下面所示的规范中,plugin(与设置 flags 和 naflags 结合使用)用于允许 lo 的类记录,但仅失败时才允许 am 的类记录。省略 fm 类记录会导致不输出任何 fm 类记录。pc 参数没有任何效果,因为您无法向通过 flags 和 naflags 以及由 user_attr(4) 定义的那些标志添加类。您只能删除它们。
auditconfig -setflags lo,am,fm auditconfig -setnaflags lo auditconfig -setplugin audit_syslog active "p_flags=lo,-am,pc"
示例 2 all 的用法
在下面所示的规范中,一种例外情况是,all 允许通过 flags 和 naflags(以及 user_attr(4))定义的所有标志。该例外情况是 am 元类,它等同于 ss,as,ua,后者修改为可输出所有 ua 事件但仅限 ss 和 as 的失败事件。
auditconfig -setflags lo,am auditconfig -setnaflags lo auditconfig -setplugin audit_syslog active "p_flags=all,^+ss,^+as"
有关以下属性的说明,请参见 attributes(5):
|
消息格式和消息内容是 "Uncommitted"(未确定)。配置参数是 "Committed"(已确定)。
auditconfig(1M)、auditd(1M)、audit_class(4)、syslog.conf(4)、user_attr(4)、attributes(5)、audit_flags(5)
激活 audit_syslog plugin 要求 /etc/syslog.conf 配置为将工具 audit 和严重性 notice 或更高级别的 syslog 消息存储在适用于 Solaris 审计记录的文件中。syslog.conf 中此类行的一个示例为:
audit.notice /var/audit/audit.log
syslog 中的消息将通过 UDP 发送到远程 syslog 服务器,这种方式并不能保证送达或确保按正确顺序收到消息。
如果使用为 plugin 行指定的参数导致未预选任何类,则将通过 syslog 警报以及 LOG_DAEMON 工具代码报告错误。
syslog 头中的时间字段由 syslog(3C) 生成,仅与二进制审计日志中给定的时间近似。通常,时间字段显示同一整秒,或者最多相差几秒。