在 Oracle® Solaris 11.2 中管理审计

退出打印视图

更新时间: 2014 年 7 月
 
 

审计日志

    审计记录是在审计日志中收集的。对于审计记录,审计服务提供三种输出模式。

  • 称为审计文件的日志以二进制格式存储审计记录。系统或站点的审计文件集提供完整的审计记录。完整的审计记录称为审计迹。这些日志由 audit_binfile 插件创建,可通过 prauditauditreduce 后选命令查看。

  • audit_remote 插件可将审计记录流化处理到远程系统信息库。该系统信息库负责维护审计迹并提供后选工具。

  • syslog 实用程序收集并存储审计记录的文本摘要。syslog 记录不是完整的记录。以下示例显示了 login 审计记录的 syslog 项:

    Oct 10  10:10:20 example_system auditd: [ID 6472 audit.notice] \
    login - login ok session 4076172534 by root as root:other

站点可以配置审计以收集所有格式的审计记录。您可以对您的站点中的系统进行配置,以在本地使用二进制模式,将二进制文件发送到远程系统信息库,以及使用 syslog 模式。下表对二进制审计记录和 syslog 审计记录进行了比较。

表 1-1  二进制审计记录、远程审计记录以及 syslog 审计记录的比较
功能
二进制和远程记录
syslog 记录
协议
二进制-写入文件系统
远程-流化处理到远程系统信息库
将 UDP 用于远程日志记录
数据类型
二进制
文本
记录长度
无限制
每条审计记录最多 1024 个字符
位置
二进制-存储在系统上的 zpool
远程-远程系统信息库
存储在 syslog.conf 文件中指定的位置
配置方式
二进制-在 audit_binfile 插件上设置 p_dir 属性
远程-在 audit_remote 插件上设置 p_hosts 属性,并使该插件处于活动状态
使 audit_syslog 插件处于活动状态并配置 syslog.conf 文件
读取方式
二进制-在批处理模式下,浏览器通常以 XML 格式输出
远程-系统信息库指定相应过程
实时读取,或者通过为 syslog 创建的脚本进行搜索
纯文本输出
完整性
保证完整,并且以正确的顺序显示
不能保证完整
时间戳
国际协调时间 (Coordinated Universal Time, UTC)
审计的系统时间

关于二进制记录

二进制记录提供最高的安全性和最大的覆盖范围。二进制输出满足安全证书的要求,例如通用准则 审计要求。

audit_binfile 插件可将记录写入对其进行保护以防止偷窥的文件系统中。在单个系统上,将收集所有二进制记录并按顺序显示它们。当某个审计迹内的系统分布于不同的时区时,可以参考二进制日志中的 UTC 时间戳进行精确比较。使用 praudit -x 命令可在浏览器中查看 XML 格式的记录。还可以使用脚本来解析 XML 输出。

audit_remote 插件可将记录写入远程系统信息库。该系统信息库负责存储和后选。

关于 syslog 审计记录

相反,syslog 记录可能会提供更大的便利性和灵活性。例如,您可以从各种源收集 syslog 数据。此外,当您监视 syslog.conf 文件中的 audit.notice 事件时,syslog 实用程序会记录一条带有当前时间戳的审计记录摘要。您可以使用为来自各种源(包括工作站、服务器、防火墙和路由器)的 syslog 消息开发的同一管理和分析工具。可以实时查看记录,并将其存储在远程系统中。

通过使用 syslog.conf 远程存储审计记录,可以保护日志数据免遭攻击者改动或删除。不过,请注意 syslog 模式存在以下缺点。

  • 这些记录容易遭受拒绝服务、伪装源地址等网络攻击。

  • UDP 协议会丢包或无序发送包。

  • syslog 项的限制为 1024 个字符,因此可能会截断日志中的某些审计记录。

  • 在单个系统上,可能并非所有的审计记录都会收集,而且收集到的记录可能不会按顺序显示。

  • 每个审计记录会加盖本地系统的日期和时间。因此,您不能依靠时间戳为几个系统构建审计迹。