确定审计策略
审计策略确定本地系统审计记录的特征。策略选项由启动脚本设置。启用审计服务的 bsmconv 脚本会创建 /etc/security/audit_startup 脚本。audit_startup 脚本执行 auditconfig 命令来建立审计策略。有关此脚本的详细信息,请参见 audit_startup(1M) 手册页。
缺省情况下,会禁用大多数审计策略选项以最大程度地减少存储需求和系统处理需求。您可以使用 auditconfig 命令动态启用和禁用审计策略选项。可以使用 audit_startup 脚本永久启用和禁用策略选项。
参考下表确定启用一个或多个审计策略选项而造成的额外开销是否与站点的需求相适应。
表 29-1 审计策略选项的影响
|
|
|
|
该策略仅适用于异步事件。禁用后,该策略允许在不生成审计记录的情况下完成事件。 启用后,该策略会在审计文件系统已满时停止系统。需要管理干预才能清除审计队列、为审计记录提供空间,以及重新引导系统。只能在全局区域中启用该策略。该策略影响所有区域。 |
当系统可用性比安全性更重要时,适合禁用该选项。 在安全性极为重要的环境中,适合启用该选项。 |
|
禁用后,该策略将省略 exec 审计记录中已执行程序的环境变量。 启用后,该策略会将已执行程序的环境变量添加到 exec 审计记录。与禁用该策略的情况相比,生成的审计记录包含的详细信息要多得多。 |
与启用该选项的情况相比,禁用该选项后收集的信息要少很多。 审计许多用户时,适合启用该选项。怀疑 exec 程序中使用的环境变量有问题时,也可以使用此选项。 |
|
禁用后,该策略将省略 exec 审计记录中已执行程序的参数。 启用后,该策略会将已执行程序的参数添加到 exec 审计记录。与禁用该策略的情况相比,生成的审计记录包含的详细信息要多得多。 |
与启用该选项的情况相比,禁用该选项后收集的信息要少很多。 审计许多用户时,适合启用该选项。当您确信运行的 exec
程序异常时,也可以使用此选项。 |
|
禁用后,该策略将阻止用户或应用程序运行。由于没有可用磁盘空间而导致审计记录无法添加到审计迹时,会发生阻止。 启用后,该策略允许在不生成审计记录的情况下完成事件。该策略将保留丢弃的审计记录数。 |
在安全性极为重要的环境中,适合禁用该选项。 当系统可用性比安全性更重要时,适合启用该选项。 |
|
禁用后,该策略不会在审计记录中添加组列表。 启用后,该策略会在每条审计记录中添加组列表作为特殊标记。 |
禁用该选项通常可以满足站点的安全要求。 当需要审计哪些组正在生成审计事件时,适合启用该选项。 |
|
禁用后,该策略会在每条审计记录中最多记录一条在系统调用期间使用的路径。 启用后,该策略会将与审计事件结合使用的每条路径记录到每条审计记录中。 |
禁用该选项最多在审计记录中放置一条路径。 启用该选项会将系统调用期间使用的每个文件名或路径输入到审计记录中,作为 path 标记。 |
|
禁用后,该策略针对每个系统只维护一个审计配置。全局区域中运行一个审计守护进程。通过预选 zonename 审计标记,可在审计记录中找到非全局区域中的审计事件。 启用后,该策略会为每个区域维护单独的审计配置、审计队列和审计日志。每个区域中运行单独的审计守护进程版本。只能在全局区域中启用该策略。 |
当您没有特殊理由为每个区域维护单独的审计日志、队列和守护进程时,禁用该选项很有用。 当仅通过预选 zonename 审计标记无法有效监视系统时,启用该选项很有用。 |
|
禁用后,如果预选了文件读取,则该策略不会将公共对象的只读事件添加到审计迹。包含只读事件的审计类包括 fr、 fa 和 cl。 启用后,如果预选了适当的审计类,则该策略会记录公共对象的每个只读审计事件。 |
禁用该选项通常可以满足站点的安全要求。 启用该选项的作用很小。 |
|
禁用后,该策略不会将序列号添加到每条审计记录中。 启用后,该策略会将序列号添加到每条审计记录中。sequence 标记保留序列号。 |
当审计顺利进行时,禁用该选项便足以满足要求。 启用 cnt
策略后,适合启用该选项。使用 seq 策略可以确定废弃数据的时间。 |
|
禁用后,该策略不会将 trailer 标记添加到审计记录中。 启用后,该策略会将 trailer 标记添加到每条审计记录中。 |
禁用该选项会创建一条较小的审计记录。 启用该选项会使用 trailer 标记清楚地标记每条审计记录的末尾。trailer 标记经常与 sequence 标记结合使用。通过
trailer 标记,可以更方便、更准确地重新同步审计记录。 |
|
禁用后,该策略不会在审计记录中包括 zonename 标记。 启用后,该策略会在非全局区域的每条审计记录中包括 zonename 标记。 |
无需比较各个区域的审计行为时,禁用该选项很有用。 需要区分各区域的审计行为并对其进行比较时,启用该选项很有用。 |
|
同步事件和异步事件的审计策略
ahlt 策略和 cnt 策略一起控制由于审计队列已满而无法接受更多事件时发生的状况。这些策略既彼此独立,又相互关联。结合使用这些策略可以带来以下效果:
-
-ahlt +cnt 是随附的缺省策略。使用该缺省策略,即使无法记录审计的事件,也可以对它进行处理。
-ahlt 策略指明,如果无法将一个异步事件的审计记录放入内核审计队列,系统将对事件计数并继续处理。在全局区域,as_dropped 计数器会记录该计数。
+cnt 策略指明,如果一个同步事件已到达却无法被放入内核审计队列,系统将对事件计数并继续处理。区域的 as_dropped 计数器会记录该计数。
-ahlt +cnt 配置通常在那些即使继续处理会导致审计记录丢失,也必须继续处理的站点上使用。auditstatdrop 字段显示区域中丢弃的审计记录数。
-
+ahlt -cnt 策略指明,当事件无法添加到内核审计队列时,处理将会停止。
+ahlt 策略指明,如果一个异步事件的审计记录无法被放入内核审计队列,所有处理都将停止。系统将进入混乱状态。异步事件将不会进入审计队列,而必须通过调用栈上的指针恢复。
-cnt 策略指明,如果一个同步事件无法被放入内核审计队列,则会阻塞尝试发送事件的线程。该线程将被放入休眠队列,直到审计空间可用。不会保留计数。在审计空间可用之前,程序看上去可能处于挂起状态。
+ahlt -cnt 配置通常在每个审计事件记录的重要性高于系统可用性的站点上使用。在审计空间可用之前,程序看上去处于挂起状态。auditstat wblk 字段显示线程被阻塞的次数。
但是,如果发生异步事件,系统将进入混乱状态,从而导致故障。可以通过保存的故障转储手动恢复审计事件的内核队列。异步事件将不会进入审计队列,而必须通过调用栈上的指针恢复。
-
-ahlt -cnt 策略指明,如果异步事件无法被放入内核审计队列,将对事件计数,并继续处理。如果一个同步事件无法被放入内核审计队列,则会阻塞尝试发送事件的线程。该线程将被放入休眠队列,直到审计空间可用。不会保留计数。在审计空间可用之前,程序看上去可能处于挂起状态。
-ahlt -cnt 配置通常在那些所有同步审计事件的记录比部分异步审计记录的潜在损失重要的站点上使用。auditstat wblk 字段显示线程被阻塞的次数。
-
+ahlt +cnt 策略指明,如果异步事件无法放入内核审计队列,系统将进入混乱状态。如果无法将同步事件放入内核审计队列,系统将对事件计数,然后继续处理。