审计记录收集在审计日志中。Solaris 审计为审计日志提供两种输出模式。称为审计文件的日志以二进制格式存储审计记录。系统或站点的审计文件组提供完整的审计记录。完整的审计记录称为审计跟踪。
syslog 实用程序收集并存储审计记录的文本版本的摘要。syslog 记录不是完整的记录。以下示例给出了 login 审计记录的 syslog 项:
Oct 13 11:24:11 example_system auditd: [ID 6472 audit.notice] \ login - login ok session 378 by root as root:other |
一个站点可以使用两种格式存储审计记录。可以配置站点中的系统,使其可以使用二进制模式,或者可以同时使用这两种模式。下表对二进制审计记录和 syslog 审计记录进行了比较。
表 27–2 二进制审计记录和 syslog 审计记录的比较
功能 |
二进制记录 |
syslog 记录 |
---|---|---|
协议 |
写入文件系统 |
将 UDP 用于远程日志 |
数据类型 |
二进制 |
文本 |
记录长度 |
无限制 |
每条审计记录最多 1024 个字符 |
位置 |
存储在本地磁盘上以及使用 NFS 挂载的目录中 |
存储在 syslog.conf 文件中指定的位置 |
配置方式 |
编辑 audit_control 文件,并保护 NFS 挂载审计目录 |
编辑 audit_control 文件,编辑 syslog.conf 文件 |
读取方式 |
通常,以批处理模式读取 XML 格式的浏览器输出 |
实时读取,或者通过为 syslog 创建的脚本进行搜索 纯文本输出 |
完整性 |
保证完整,并且以正确的顺序显示 |
不能保证完整 |
时间标记 |
格林威治标准时间 (Greenwich Mean Time, GMT) |
被审计的系统时间 |
二进制记录提供最高的安全性和最大的范围。二进制输出满足安全证书的要求,例如公共标准受控制访问保护配置 (Controlled Access Protection Profile, CAPP)。这些记录将写入被保护不受窥探的文件系统中。在单独的系统上,将收集所有二进制记录并按顺序显示它们。当某个审计跟踪内的各系统跨时间区域分布时,便可使用二进制日志中的 GMT 时间标记进行精确比较。使用 praudit -x 命令可在浏览器中查看 XML 格式的记录。还可以使用脚本来解析 XML 输出。
相反,syslog 记录可以提供更大的便利性和灵活性。例如,您可以从各种源收集 syslog 数据。此外,当您监视 syslog.conf 文件中的 audit.notice 事件时,syslog 实用程序会记录一条带有当前时间标记的审计记录摘要。您可以使用为来自各种源(包括工作站、服务器、防火墙,以及路由器)的 syslog 消息开发的管理和分析工具。可以实时查看记录,并将其存储在远程系统中。
通过使用 syslog.conf 远程存储审计记录,可以保护日志数据免遭攻击者改动或删除。另一方面,远程存储审计记录时,这些记录容易遭受拒绝服务、伪装源地址等网络攻击。此外,UDP 会丢包或无序发送包。syslog 项的限制为 1024 个字符,所以可能截断日志中的某些审计记录。在单独的系统上,并非收集所有的审计记录。可能不会按顺序显示记录。由于每条审计记录都使用本地系统的日期和时间进行标记,因此不能根据时间标记为多个系统构造审计跟踪。
有关审计日志的更多信息,请参阅以下内容: