查看二进制审计文件的内容
对于指定有 "Audit Review"(审计查看)权限配置文件的管理员,可以使用 praudit 命令查看二进制审计文件的内容。
# praudit options
以下是部分选项的列表。可将其中一个选项与 –l 选项组合使用,以便每行显示一个记录。
–s
以短格式显示审计记录,每行一个标记。
–r
以原始格式显示审计记录,每行一个标记。
–x
以 XML 格式显示审计记录,每行一个标记。该选项可用于进一步处理。
通过从 auditreduce 命令传输 praudit 输出,也可以同时使用 auditreduce 和 praudit 命令。
示例 5-7以短格式显示审计记录
在本示例中,将以短格式显示 auditreduce 命令提取的登录和注销事件。
# auditreduce -c lo | praudit -s
header,69,2,AUE_screenlock,,mach1,2010-10-14 08:02:56.348 -07:00
subject,jdoe,root,staff,jdoe,staff,856,50036632,82 0 mach1
return,success,0
sequence,1298
示例 5-8以原始格式显示审计记录
在本示例中,将以原始格式显示 auditreduce 命令提取的登录和注销事件。
# auditreduce -c lo | praudit -r
21,69,2,6222,0x0000,10.132.136.45,1287070091,698391050
36,26700,0,10,26700,10,856,50036632,82 0 10.132.136.45
39,0,0
47,1298
示例 5-9以 XML 格式显示审计记录
在本示例中,将审计记录转换为 XML 格式。
# praudit -x 20100827183214.20100827215318.logins > 20100827.logins.xml
同样,您可以以 XML 格式显示 auditreduce 命令过滤的审计记录。
# auditreduce -c lo | praudit -x
iso8601="2010-10-14 08:28:11.698 -07:00">
可以使用脚本对文件内容进行操作,以提取相关信息。
示例 5-10生成适合在浏览器中阅读的 XML 格式的审计记录
您可以使用 xsltproc 工具将记录重新格式化为 XML 文件,以便能在任何浏览器中浏览这些记录。该工具将样式表定义应用到文件内容。要将重新格式化后的内容放置在单独的文件中,可键入以下命令:
# auditreduce -c lo | praudit -x | xsltproc - > logins.html
在浏览器中,将按类似于以下所示的格式显示 logins.html 的内容:
Audit Trail Data
File: time: 2013-11-04 12:54:28.000 -08:00
Event: login - local
time: 2013-11-04 12:54:28.418 -08:00 vers: 2 mod: host: host
SUBJECT audit-uid: jdoe uid: jdoe gid: staff ruid: jdoe rgid: staff
pid: 1534 sid: 3583012893 tid: 0 0 host
RETURN errval: success retval: 0
Event: connect to RAD
time: 2013-11-04 12:54:52.029 -08:00 vers: 2 mod: host: host
SUBJECT audit-uid: jdoe uid: jdoe gid: staff ruid: jdoe rgid: staff
pid: 1835 sid: 3583012893 tid: 0 0 host
RETURN errval: success retval: 0
Event: role login
time: 2013-11-08 08:42:52.286 -08:00 vers: 2 mod: host: host
SUBJECT audit-uid: jdoe uid: root gid: root ruid: root rgid: root
pid: 4265 sid: 3583012893 tid: 0 0 host
RETURN errval: success retval: 0
Event: role logout
time: 2013-11-08 08:43:37.125 -08:00 vers: 2 mod: host: host
SUBJECT audit-uid: jdoe uid: root gid: root ruid: root rgid: root
pid: 4265 sid: 3583012893 tid: 0 0 host
RETURN errval: success retval: 0
Event: login - ssh
time: 2013-12-23 12:24:37.292 -08:00 vers: 2 mod: host: host
SUBJECT audit-uid: jsmith uid: jsmith gid: staff ruid: jsmith rgid: staff
pid: 2002 sid: 39351741 tid: 14632 202240 host.example.com
RETURN errval: success retval: 0
Event: role login
time: 2013-12-23 12:25:07.345 -08:00 vers: 2 mod: fe host: host
SUBJECT audit-uid: jsmith uid: root gid: root ruid: root rgid: root
pid: 2023 sid: 39351741 tid: 14632 202240 host.example.com
RETURN errval: failure retval: Permission denied
Event: su
time: 2013-12-23 17:19:24.031 -08:00 vers: 2 mod: na host: host
RETURN errval: success retval: 0
Event: su logout
time: 2013-12-23 17:19:24.362 -08:00 vers: 2 mod: na host: host
RETURN errval: success retval: 0
Event: login - ssh
time: 2013-12-23 17:27:21.306 -08:00 vers: 2 mod: host: host
SUBJECT audit-uid: jsmith uid: jsmith gid: staff ruid: jsmith rgid: staff
pid: 2583 sid: 3401970889 tid: 13861 5632 host.example.com
RETURN errval: success retval: 0
Event: role login
time: 2013-12-23 17:27:28.361 -08:00 vers: 2 mod: host: host
SUBJECT audit-uid: jsmith uid: root gid: root ruid: root rgid: root
pid: 2593 sid: 3401970889 tid: 13861 5632 host.example.com
RETURN errval: success retval: 0
Event: role logout
time: 2013-12-23 17:30:39.029 -08:00 vers: 2 mod: host: host
SUBJECT audit-uid: jsmith uid: root gid: root ruid: root rgid: root
pid: 2593 sid: 3401970889 tid: 13861 5632 host.example.com
RETURN errval: success retval: 0
Other events
示例 5-11仅显示 pfedit 记录
您可以使用过滤器只提取和查看审计迹中的特定记录。在本示例中,将对用于捕获 pfedit 命令使用情况的记录进行过滤。假设摘要文件为 20130827183936.20130827232326.logins。使用 pfedit 命令时可生成 AUE_admin_edit 事件。因此,要提取 pfedit 记录,应运行以下命令:
auditreduce -m AUE_admin_edit 20130827183936.20130827232326.logins | praudit
示例 5-12打印整个审计迹
通过打印命令的管道,整个审计迹的输出将传输到打印机。出于安全考虑,打印机的访问权限将受到限制。
# auditreduce | praudit | lp -d example.protected.printer
示例 5-13查看特定审计文件
在本示例中,将在终端窗口中查看登录文件摘要。
# cd /var/audit/audit_summary/logins
# praudit 20100827183936.20100827232326.logins | more
示例 5-14使用脚本处理 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 区分开来。

如果出现类似如下的消息,则表明您没有足够的特权,无法使用 praudit 命令:

praudit: Can't assign 20090408164827.20090408171614.sys1.1 to stdin.

在配置文件 shell 中运行 praudit 命令。您必须是指定有 "Audit Review"(审计查看)权限配置文件的管理员。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全中的使用所指定的管理权限。