JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:安全服务     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分安全性概述

1.  安全性服务(概述)

第 2 部分系统、文件和设备安全性

2.  管理计算机安全性(概述)

3.  控制对系统的访问(任务)

4.  病毒扫描服务(任务)

5.  控制对设备的访问(任务)

6.  使用基本审计报告工具(任务)

7.  控制对文件的访问(任务)

第 3 部分角色、权限配置文件和特权

8.  使用角色和特权(概述)

9.  使用基于角色的访问控制(任务)

10.  Oracle Solaris 中的安全属性(参考)

第 4 部分加密服务

11.  加密框架(概述)

12.  加密框架(任务)

13.  密钥管理框架

第 5 部分验证服务和安全通信

14.  网络服务验证(任务)

15.  使用 PAM

16.  使用 SASL

17.  使用 安全 Shell(任务)

18.  安全 Shell(参考)

第 6 部分Kerberos 服务

19.  Kerberos 服务介绍

20.  规划 Kerberos 服务

21.  配置 Kerberos 服务(任务)

22.  Kerberos 错误消息和故障排除

23.  管理 Kerberos 主体和策略(任务)

24.  使用 Kerberos 应用程序(任务)

25.  Kerberos 服务(参考)

第 7 部分在 Oracle Solaris 中审计

26.  审计(概述)

27.  规划审计

28.  管理审计(任务)

管理审计(任务列表)

配置审计服务(任务)

配置审计服务(任务列表)

如何显示审计服务缺省值

如何预选审计类

如何配置用户审计特征

如何更改审计策略

如何更改审计队列控制

如何配置 audit_warn 电子邮件别名

如何添加审计类

如何更改审计事件的类成员身份

配置审计日志(任务)

配置审计日志(任务列表)

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

如何为审计迹指定审计空间

如何向远程系统信息库发送审计文件

如何配置 syslog 审计日志

在区域中配置审计服务(任务)

如何配置以相同方式审计所有区域

如何配置每区域审计

启用和禁用审计服务(任务)

如何刷新审计服务

如何禁用审计服务

如何启用审计服务

在本地系统上管理审计记录(任务)

在本地系统上管理审计记录(任务列表)

如何显示审计记录定义

如何合并审计迹中的审计文件

如何从审计迹中选择审计事件

如何查看二进制审计文件的内容

如何清除 not_terminated 审计文件

如何防止审计迹溢出

审计服务的故障排除(任务)

审计服务的故障排除(任务列表)

如何确定审计正在运行

如何减少生成的审计记录数目

如何审计用户执行的所有命令

如何找到对特定文件更改的审计记录

如何更新已登录用户的预选掩码

如何阻止审计特定事件

如何限制二进制审计文件的大小

如何压缩专用文件系统上的审计文件

如何审计从其他操作系统的登录

如何审计 FTP 和 SFTP 文件传输

29.  审计(参考)

词汇表

索引

配置审计日志(任务)

两个审计插件(audit_binfileaudit_syslog)将审计日志发送到您可以配置的位置。以下任务帮助您配置这些日志。

配置审计日志(任务列表)

以下任务列表列出了为各种插件配置审计日志的过程。所有任务都是可选的。

任务
说明
参考
audit_binfile 插件添加本地存储。
为审计文件创建本地磁盘空间,并使用文件权限来保护它们。
audit_binfile 插件指定存储。
标识用于二进制审计记录的目录。
audit_remote 插件配置存储。
使您能够通过受保护的机制将审计记录发送到远程系统信息库。
audit_syslog 插件配置存储。
使您能够以文本格式将审计事件流式传输到 syslog

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

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

开始之前

您必须分配有 ZFS File System Management(ZFS 文件系统管理)和 ZFS Storage Management(ZFS 存储管理)权限配置文件。通过后一个配置文件可以创建存储池。

  1. 成为具有所需安全属性的管理员。

    有关更多信息,请参见如何获取管理权限

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

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


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


  3. 创建镜像 ZFS 存储池。

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

    # zpool create audit-pool mirror disk1 disk2

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

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

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


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

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

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


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

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

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

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

    # zfs create -p auditp/auditf/sys1
  6. 可选为审计文件创建其他文件系统。

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

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

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

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

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

    # zfs set compression=on auditp

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

  9. 设置配额。

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

    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
  10. 对于大型池,限制审计文件的大小。

    缺省情况下,审计文件可以增长到池的大小。为了便于管理,限制审计文件的大小。请参见示例 28-14

示例 28-12 为审计文件创建加密文件系统

为了符合站点安全要求,管理员将在打开加密的情况下创建审计文件系统。然后,管理员设置挂载点。

# zfs create -o encryption=on auditp/auditf
Enter passphrase for auditp/auditf': /** Type 8-character minimum passphrase**/
Enter again: /** Confirm passphrase **/
# zfs set -o mountpoint=/audit auditp/auditf

