以下过程说明如何为审计文件创建 ZFS 池以及相应的文件系统和挂载点。缺省情况下,/var/audit 文件系统为 audit_binfile 插件保存审计文件。
开始之前
您必须是指定有 "ZFS File System Management"(ZFS 文件系统管理)和 "ZFS Storage Management"(ZFS 存储管理)权限配置文件的管理员。通过后一个配置文件可以创建存储池。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。
每个主机至少指定 200 MB 磁盘空间。但是,由于所需审计量决定磁盘空间需求,所需的磁盘空间可能远大于此数字。
zpool create 命令创建一个存储池作为 ZFS 文件系统的容器。有关更多信息,请参见在 Oracle Solaris 11.2 中管理 ZFS 文件系统 中的第 1 章 Oracle Solaris ZFS 文件系统(介绍)。
# zpool create audit-pool mirror disk1 disk2
例如,从两个磁盘(c3t1d0 和 c3t2d0)创建 auditp 池并镜像这两个磁盘。
# zpool create auditp mirror c3t1d0 c3t2d0
使用一个命令创建文件系统和挂载点。创建时,文件系统已挂载。例如,下图显示了按主机名存储的审计迹存储。
加密需要进行管理。例如,挂载时需要口令短语。有关更多信息,请参见在 Oracle Solaris 11.2 中管理 ZFS 文件系统 中的加密 ZFS 文件系统。
# zfs create -o mountpoint=/mountpoint audit-pool/mountpoint
例如,为 auditf 文件系统创建 /audit 挂载点。
# zfs create -o mountpoint=/audit auditp/auditf
# zfs create -p auditp/auditf/system
例如,为 sys1 系统创建未加密的 ZFS 文件系统。
# zfs create -p auditp/auditf/sys1
创建其他文件系统的一个原因是阻止审计溢出。可以设置每个文件系统的 ZFS 配额,如Step 8 中所示。达到每个配额时,audit_warn 电子邮件别名会通知您。要释放空间,可以将关闭的审计文件移动到远程服务器。
# zfs create -p auditp/auditf/sys1.1 # zfs create -p auditp/auditf/sys1.2
为池中的所有文件系统将以下 ZFS 属性设置为 off:
# zfs set devices=off auditp/auditf # zfs set exec=off auditp/auditf # zfs set setuid=off auditp/auditf
通常,压缩是在 ZFS 中的文件系统级别设置的。但是,由于此池中的所有文件系统都包含审计文件,因此会在顶级数据集为池设置压缩。
# zfs set compression=on auditp
另请参见在 Oracle Solaris 11.2 中管理 ZFS 文件系统 中的ZFS 压缩、重复数据删除和加密属性之间的交互。
可以设置父文件系统和/或后代文件系统上的配额。如果设置父审计文件系统上的配额,后代文件系统上的配额将强加其他限制。
在以下示例中,auditp 池中的两个磁盘都达到配额时,audit_warn 脚本将通知审计管理员。
# zfs set quota=510G auditp/auditf
在以下示例中,达到 auditp/auditf/system 文件系统的配额时,audit_warn 脚本将通知审计管理员。
# zfs set quota=170G auditp/auditf/sys1 # zfs set quota=170G auditp/auditf/sys1.1 # zfs set quota=165G auditp/auditf/sys1.2
缺省情况下,审计文件可以增长到池的大小。为了便于管理,限制审计文件的大小。请参见Example 4–3。
为了符合站点安全要求,管理员需要执行以下步骤:
创建新的 ZFS 池来存储加密的审计日志(如有必要)。
生成密钥。
在启用加密的情况下,创建用于存储审计日志的审计文件系统并设置挂载点。
将审计配置为使用加密目录。
刷新审计服务以应用新的配置设置。
# zpool create auditp mirror disk1 disk2 # pktool genkey keystore=file outkey=/filename keytype=aes keylen=256 # zfs create -o encryption=aes-256-ccm \ -o keysource=raw,file:///filename \ -o compression=on -o mountpoint=/audit auditp/auditf # auditconfig -setplugin audit_binfile p_dir=/audit/ # audit -s
您必须备份和保护存储密钥的文件,如本例中的 filename。
管理员在 auditf 文件系统下创建其他文件系统时,也将加密这些后代文件系统。
示例 4-2 在 /var/audit 目录上设置配额在本示例中,管理员在缺省审计文件系统上设置配额。达到此配额时,audit_warn 脚本将警告审计管理员。
# zfs set quota=252G rpool/var/audit