14.12.进程审计

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

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

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

14.12.1. 启用和利用进程审计

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

  1. # sysrc accounting_enable=yes
  2. # service accounting start

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

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

要显示用户发出的命令,请使用 lastcomm 。例如,此命令打印出 ttyp1 终端上 trhodesls 的所有用法:

  1. # lastcomm ls trhodes ttyp1

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