系统管理指南:安全性服务

在审计服务中使用的文件

审计服务使用以下文件:

system 文件

/etc/system 文件包含内核在初始化期间读取以自定义系统操作的命令。用于激活和取消激活审计功能的 bsmconv bsmunconv shell 脚本可修改 /etc/system 文件。 bsmconv shell 脚本将以下行添加到 /etc/system 文件:


set c2audit:audit_load=1

set c2audit:audit_load=1 项将导致在引导系统时装入用于审计的内核模块。bsmunconv shell 脚本将在重新引导系统时禁用审计功能。此命令可从 /etc/system 文件中删除 c2audit 行。

syslog.conf 文件

/etc/syslog.conf 文件可与 audit_control 文件结合使用以存储文本格式的审计记录。可以将 syslog.conf 文件配置为启用 syslog 实用程序来存储审计记录。有关示例,请参见如何配置 syslog 审计日志

audit_class 文件

/etc/security/audit_class 文件可定义审计类。审计类是指多组审计事件。可以使用 audit_control 文件中的类名来预选要审计其事件的类。这些类可接受前缀以仅选择失败的事件或仅选择成功的事件。有关更多信息,请参见审计类语法

超级用户或承担等效角色的管理员可以修改审计类的定义。此管理员可以通过在文本编辑器中编辑 audit_class 文件来定义新的审计类,重命名现有类,或更改现有类。有关更多信息,请参见 audit_class(4) 手册页。

audit_control 文件

每个系统上的 /etc/security/audit_control 文件都包含 auditd 守护进程的配置信息。使用此文件,每个系统都可以装入远程审计文件系统来存储其审计记录。

可以在 audit_control 文件中指定五种信息类型。每个信息行都以关键字开始。

有关 audit_control 文件的更多信息,请参见 audit_control(4) 手册页。


示例 30–2 audit_control 文件样例

以下是系统 noddyaudit_control 文件样例。noddy 使用的两个审计文件系统位于审计服务器 blinken 上,第三个审计文件系统从第二台审计服务器 winken 中装入。仅当 blinken 上的审计文件系统变满或不可用时,才使用第三个文件系统。如果 minfree 的值为 20%,则指定当文件系统的空间使用率达到 80% 时运行警告脚本。这些设置指定可以对登录和管理操作进行审计。可以对操作进行审计以查看成功和失败的情况。可以对所有类型的失败进行审计(但创建文件系统对象失败除外),还可以对不具归属性的事件进行审计。syslog 审计日志将记录较少的审计事件。此日志包含失败的登录和管理操作的文本摘要。


flags:lo,am,-all,^-fc

naflags:lo,nt

minfree:20

dir:/etc/security/audit/blinken/files

dir:/etc/security/audit/blinken.1/files

#

# Audit filesystem used when blinken fills up

#

dir:/etc/security/audit/winken

plugin:name=audit_syslog.so.1; p_flags=-lo,-am

audit_event 文件

/etc/security/audit_event 文件包含缺省的审计事件到类的映射。可以编辑此文件来更改类映射。更改类映射时,必须重新引导系统或运行 auditconfig -conf 命令以将已更改的映射读入内核。有关更多信息,请参见 audit_event(4) 手册页。

audit_startup 脚本

当系统进入多用户模式时,/etc/security/audit_startup 脚本可自动配置审计服务。在 auditd 守护进程启动之前,此脚本要执行以下任务:

有关更多信息,请参见 audit_startup(1M) 手册页。

audit_user 数据库

/etc/security/audit_user 数据库可针对单个用户修改系统范围的预选类。添加到 audit_user 数据库内用户项中的类可以通过两种方法修改 audit_control 文件中的设置:

audit_user 数据库中的每个用户项都包含三个字段:


username:always-audit-classes:never-audit-classes

审计字段将按顺序进行处理。always-audit-classes 字段打开对其中的类的审计。never-audit-classes 字段关闭对其中的类的审计。


注 –

应避免出现在 never-audit-classes 字段中放置 all 审计类这种常见错误。此错误将导致针对此用户关闭所有审计功能,从而覆盖 always-audit-classes 字段中的设置。此设置还覆盖 audit_control 文件中的系统范围的审计类设置。


用户的 never-audit-classes 设置将覆盖系统缺省设置。您可能不需要覆盖系统缺省设置。例如,假定您需要针对用户 tamiko 审计所有内容,但文件系统对象的成功读取除外。您还需要将系统缺省设置应用于 tamiko。请注意,在以下 audit_user 项中放置第二个冒号 (:):


tamiko:all,^+fr:  正确的项

正确的项意味着“始终审计所有内容,但成功的文件读取除外”。


tamiko:all:+fr    错误的项

不正确的项意味着“始终审计所有内容,但从不审计成功的文件读取”。跟在第二个冒号之后的 never-audit-classes 字段将覆盖系统缺省设置。在正确的项中,always-audit-classes 字段包括 all 审计类的例外。由于 never-audit-classes 字段中没有审计类,因此,不会覆盖 audit_control 文件中的系统缺省设置。


注 –

成功的事件和失败的事件将分别进行处理。进程针对失败事件生成的审计记录数多于针对成功事件生成的审计记录数。


audit_warn 脚本

如果 auditd 守护进程在写入审计记录时遇到异常情况,则 /etc/security/audit_warn 脚本可通知电子邮件别名。您可以针对自己的站点自定义此脚本,以便在出现可能需要手动干预的情况时发出警告。也可以指定如何自动处理这些情况。对于所有错误情况,audit_warn 脚本将带有 daemon.alert 这一严重级别的消息写入 syslog。您可以使用 syslog.conf 来配置 syslog 消息的控制台显示。audit_warn 脚本还可将消息发送到 audit_warn 电子邮件别名。应在启用审计功能时设置此别名。

auditd 守护进程检测到以下情况时,便会调用 audit_warn 脚本。此脚本向 audit_warn 别名发送电子邮件。

有关详细信息,请参见 audit_warn(1M) 手册页。

bsmconv 脚本

/etc/security/bsmconv 脚本可启用审计服务。 bsmunconv 命令可禁用审计服务。当 bsmconv 脚本运行之后,您可以配置审计目录和审计配置文件。重新引导系统时,将启用审计功能。

有关详细信息,请参见 bsmconv(1M) 手册页。