管理员在 auditf 文件系统下创建其他文件系统时,也将加密这些后代文件系统。

示例 28-13 在 /var/audit 目录上设置配额

在本示例中,管理员在缺省审计文件系统上设置配额。达到此配额时,audit_warn 脚本将警告审计管理员。

# zfs set quota=252G rpool/var/audit

如何为审计迹指定审计空间

在本过程中,使用 audit_binfile 插件的属性将其他磁盘空间指定给审计迹。

开始之前

您必须分配有 Audit Configuration(审计配置)权限配置文件。

  1. 成为具有所需安全属性的管理员。

    有关更多信息,请参见如何获取管理权限

  2. 确定 audit_binfile 插件的属性。

    阅读 audit_binfile(5) 手册页的 OBJECT ATTRIBUTES 部分。

    # man audit_binfile
    ...
    OBJECT ATTRIBUTES
         The p_dir attribute specifies where the audit files will be
         created. The directories are listed in the order in which
         they are to be used.
         
         The p_minfree attribute defines the percentage of free space
         that the audit system requires before the audit daemon invokes
         the audit_warn script.
    
         The p_fsize attribute defines the maximum size in bytes that
         an  audit  file can become before it is automatically closed
         and a new audit file  opened.  ...
  3. 要将目录添加到审计迹,请指定 p_dir 属性。

    缺省文件系统为 /var/audit

    # auditconfig -setplugin audit_binfile active p_dir=/audit/sys1.1,/var/audit

    上述命令将 /audit/sys1.1 文件系统设置为审计文件的主目录,将缺省 /var/audit 文件系统设置为辅助目录。在此方案中,/var/audit 是最后考虑采用的目录。要成功完成此配置,/audit/sys1.1 文件系统必须存在。

    如何为审计文件创建 ZFS 文件系统中已创建了类似的文件系统。

  4. 刷新审计服务。

    auditconfig -setplugin 命令设置已配置的值。该值为审计服务的属性,因此刷新或重新启动该服务时会恢复该值。刷新或重新启动审计服务时,已配置的值变为活动状态。有关配置的活动值的信息,请参见 auditconfig(1M) 手册页。

    # audit -s

示例 28-14 限制 audit_binfile 插件的文件大小

在以下示例中,二进制审计文件的大小设置为特定大小。大小是以兆字节为单位指定的。

# auditconfig -setplugin audit_binfile active p_fsize=4M
# auditconfig -getplugin audit_binfile
Plugin: audit_binfile (active)
    Attributes: p_dir=/var/audit;p_fsize=4M;p_minfree=1;

缺省情况下,审计文件大小可以无限制地增长。为了创建较小的审计文件,管理员指定文件大小上限为 4 MB。达到大小限制时,审计服务将创建新文件。管理员刷新审计服务后,文件大小限制开始生效。

# audit -s

示例 28-15 指定对审计插件的多个更改

在以下示例中,具有高吞吐量和大型 ZFS 池的系统上的管理员将更改 audit_binfile 插件的队列大小、二进制文件大小和软限制警告。管理员允许审计文件增长到 4 GB,在剩余 2% 的 ZFS 池时收到警告,并将允许的队列大小翻倍。缺省队列大小是内核审计队列的高水位标志 100,如 active audit queue hiwater mark (records) = 100 中所示。

# auditconfig -getplugin audit_binfile
Plugin: audit_binfile (active)
    Attributes: p_dir=/var/audit;p_fsize=2G;p_minfree=1;
# auditconfig -setplugin audit_binfile active "p_minfree=2;p_fsize=4G" 200
# auditconfig -getplugin audit_binfile
Plugin: audit_binfile (active)
    Attributes: p_dir=/var/audit;p_fsize=4G;p_minfree=2;
    Queue size: 200

管理员刷新审计服务后,更改的规范开始生效。

# audit -s

示例 28-16 删除审计插件的队列大小

在以下示例中,将删除 audit_binfile 插件的队列大小。

# auditconfig -getplugin audit_binfile
Plugin: audit_binfile (active)
    Attributes: p_dir=/var/audit;p_fsize=4G;p_minfree=2;
    Queue size: 200
# auditconfig -setplugin audit_binfile active "" ""
# auditconfig -getplugin audit_binfile
 Plugin: audit_binfile (active)
    Attributes: p_dir=/var/audit;p_fsize=4G;p_minfree=2;

最后的空引号 ("") 将插件的队列大小设置为缺省值。

管理员刷新审计服务后,插件的 qsize 规范中的更改开始生效。

# audit -s

示例 28-17 设置警告的软限制

在本示例中,设置了所有审计文件系统的最低空闲空间级别,以便在文件系统的可用空间只有 2% 时发出警告。

# auditconfig -setplugin audit_binfile active p_minfree=2

