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

Procedure如何配置 syslog 审计日志

可以指示审计服务只收集二进制审计数据,也可以指示审计服务收集二进制数据和文本数据。在以下过程中,将收集二进制审计数据和文本审计数据。收集的文本审计数据是二进制数据的子集。

开始之前

必须在 audit_control 文件的 flags 行或 naflags 行上指定预选审计类。文本数据是预选二进制数据的子集。

  1. 承担主管理员角色,或成为超级用户。

    主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. (可选的)保存 audit_control 文件的副本。


    # cp /etc/security/audit_control /etc/security/audit_control.save
    
  3. 添加 plugin 项。

    审计服务中的插件实现审计数据的二进制输出和 syslog 输出。未指定二进制插件。必须指定 syslog 插件。有关更多信息,请参见auditd 守护进程

    plugin 项具有以下格式:


    plugin:name=value; p_flags=classes
    
    value

    列出要使用的插件的名称。当前,唯一有效的值是 audit_syslog.so.1 插件。

    classes

    列出在 flags 行和 naflags 行中指定的审计类的子集。

    有关 plugin 值的更多信息,请参见 audit_syslog(5) 手册页。

  4. syslog.conf 文件中添加 audit.notice 项。

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


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

    不应将文本日志和二进制审计文件存储在同一位置。auditreduce 命令假设审计分区中的所有文件都是二进制审计文件。

  5. 创建日志文件。


    # touch /var/adm/auditlog
    
  6. 刷新 syslog 服务的配置信息。


    # svcadm refresh system/system-log
    
  7. 定期归档 syslog 日志文件。

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


示例 29–5 指定 syslog 输出的审计类

在以下示例中,syslog 实用程序收集预选审计类的子集。


# audit_control file

dir:/var/audit/host.1/files

dir:/var/audit/host.2/files

dir:/var/audit/localhost/files

flags:lo,ss

minfree:10

naflags:lo,na

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

flagsnaflags 项会指示系统收集所有二进制格式的登录/退出、无归属以及系统状态更改的审计记录。plugin 项会指示 syslog 实用程序仅收集失败登录、失败的无归属事件以及失败的系统状态更改。



示例 29–6 将 syslog 审计记录放在远程系统上

可以通过更改 syslog.conf 文件中的 audit.notice 项来指向远程系统。在本示例中,本地系统的名称为 example1。远程系统的名称为 remote1


example1 # cat /etc/syslog.conf

…

audit.notice       @remote1

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


remote1 # cat /etc/syslog.conf

…

audit.notice       /var/adm/auditlog