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

文档信息

前言

第 1 部分安全性概述

1.  安全性服务(概述)

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

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

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

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

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

6.  使用 BART 验证文件完整性(任务)

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

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

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

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

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

第 4 部分加密服务

11.  加密框架(概述)

12.  加密框架(任务)

13.  密钥管理框架

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

14.  使用可插拔验证模块

15.  使用 安全 Shell

16.  安全 Shell(参考信息)

17.  使用简单验证和安全层

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

第 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_binfile 插件指定存储。
标识用于二进制审计记录的目录。
配置审计记录向远程系统的流传输。
使您能够通过受保护的机制将审计记录发送到远程系统信息库。
配置审计文件的远程存储。
使您可以在远程系统上接收审计记录。
audit_syslog 插件配置存储。
使您能够以文本格式将审计事件流式传输到 syslog

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

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

开始之前

您必须是指定有 ZFS File System Management(ZFS 文件系统管理)和 ZFS Storage Management(ZFS 存储管理)权限配置文件的管理员。通过后一个配置文件可以创建存储池。有关更多信息,请参见如何使用指定给您的管理权限

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

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


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


  2. 创建镜像 ZFS 存储池。

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

    # zpool create audit-pool mirror disk1 disk2

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

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

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


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

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

    加密需要进行管理。例如,挂载时需要口令短语。有关更多信息,请参见《Oracle Solaris 11.1 管理: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. 可选为审计文件创建其他文件系统。

    创建其他文件系统的一个原因是阻止审计溢出。可以设置每个文件系统的 ZFS 配额,如步骤 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.1 管理: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. 对于大型池,限制审计文件的大小。

    缺省情况下,审计文件可以增长到池的大小。为了便于管理,限制审计文件的大小。请参见示例 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. 确定 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 that an audit
         file can become before it is automatically closed and a new 
         audit file is opened. ... The format of the p_fsize value can 
         be specified as an exact value in bytes or in a human-readable
         form with a suffix of  B,  K, M, G, T, P, E, Z (for bytes, 
         kilobytes, megabytes, gigabytes, terabytes,  petabytes, exabytes,
         or zettabytes, respectively). Suffixes of KB, MB, GB, TB, PB, EB,
         and ZB are also accepted.
  2. 要将目录添加到审计迹,请指定 p_dir 属性。

    缺省文件系统为 /var/audit

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

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

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

  3. 刷新审计服务。

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

    # audit -s

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

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

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

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

# audit -s

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

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

# auditconfig -getplugin audit_binfile
Plugin: audit_binfile
    Attributes: p_dir=/var/audit;p_fsize=2G;p_minfree=1;
# auditconfig -setplugin audit_binfile "p_minfree=2;p_fsize=4G" 200
# auditconfig -getplugin audit_binfile
Plugin: audit_binfile
    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
    Attributes: p_dir=/var/audit;p_fsize=4G;p_minfree=2;
    Queue size: 200
# auditconfig -setplugin audit_binfile "" 0
# auditconfig -getplugin audit_binfile
 Plugin: audit_binfile
    Attributes: p_dir=/var/audit;p_fsize=4G;p_minfree=2;

空引号 ("") 将保留当前属性值。最后的 0 将插件的队列大小设置为缺省值。

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

# audit -s

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

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

# auditconfig -setplugin audit_binfile 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 p_fsize=3G

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

# audit -s

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

在本过程中,使用 audit_remote 插件的属性将审计迹发送到远程审计系统信息库。要在 Oracle Solaris 系统上配置一个远程系统信息库,请参见如何配置审计文件的远程系统信息库

开始之前

远程系统信息库上必须具有审计服务的接收者。您必须是指定有 Audit Configuration(审计配置)权限配置文件的管理员。有关更多信息,请参见如何使用指定给您的管理权限

  1. 确定 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 秒。您还可以指定插件的队列大小。

  2. 要指定远程接收系统,请使用 p_hosts 属性。

    在本示例中,接收系统使用一个不同的端口。

    # auditconfig -setplugin audit_remote p_hosts=ars.example.com:16088:kerberos_v5
  3. 要更改插件的其他属性,请指定它们。

    例如,以下命令指定所有可选属性的值:

    # auditconfig -setplugin audit_remote "p_retries=;p_timeout=3" 300
  4. 验证这些值,然后激活插件。

    例如,以下命令指定并验证插件的值:

    # auditconfig -getplugin audit_remote
    Plugin: audit_remote (inactive)
        Attributes: p_hosts=ars.example.com:16088:kerberos_v5;p_retries=5;p_timeout=3;
        Queue size: 300
    # auditconfig -setplugin audit_remote active
  5. 刷新审计服务。

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

    # audit -s

示例 28-18 调优审计队列缓冲区大小

