在 Oracle® Solaris 11.2 中管理审计

退出打印视图

更新时间: 2014 年 7 月
 
 

如何为审计文件创建 ZFS 文件系统

以下过程说明如何为审计文件创建 ZFS 池以及相应的文件系统和挂载点。缺省情况下,/var/audit 文件系统为 audit_binfile 插件保存审计文件。

开始之前

您必须是指定有 "ZFS File System Management"(ZFS 文件系统管理)和 "ZFS Storage Management"(ZFS 存储管理)权限配置文件的管理员。通过后一个配置文件可以创建存储池。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限

  1. 确定所需的磁盘空间量。

    每个主机至少指定 200 MB 磁盘空间。但是,由于所需审计量决定磁盘空间需求,所需的磁盘空间可能远大于此数字。


    注 -  缺省类预选在 /var/audit 中创建文件,对于 lo 类中记录的每个事件实例(如登录、注销或角色承担),这些文件增长约 80 字节。
  2. 创建镜像 ZFS 存储池。

    zpool create 命令创建一个存储池作为 ZFS 文件系统的容器。有关更多信息,请参见在 Oracle Solaris 11.2 中管理 ZFS 文件系统 中的第 1  章 Oracle Solaris ZFS 文件系统(介绍)

    # zpool create audit-pool mirror disk1 disk2
    

    例如,从两个磁盘(c3t1d0c3t2d0)创建 auditp 池并镜像这两个磁盘。

    # zpool create auditp mirror c3t1d0 c3t2d0
    
  3. 为审计文件创建 ZFS 文件系统和挂载点。

    使用一个命令创建文件系统和挂载点。创建时,文件系统已挂载。例如,下图显示了按主机名存储的审计迹存储。


    image:图中显示了顶层目录名称为主机名的审计根目录。

    注 -  如果计划加密文件系统,必须在创建文件系统时对其进行加密。有关示例,请参见Example 4–1

    加密需要进行管理。例如,挂载时需要口令短语。有关更多信息,请参见在 Oracle Solaris 11.2 中管理 ZFS 文件系统 中的加密 ZFS 文件系统


    # zfs create -o mountpoint=/mountpoint audit-pool/mountpoint
    

    例如,为 auditf 文件系统创建 /audit 挂载点。

    # zfs create -o mountpoint=/audit auditp/auditf
    
  4. 为审计文件创建 ZFS 文件系统。
    # zfs create -p auditp/auditf/system
    

    例如,为 sys1 系统创建未加密的 ZFS 文件系统。

    # zfs create -p auditp/auditf/sys1
    
  5. (u53ef选) 为审计文件创建其他文件系统。

    创建其他文件系统的一个原因是阻止审计溢出。可以设置每个文件系统的 ZFS 配额,如Step 8 中所示。达到每个配额时,audit_warn 电子邮件别名会通知您。要释放空间,可以将关闭的审计文件移动到远程服务器。

    # zfs create -p auditp/auditf/sys1.1
    
    # zfs create -p auditp/auditf/sys1.2
    
  6. 保护父审计文件系统。

    为池中的所有文件系统将以下 ZFS 属性设置为 off

    # zfs set devices=off auditp/auditf
    
    # zfs set exec=off auditp/auditf
    
    # zfs set setuid=off auditp/auditf
    
  7. 压缩池中的审计文件。

    通常,压缩是在 ZFS 中的文件系统级别设置的。但是,由于此池中的所有文件系统都包含审计文件,因此会在顶级数据集为池设置压缩。

    # zfs set compression=on auditp
    

    另请参见在 Oracle Solaris 11.2 中管理 ZFS 文件系统 中的ZFS 压缩、重复数据删除和加密属性之间的交互

  8. 设置配额。

    可以设置父文件系统和/或后代文件系统上的配额。如果设置父审计文件系统上的配额,后代文件系统上的配额将强加其他限制。

    1. 设置父审计文件系统上的配额。

      在以下示例中,auditp 池中的两个磁盘都达到配额时,audit_warn 脚本将通知审计管理员。

      # zfs set quota=510G auditp/auditf
      
    2. 设置后代审计文件系统上的配额。

      在以下示例中,达到 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
      
  9. 对于大型池,限制审计文件的大小。

    缺省情况下,审计文件可以增长到池的大小。为了便于管理,限制审计文件的大小。请参见Example 4–3

示例 4-1  为审计文件创建加密文件系统

为了符合站点安全要求,管理员需要执行以下步骤:

  1. 创建新的 ZFS 池来存储加密的审计日志(如有必要)。

  2. 生成密钥。

  3. 在启用加密的情况下,创建用于存储审计日志的审计文件系统并设置挂载点。

  4. 将审计配置为使用加密目录。

  5. 刷新审计服务以应用新的配置设置。


# 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