16.11.进程审计

进程审计是一种安全方法,管理员可以在其中审计所使用的系统资源及其在用户之间的分配,提供系统监控,并最低限度地审计用户的命令。

进程审计既有正面也有负面。其中一个积极因素是,入侵可能会缩小到入口点。负面影响是指进程审计生成的日志量以及它们可能需要的磁盘空间。本节将引导管理员了解进程审计的基础知识。

注意

如果需要更细粒度的审计,请参阅安全事件审计

16.11.1.启用和利用进程审计

在使用进程审计之前,必须使用以下命令启用它:

# sysrc accounting_enable=yes
# service accounting start

审计信息存储在位于 /var/account 的文件中,如有必要,审计服务将在首次启动时自动创建该文件。这些文件包含敏感信息,包括所有用户执行的所有命令。此文件的写入权限限制为 root 账户,读取权限仅限于 rootwheel 组的成员。要同时防止 wheel 的成员读取文件,请将 /var/account 目录的权限更改为仅允许让 root 访问。

启用后,审计将开始追踪 CPU 统计信息和执行的命令等信息。所有审计日志均采用非人类可读格式,但可使用 sa 查看。如果执行时没有任何选项,sa 则打印与每用户调用数、总运行时间(以分钟为单位)、总 CPU 和用户时间(以分钟为单位)以及平均 I/O 操作数相关的信息。请参阅 sa(8) 以获取控制输出的可用选项列表。

要显示用户执行的命令,请使用 lastcomm。例如,使用此命令打印出 ttyp1 终端上 trhodes 所有的 ls 操作:

# lastcomm ls trhodes ttyp1

还存在许多其他有用的选项,并在 lastcomm(1)acct(5)sa(8) 中进行了解释。