手册页部分 5: 标准、环境和宏

退出打印视图

更新时间: 2014 年 7 月
 
 

audit_syslog(5)

名称

audit_syslog - 提供从 Solaris 审计数据到系统日志消息的实时转换

用法概要

/usr/lib/security/audit_syslog.so

描述

用于 Solaris 审计的 audit_syslog 插件模块 /usr/lib/security/audit_syslog.so 提供 Solaris 审计数据到系统日志格式(文本)数据的实时转换,并按照 syslog.conf(4) 中的配置将数据发送到系统日志守护进程。该插件的路径通过 auditconfig(1M) 实用程序来指定。

如果通过 auditconfigplugin 配置为活动状态,则会将消息写入到 syslog。使用 auditconfig –setplugin 选项可以更改所有与插件相关的配置参数。将使用工具代码 LOG_AUDITsyslog.conf(4) 中的 audit)和严重性 LOG_NOTICE 生成系统日志消息。syslog 审计消息包含从用于二进制审计日志的标记中选择的数据。(请参见 audit.log(4)。)与所有 syslog 消息一样,syslog 文件中的每一行都包括两部分,即 syslog 头和消息。

系统日志头包含生成消息的日期和时间,从中发送消息的主机名,指示消息是由审计守护进程生成的 auditdsyslogd 在内部使用的 ID 字段以及指示 syslog 工具和严重性值的 audit.noticesyslog 标以字符 ] 结尾,即一个结束方括号和一个空格。

消息部分以头标记中的事件类型开头。仅当所有后续数据包含在原始审计记录中且 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) 是事件类型。此字段后是如下所述的其他数据。如果这些数据未包含在源审计记录中,将省略这些数据。

okfailed

来自 return 或 exit 标记。

session <#>

<#> 是 subject 标记中的会话 ID。

by <name>

<name> 是 subject 标记中的审计 ID。

as <name>:<group>

<name><group> 分别是 subject 标记中的是有效用户 ID 和有效组 ID。

in <zone name>

区域名称。仅在设置 zonename 审计策略时才会生成此字段。

from <terminal>

<terminal> 是 subject 标记中的文本计算机地址。

obj <path>

<path> 是 path 标记中的路径。为了使其适合行大小,可能会从左侧截断该路径。使用前导省略号 (...) 来指示截断。

proc_uid <owner>

<owner> 是进程所有者的有效用户 ID。

proc_auid <owner>

<owner> 是进程所有者的审计 ID。

argv <arguments>

列出 exec_args 标记中的 execv(2) 系统调用参数。

根据换行需要,可以从右端截断参数。通过以省略号 (...) 结尾来指示截断。

arge <arguments>

列出 exec_env 标记中的 execv(2) 系统调用环境参数。

根据换行需要,可以从右端截断参数。通过以省略号 (...) 结尾来指示截断。

以下是示例 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 守护进程的审计数据,该守护进程超出了通过 flagsnaflags(请参见auditconfig(1M))以及通过 user_attr(4) 的用户特定行指定的类范围。该参数是一个逗号分隔列表;每一项表示一个审计类(请参见 audit_class(4))并使用 audit_flags(5) 中所述的语法进行指定。缺省设置(空 p_flags)表示将不生成任何审计记录。

示例

示例 1 plugin 行的一种用法

在下面所示的规范中,plugin(与设置 flagsnaflags 结合使用)用于允许 lo 的类记录,但仅失败时才允许 am 的类记录。省略 fm 类记录会导致不输出任何 fm 类记录。pc 参数没有任何效果,因为您无法向通过 flagsnaflags 以及由 user_attr(4) 定义的那些标志添加类。您只能删除它们。

auditconfig -setflags lo,am,fm
auditconfig -setnaflags lo
auditconfig -setplugin audit_syslog active "p_flags=lo,-am,pc"
示例 2 all 的用法

在下面所示的规范中,一种例外情况是,all 允许通过 flagsnaflags(以及 user_attr(4))定义的所有标志。该例外情况是 am 元类,它等同于 ss,as,ua,后者修改为可输出所有 ua 事件但仅限 ssas 的失败事件。

auditconfig -setflags lo,am
auditconfig -setnaflags lo
auditconfig -setplugin audit_syslog active "p_flags=all,^+ss,^+as"

在此示例中,ssas 类(可能有多个类包含这两个类)中的一些成功审计事件可能仍会显示在 syslog 输出中。

属性

有关以下属性的说明,请参见 attributes(5)

属性类型
属性值
MT 级别
MT-Safe(MT 安全)
接口稳定性
请参见下文。

消息格式和消息内容是 "Uncommitted"(未确定)。配置参数是 "Committed"(已确定)。

另请参见

auditconfig(1M)auditd(1M)audit_class(4)syslog.conf(4)user_attr(4)attributes(5)audit_flags(5)

在 Oracle Solaris 11.2 中管理审计

附注

激活 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) 生成,仅与二进制审计日志中给定的时间近似。通常,时间字段显示同一整秒,或者最多相差几秒。