跳过导航链接 | |
退出打印视图 | |
系统管理指南:安全性服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
本节提供有关以下命令的信息:
以下列表汇总了 auditd 守护进程的任务:
打开和关闭 audit_control 文件中指定的目录内的审计文件。这些文件将按指定顺序打开。
装入一个或多个插件。Sun 提供了两个插件。audit_binfile.so 插件可将二进制审计数据写入文件。audit_syslog.so 插件可将审计记录的选定文本摘要发送到 syslog 日志。
使用 auditd 插件从内核读取审计数据并输出此数据。
执行 audit_warn 脚本以针对各种情况发出警告。audit_binfile.so 插件执行 audit_warn 脚本。缺省情况下,此脚本将警告发送到 audit_warn 电子邮件别名和控制台。syslog.so 插件不会执行 audit_warn 脚本。
缺省情况下,当所有的审计目录已满时,生成审计记录的进程便会暂停。此外,auditd 守护进程会将消息写入控制台和 audit_warn 电子邮件别名。此时,只有系统管理员才可以修复审计服务。管理员可以登录以将审计文件写入脱机介质、从系统中删除审计文件,以及执行其他清除任务。
可以使用 auditconfig 命令重新配置审计策略。
当系统引导进入多用户模式时,auditd 守护进程便会自动启动。也可以从命令行启动此守护进程。auditd 守护进程启动时,它会计算审计文件所需的空闲空间量。
auditd 守护进程使用 audit_control 文件中的审计目录列表作为创建审计文件的可能位置。该守护进程维护指向此目录列表的指针,指针从第一个目录开始。每当 auditd 守护进程需要创建审计文件时,都会将该文件放入列表内的第一个可用目录中。该列表的起点为 auditd 守护进程的当前指针处。可以运行 audit - s 命令将指针重置到列表的开始处。audit -n 命令指示此守护进程切换到新的审计文件。新的文件在当前文件所在的目录中创建。
audit 命令可控制 auditd 守护进程的操作。audit 命令可以执行以下任务:
有关可用选项的说明,请参见 audit(1M) 手册页。
bsmrecord 命令显示 /etc/security/audit_event 文件中定义的审计事件的格式。输出包括事件的审计 ID、审计类、审计标志以及记录的审计标记(按顺序列出)。如果不使用任何选项,bsmrecord 输出将在终端窗口中显示。如果使用 -h 选项,则输出适合在浏览器中查看。有关 bsmrecord 命令的使用示例,请参见如何显示审计记录格式。另请参见 bsmrecord(1M) 手册页。
auditreduce 命令可汇总以二进制格式存储的审计记录。此命令可以合并来自一个或多个输入审计文件的审计记录,还可以用于执行后选审计记录。这些记录保持二进制格式。要合并整个审计迹,请在审计服务器上运行此命令。审计服务器是指为安装挂载了所有审计文件系统的系统。有关更多信息,请参见 auditreduce(1M) 手册页。
使用 auditreduce 命令,可以从一个位置跟踪多个系统上的所有已审计的操作。该命令可以将所有审计文件的逻辑组合作为一个审计迹进行读取。您必须对站点上要进行审计的所有系统进行相同的配置,并为审计文件创建服务器和本地目录。auditreduce 命令会忽略记录的生成方式或记录的存储位置。如果不使用选项,auditreduce 命令将合并审计根目录下所有子目录中全部审计文件的审计记录。通常,/etc/security/audit 为审计根目录。auditreduce 命令将已合并的结果发送到标准输出。您也可以将这些结果放入按时间顺序排列的单个输出文件中。此文件包含二进制数据。
auditreduce 命令还可以选择特定的记录类型进行分析。auditreduce 命令的合并功能和选择功能在逻辑上是相互独立的。在系统合并输入文件并将其写入磁盘之前,auditreduce 命令将在系统读取记录时从这些文件中捕获数据。
通过为 auditreduce 命令指定选项,还可以执行以下操作:
请求已由指定的审计类生成的审计记录
请求已由某个特定用户生成的审计记录
请求已在特定日期生成的审计记录
如果不使用参数,auditreduce 命令将检查 /etc/security/audit 目录(缺省审计根目录)中的子目录,还会检查 start-time.end-time.hostname 文件所在的 files 目录。auditreduce 命令对于审计数据位于不同目录的情况非常有用。图 31-1 显示了显示了不同主机上不同目录中的审计数据。图 31-2 显示了不同审计服务器上不同目录中的审计数据。
图 31-1 按主机排序的审计迹存储
图 31-2 按服务器排序的审计迹存储
如果用于 /etc/security/audit 目录的分区非常小,则可能无法在缺省目录中存储审计数据。可以使用 -R 选项将 auditreduce 命令传递到其他目录:
# auditreduce -R /var/audit-alt
还可以使用 -S 选项指定特定的子目录:
# auditreduce -S /var/audit-alt/host1
有关其他选项和更多示例,请参见 auditreduce(1M) 手册页。
praudit 命令可将 auditreduce 命令的二进制输出转换为可读文件。praudit 命令可从标准输入中读取二进制格式的审计记录,并以可显示的格式显示这些记录。输入既可以从 auditreduce 命令,也可以从单个审计文件进行管道输出。输入还可以使用 cat 命令生成以串联数个文件,或者针对当前审计文件使用 tail 命令生成。
praudit 命令可以生成四种输出格式。第五个选项,即 -l(长),可为每行输出显示一条审计记录。缺省设置为在每行输出中放置一个审计标记。-d 选项可更改标记字段之间以及标记之间使用的分隔符。缺省分隔符为逗号。
缺省设置-不带选项的 praudit 命令在每行显示一个审计标记。此命令将按审计事件的说明显示审计事件,例如 ioctl(2) 系统调用。任何可以显示为文本的值均以文本格式显示。例如,用户将显示为用户名,而不是用户 ID。
–r 选项-原始选项将任何可以为数字的值显示为数字。例如,用户显示为用户 ID,Internet 地址以十六进制格式显示,模式以八进制格式显示。审计事件显示为其事件编号,例如 158。
–s 选项-短选项将通过审计事件的表名显示审计事件,例如 AUE_IOCTL。该选项显示其他标记的方式与缺省选项显示这些标记的方式相同。
–x 选项-XML 选项以 XML 格式显示审计记录。该选项可用于浏览器输入,或者可用于处理 XML 的脚本输入。
XML 通过审计服务提供的 DTD 进行说明。Oracle Solaris 软件还提供了样式表。DTD 和样式表位于 /usr/share/lib/xml 目录下。
在 praudit 命令的缺省输出格式中,可以轻松地将每条记录标识为一系列审计标记。每个标记都在单独的行中显示。每条记录都以 header 标记开始。例如,您可以使用 awk 命令进一步处理输出。
以下是 header 标记的 praudit - l 命令输出:
header,173,2,settppriv(2),,example1,2010-10-10 10:10:02.020 -07:00
以下是同一 header 标记的 praudit - r 命令输出:
121,173,2,289,0x0000,192.168.86.166,1066077962,174352445
示例 31-1 使用脚本处理 praudit 输出
您可能需要将 praudit 命令的输出作为多行文本处理。例如,您可能需要选择 auditreduce 命令无法选择的记录。您可以使用简单的 shell 脚本来处理 praudit 命令的输出。下面的简单示例脚本在每行中放置一条审计记录,搜索用户指定的字符串,然后将审计文件返回到其原始格式。
#!/bin/sh # ## This script takes an argument of a user-specified string. # The sed command prefixes the header tokens with Control-A # The first tr command puts the audit tokens for one record # onto one line while preserving the line breaks as Control-A # praudit | sed -e '1,2d' -e '$s/^file.*$//' -e 's/^header/^aheader/' \\ | tr '\\012\\001' '\\002\\012' \\ | grep "$1" \\ Finds the user-specified string | tr '\\002' '\\012' Restores the original newline breaks
请注意,脚本中的 ^a 为 Ctrl-A,而不是 ^ 和 a 这两个字符。前缀将 header 标记与可能显示为文本的字符串 header 区分开来。
auditconfig 命令提供命令行界面来检索并设置审计配置参数。auditconfig 命令可以执行以下任务:
显示、检查以及配置审计策略
确定审计功能处于打开还是关闭状态
管理审计目录和审计文件
管理审计队列
获取并设置预选掩码
获取审计事件并将其设置为审计类映射
获取并设置配置信息,如会话 ID 和审计 ID
配置进程、shell 以及会话的审计特征
重置审计统计信息
有关命令选项的介绍,请参见 auditconfig(1M) 手册页。