缺省百分比为 1 (1)。对于大型 ZFS 池,请适当地选择较低的百分比。例如,16 TB 池的 10% 大约是 16 GB,如果设为此值将在仍剩余大量磁盘空间时向审计管理员发出警告。如果值为 2,将在剩余大约 2 GB 磁盘空间时发送 audit_warn 消息。

audit_warn 电子邮件别名用于接收警告。要设置别名,请参见如何配置 audit_warn 电子邮件别名

对于大型池,管理员还会将文件大小限制为 3 GB。

# auditconfig -setplugin audit_binfile active p_fsize=3G

管理员刷新审计服务后,插件的 p_minfreep_fsize 规范开始生效。

# audit -s

如何向远程系统信息库发送审计文件

在本过程中,使用 audit_remote 插件的属性将审计迹发送到远程审计系统信息库。

开始之前

远程系统信息库上必须具有审计服务的接收者。您必须分配有 Audit Configuration(审计配置)权限配置文件。

  1. 成为具有所需安全属性的管理员。

    有关更多信息,请参见如何获取管理权限

  2. 确定 audit_remote 插件的属性。

    阅读 audit_remote(5) 手册页的 OBJECT ATTRIBUTES 部分。

    # man audit_remote
    ...
    OBJECT ATTRIBUTES
         The p_hosts attribute specifies the remote servers.
         You can also specify the port number and the GSS-API
         mechanism.
         
         The p_retries attribute specifies the number of retries for
         connecting and sending data. The default is 3.
    
         The p_timeout attribute specifies the number of seconds
         in which a connection times out.

    缺省端口是 solaris_audit IANA 指定的端口 16162/tcp。缺省机制是 kerberos_v5。缺省超时为 5 秒。您还可以指定插件的队列大小。

  3. 要指定远程主机,请使用 p_hosts 属性。
    # auditconfig -setplugin audit_remote active p_hosts=rhost1:16088:kerberos_v5
  4. 要指定重试次数,请使用 p_retries 属性。
    # auditconfig -setplugin audit_remote active p_retries=5
  5. 要指定连接超时长度,请使用 p_timeout 属性。
    # auditconfig -setplugin audit_remote active p_timeout=3
  6. 刷新审计服务。

    审计服务在刷新时将读取审计插件更改。

    # audit -s

如何配置 syslog 审计日志

可以指示审计服务,将审计队列中的部分或全部审计记录复制到 syslog 实用程序。如果记录二进制审计数据和文本摘要,二进制数据将提供完整的审计记录,而摘要将筛选数据以供实时查看。

开始之前

要配置 audit_syslog 插件,必须分配有 Audit Configuration(审计配置)权限配置文件。要配置 syslog 实用程序,必须是 root 角色。

  1. 选择要发送给 audit_syslog 插件的审计类,并激活该插件。

    注 - p_flags 审计类必须预选为系统缺省值,或在用户的审计标志或权限配置文件的审计标志中预选。不会为未预选的类收集记录。


    # auditconfig -setplugin audit_syslog active p_flags=lo,+as,-ss
  2. 配置 syslog 实用程序。
    1. audit.notice 项添加到 syslog.conf 文件中。

      此项包括日志文件的位置。

      # cat /etc/syslog.conf
      …
      audit.notice       /var/adm/auditlog
    2. 创建日志文件。
      # touch /var/adm/auditlog
    3. 刷新 syslog 服务的配置信息。
      # svcadm refresh system/system-log
  3. 刷新审计服务。

    审计服务在刷新时将读取审计插件的更改。

    # audit -s
  4. 定期归档 syslog 日志文件。

    审计服务可生成大量输出。要管理日志,请参见 logadm(1M) 手册页。

示例 28-18 指定 syslog 输出的审计类

在以下示例中,syslog 实用程序收集预选的审计类的子集。pf 类是在示例 28-10 中创建的。

# auditconfig -setnaflags lo,na
# auditconfig -setflags lo,ss
# usermod -K audit_flags=pf:no jdoe
# auditconfig -setplugin audit_syslog active p_flags=lo,+na,-ss,+pf

auditconfig 命令的参数指示系统收集所有登录/注销、无归属事件以及系统状态审计记录的更改。audit_syslog 插件项指示 syslog 实用程序收集所有登录、成功的无归属事件以及失败的系统状态更改。

对于 jdoe 用户,二进制审计记录包含对调用 pfexec 命令的所有使用。要使这些事件可供以后选择,audit_binfileaudit_remote 插件必须处于活动状态。syslog 实用程序收集对 pfexec 命令的成功调用。

示例 28-19 将 syslog 审计记录放置在远程系统上

可以更改 syslog.conf 文件中的 audit.notice 项,使其指向远程系统。在本示例中,本地系统的名称为 sys1.1。远程系统是 remote1

sys1.1 # cat /etc/syslog.conf
…
audit.notice       @remote1

remote1 系统上,syslog.conf 文件中的 audit.notice 项指向日志文件。

remote1 # cat /etc/syslog.conf
…
audit.notice       /var/adm/auditlog