在本示例中,audit_remote 插件后面的审计队列太满。该被审计系统被配置为对许多类进行审计,并在通过高通信流量的慢速网络传输数据。管理员增大了插件的缓冲区大小,使审计队列可以增长,从而使得在审计记录从队列中移除之前不会超出缓冲区大小限制。

audsys1 # auditconfig -setplugin audit_remote "" 1000
audsys1 # audit -s

如何配置审计文件的远程系统信息库

在此过程中,您将配置一个远程系统,即审计远程服务器 (Audit Remote Server, ARS),以接收并存储来自一个或多个被审计系统的审计记录。然后,您将激活远程服务器上的审计守护进程。

配置分两部分。首先,您将配置底层安全机制以便安全地传输审计数据,也就是说,您将配置 KDC。其次,您将在被审计系统和 ARS 上配置审计服务。此过程阐明了一个包含一个被审计客户机和一个 ARS 的方案,其中,ARS 和 KDC 位于同一服务器上。对于更复杂的方案,可以按类似方式进行配置。

开始之前

您必须承担 root 角色。您已安装了 Kerberos 软件包,如以流方式将审计记录传输到远程存储前如何执行准备工作中所述。与配置了被审计系统的管理员协作,如如何向远程系统信息库发送审计文件中所述。

  1. 配置底层安全传输机制。

    您需要在一个系统上配置一个 KDC,让被审计系统和 ARS 都能使用,需要有每个系统的主机主体,另外还要有一个 audit 服务主体。

    1. 配置 KDC。

      如果您的站点已配置了一个 KDC,请使用它并继续执行步骤 c。下面的一系列命令解释了一个 KDC 配置策略:

      arstore # kdcmgr -a audr/admin -r EXAMPLE.COM create master

      此命令使用 audr/admin 管理主体在 EXAMPLE.COM 领域中创建一个主 KDC 并将其启用,然后启动 Kerberos 服务。

    2. 验证 KDC 是否可用。

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

      # kdcmgr status
      KDC Status Information
      --------------------------------------------
      svc:/network/security/krb5kdc:default (Kerberos key distribution center)
       State: online since Wed Feb 29 01:59:27 2012
         See: man -M /usr/share/man -s 1M krb5kdc
         See: /var/svc/log/network-security-krb5kdc:default.log
      Impact: None.
      
      KDC Master Status Information
      --------------------------------------------
      svc:/network/security/kadmin:default (Kerberos administration daemon)
       State: online since Wed Feb 29 01:59:28 2012
         See: man -M /usr/share/man -s 1M kadmind
         See: /var/svc/log/network-security-kadmin:default.log
      Impact: None.
      
      Transaction Log Information
      --------------------------------------------
      
      Kerberos update log (/var/krb5/principal.ulog)
      Update log dump :
              Log version # : 1
              Log state : Stable
              Entry block size : 2048
              Number of entries : 13
              First serial # : 1
              Last serial # : 13
              First time stamp : Wed Feb 29 01:59:27 2012
              Last time stamp : Mon Mar 5 19:29:28 2012
      
      
      Kerberos Related File Information
      --------------------------------------------
      (Displays any missing files)
    3. audit 服务主体添加到 KDC 密钥表文件中。

      您可以通过在 KDC 系统上键入 kadmin.local 命令来添加主体。另外,也可以通过使用 kadmin 命令并提供口令来远程添加主体。在本示例中,arstore 系统在运行 KDC。

      # kadmin -p audr/admin
      kadmin: addprinc -randkey audit/arstore.example.com@EXAMPLE.COM
      kadmin: ktadd audit/arstore.example.com@EXAMPLE.COM
    4. 在每个被审计系统上添加密钥。

      接收者和发送者都必须有密钥。

      enigma # kclient
              .. Enter the Kerberos realm: EXAMPLE.COM
              .. KDC hostname for the above realm: arstore.example.com
              .. Will this client need service keys ? [y/n]: y
  2. 在 ARS 上配置审计服务。
    • 要创建一个组以接收来自 Kerberos 领域中任何被审计系统的审计记录,请命名一个连接组。
      # auditconfig -setremote group create Bank_A

      Bank_A 是一个连接组。因为未定义 hosts 属性,所以此组将接受所有连接,这意味着它是一个通配符组。该 Kerberos 领域中已正确配置了 audit_remote 插件的任何被审计系统都可以访问此 ARS。

    • 要限制与此组的连接,请指定可以使用此系统信息库的被审计系统。
      # auditconfig -setremote group Bank_A "hosts=enigma.example.com"

      连接组 Bank_A 现在只接受来自 enigma 系统的连接。来自任何其他主机的连接将被拒绝。

    • 为防止此组中的审计文件增长得过大,请设置最大大小。
      # auditconfig -setremote group Bank_A "binfile_size=4GB"
      # auditconfig -getremote
      Audit Remote Server
        Attributes: listen_address=;login_grace_time=30;max_startups=10;listen_port=0;
      Connection group: Bank_A (inactive)
        Attributes: binfile_dir=/var/audit;binfile_fsize=4GB;binfile_minfree=1;
        hosts=enigma.example.com;
  3. 在审计的系统上配置审计服务。

    要指定 ARS,请使用 p_hosts 属性。

    enigma # auditconfig -setplugin audit_remote active p_hosts=arstore.example.com
    enigma # auditconfig -getplugin audit_remote
    Plugin: audit_remote
          Attributes: p_retries=3;p_timeout=5;p_hosts=arstore.example.com;
  4. 刷新审计服务。

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

    # audit -s

    现在,被审计系统 enigma 与 ARS 之间的连接由 KDC 进行管理。

示例 28-19 将审计记录以流方式传输到同一 ARS 上的不同文件位置

此示例扩展了上述过程中的示例。管理员通过创建两个连接组,在 ARS 上按主机对审计记录进行了划分。

来自 audsys1 的审计文件将以流方式传输到此 ARS 上的 Bank_A 连接组。

arstore # auditconfig  -setremote group create Bank_A
arstore # auditconfig -setremote group active Bank_A "hosts=audsys1"
     "hosts=audsys1;binfile_dir=/var/audit/audsys1;binfile_fsize=4M;"

来自 audsys2 的审计文件将以流方式传输到 Bank_B 连接组。

arstore # auditconfig -setremote group create Bank_B
arstore # auditconfig -setremote group active Bank_B \
     "hosts=audsys2;binfile_dir=/var/audit/audsys2;binfile_fsize=4M;"

为了更加方便地进行维护,管理员以相同方式设置了其他属性值。

arstore # auditconfig -getremote
Audit Remote Server
      Attributes: listen_address=;login_grace_time=30;max_startups=10;listen_port=0;

Connection group: Bank_A
      Attributes: binfile_dir=/var/audit/audsys1;binfile_fsize=4M;binfile_minfree=1;
      hosts=audsys1

Connection group: Bank_B
      Attributes: binfile_dir=/var/audit/audsys2;binfile_fsize=4M;binfile_minfree=1;
      hosts=audsys2

示例 28-20 将 ARS 置于与 KDC 不同的系统上

在本示例中,管理员将 ARS 置于与 KDC 不同的一个系统上。首先,管理员创建并配置主 KDC。

kserv # kdcmgr -a audr/admin -r EXAMPLE.COM create master
kserv # kadmin.local -p audr/admin
kadmin: addprinc -randkey audit/arstore.example.com@EXAMPLE.COM
kadmin: ktadd -t /tmp/krb5.keytab.audit audit/arstore.example.com@EXAMPLE.COM

在将 /tmp/krb5.keytab.audit 文件安全地传输到 ARS arstore 后,管理员将该文件移动到了正确的位置。

arstore # chown root:root krb5.keytab.audit
arstore # chmod 600 krb5.keytab.audit
arstore # mv krb5.keytab.audit /etc/krb5/krb5.keytab

除了重写文件,管理员还可以选择在 ARS 上使用 ktutil 命令将 KDC krb5.keytab.audit 文件与 arstore/etc/krb5/krb5.keytab 文件中的现有密钥进行合并。

最后,管理员在被审计系统上生成密钥。

enigma # kclient
   .. Enter the Kerberos realm: EXAMPLE.COM
   .. KDC hostname for the above realm: kserv.example.com
   .. Will this client need service keys ? [y/n]: y

如何配置 syslog 审计日志

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

开始之前

要配置 audit_syslog 插件,您必须是指定有 Audit Configuration(审计配置)权限配置文件的管理员。要配置 syslog 实用程序并创建 auditlog 文件,您必须承担 root 角色。

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

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


    # auditconfig -setplugin audit_syslog active p_flags=lo,+as,-ss
  2. 确定联机的 system-log 服务实例。
    # svcs system-log
    STATE          STIME    FMRI
    disabled       13:11:55 svc:/system/system-log:rsyslog
    online         13:13:27 svc:/system/system-log:default

    注 - 如果 rsyslog 服务实例联机,请修改 rsyslog.conf 文件。


  3. 配置 syslog 实用程序。
    1. audit.notice 项添加到 syslog.conf 文件中。

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

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

      注 - 如果 rsyslog 服务联机,请刷新 system-log:rsyslog 服务实例。


  4. 刷新审计服务。

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

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

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

示例 28-21 指定 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 命令的成功和失败调用。syslog 实用程序收集对 pfexec 命令的成功调用。

示例 28-22 将 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