AIX命令参考大全,卷 1,a - c - auditselect 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 1,a - c

auditselect 命令

用途

根据定义的标准选择审计记录来分析。

语法

auditselect { -e "Expression" | -f File} [ -m ] [ Trail ]

描述

auditselect 命令是审计子系统的一部分。如果该命令在 /etc/security/audit/bincmds 文件中配置为作为处理二进制文件的后端命令,则它由 auditbin 守护进程调用。

auditselect 命令选择与标识的标准相匹配的审计记录并将这些记录写至标准输出。通过 auditselect 命令,您可以过滤审计跟踪来获取用于分析的特定记录或选择要长期存储的特定记录。此命令从 Trail 参数指定的文件或从标准输入取出流或二进制输入。如果将 $bin 字符串指定为 Trail 参数的值,则 auditbin 守护进程在它调用 auditselect 命令时替换当前二进制文件的路径名称。选择标准可作为表达式输入或从 -f 标志指定的文件输入。如果压缩二进制文件,则 auditselect 命令在处理前将它们解包。

对于流数据,请在 /etc/security/audit/streamcmds 文件中配置 auditstream 命令和 auditselect 命令或从命令行输入这两个命令。

标志

-e "Expression" 定义选择标准。Expression 参数由逻辑运算符结合的一个或多个项构成。
-f File 指定包含选择标准的 File
-m 指定具有记录扩展的输出审计记录。

创建表达式

有效的表达式由逻辑运算符结合的一个或多个项构成。

逻辑运算符

逻辑运算符允许在一个表达式中使用一个以上的项。常规居先规则适用于对具有一个以上的逻辑运算符的表达式求值,而圆括号可用于强制求值的顺序。有效的逻辑运算符包含以下几个:

&& (And)如果 term1 和 term2 都为真,则表达式 term1 && term2 为真(已选)。
|| (Or)如果 term1 或 term2 为真,则表达式 term1 || term2 为真(已选)。
! (Not)如果 term1 不为真,则表达式 !term1 为真(已选)。

表达式各个项具有以下格式:

字段 关系运算符 值

字段

字段对应每个记录的审计报头中的信息。字段的有效值包含以下项:

event 审计事件的名称,例如 FILE_Open
command 生成审计事件的命令的名称。
result 审计事件的状态。result 字段的值必须是以下之一:
  • OK
  • FAIL
  • FAIL_PRIV
  • FAIL_AUTH
  • FAIL_ACCESS
  • FAIL_DAC 指明因为任意访问控制(DAC)遭到拒绝而导致事件失败。“访问控制列表”是信息库的一种形式,它包含有关对共享资源/对象的访问权限(许可)的数据。ACL 以 DAC 机制加以分类。

FAIL 与所有其它错误代码相匹配。

login 生成审计事件的进程的登录用户的标识。
real 生成审计事件的进程的实际用户的标识。
pid 生成审计事件的进程的标识。
ppid 生成审计事件的进程的父进程的标识。
tid 生成审计事件的内核线程的标识。
time 生成审计事件的时间。
date 生成审计事件的日期。
host 生成记录的机器的主机名。保留名称 UNKNOWN 可用来匹配任何未在 /etc/security/audit/hosts 文件中列出的机器。

关系运算符

关系运算符用于将审计记录中的字段与指定的值进行比较。有效的关系运算符包含:

== 等于
!= 不等于
< 小于
> 大于
>= 大于或等于
<= 小于或等于

有效项

有效项由一个字段、一个关系运算符和一个值构成。另外,不是所有的运算符和值对每个字段而言都是有效的。以下是有效的组合:

字段 有效运算符 有效值
event = =, ! = 文本字符串的审计事件名称
result = =, ! = 文本字符串的审计状态代码
command = =, ! = 文本字符串的命令名称
pid all 十进制整数的进程标识
ppid all 十进制整数的进程标识
login all 十进制整数的用户标识
login = =, ! = 文本字符串的用户名
real all 十进制整数的用户标识
real = =, ! = 文本字符串的用户名
tid all 十进制整数的线程标识
time all 以当前语言环境指定的格式表示的字符串
date all 以当前语言环境指定的格式表示的字符串
host = =, ! = 文本字符串的主机名称或 16 个字符的 cpu 标识

安全性

访问控制:此命令应向 root 用户和审计组的成员授予执行(x)访问权。此命令应该是 root 用户的 setuid 并具有可信计算基属性。

示例

配置

  1. 要选择与 USER_SU 或 USER_Login 审计事件相匹配的收集的二进制数据记录,请输入以下内容来将 auditselect 命令添加至 /etc/security/audit/bincmds 文件:

    /usr/sbin/auditselect -e "event== USER_SU || event== \
    USER_Login" $bin >> /audit/trail.login

    当启用审计时,用户会话的每次启动的记录从当前二进制文件读取,并写至 /audit/trail.login 文件。

  2. 要选择流收集的与不成功的用户登录相匹配的数据记录,请输入以下内容来将 auditselect 命令添加至 /etc/security/audit/streamcmds 文件中的 auditstream 节:

    /usr/sbin/auditstream -c authentication | \
    /usr/sbin/auditselect -e "event == \
    USER_Login && result == FAIL" | \
    /usr/sbin/auditpr -t 2 -v >> /dev/lpr2

    要产生硬拷贝的审计跟踪,则失败的认证事件的记录写至 /dev/lpr2 行式打印机。

选择认证或登录事件

  1. 要在审计跟踪文件中搜索涉及认证错误的所有事件:

    /usr/sbin/auditselect -e "result == FAIL_AUTH"
    /audit/oldtrail | /usr/sbin/auditpr -t -helt -v

    因为认证被拒绝而导致失败的事件的记录打印出来。报头标题将只打印一次,后跟事件、登录标识和时间字段,然后是审计跟踪。

  2. 要选择当 smith 在 1987 年 5 月的第一个星期的高峰工作时间内登录时生成的审计记录,请输入:
    /usr/sbin/auditselect  -f /aaa/bbb \
    /audit/trail1987 | /usr/sbin/auditpr

    /aaa/bbb 文件必须包含以下行:

     command == login && login == smith && 
     time >= 08:00:00 && time <= 17:00:00 && 
     date >= 05/01/87 && date <= 05/05/87

字符串比较

  1. 要将审计事件的名称与 USER_Login 字符串比较请输入以下内容之一:

    "event == USER_Login"
     
    "event != USER_Login"
  2. 要查明审计事件是否由 passwd 命令生成,请使用:

    "command == passwd"

    要查明审计事件是否不是由 passwd 命令生成的,请使用:

    "command != passwd"
  3. 要将审计状态与 OK 结果字符串比较请输入:

    "result == OK"
  4. 要将生成审计事件的进程的登录用户或实际用户标识与特定用户标识(用户标识 014 或用户名 carol)比较,请输入以下命令之一:

    "login == 014"
    "login != carol"
    "login == 014 || login != carol"
    "real == carol"
  5. 要将生成审计事件进程标识或其父进程的标识与进程标识 2006 比较,请输入以下命令之一:

    "pid == 2006"
    "pid != 2006"
    "ppid ==  2006" 

    注:虽然登录和实际用户标识以及进程标识可以用不等运算符(< => =<>)进行比较,但通常没有必要这样做。
  6. 要将生成审计事件时的时间和 08:03:00 时间字符串相比较,请输入以下命令之一:

    "time == 08:03:00"
    "time != 08:03:00"
    "time <  08:03:00"
    "time <= 08:03:00"
    "time >  08:03:00"
    "time >= 08:03:00"

    选择和上述与 08:03:00 时间字符串的比较关系相符的审计记录。时间字符串的格式必须与当前语言环境指定的格式一致。

  7. 要将生成审计事件时的日期与 05/05/89 日期字符串比较,请输入以下命令之一:

    "date == 05/03/89"
    "date != 05/03/89"
    "date <  05/03/89"
    "date <= 05/03/89"
    "date >  05/03/89"
    "date >= 05/03/89" 

    选择和上述与 05/05/89 日期字符串的比较关系相符的审计记录。日期字符串的格式必须与当前语言环境指定的格式一致。

文件

/usr/sbin/auditselect 指定 auditselect 命令的路径。
/etc/rc 包含系统初始化命令。
/etc/security/audit/config 包含审计系统配置信息。
/etc/security/audit/events 包含系统的审计事件。
/etc/security/audit/objects 包含被审计对象(文件)的审计事件。
/etc/security/audit/bincmds 包含 auditbin 后端命令。
/etc/security/audit/streamcmds 包含审计流命令。
/etc/security/audit/hosts 包含“CPU 标识到主机名”的映射。

相关信息

audit 命令、auditcat 命令、auditconv 命令、auditpr 命令、auditstream 命令、env 命令。

auditbin 守护进程。

有关审计的一般信息,请参考《AIX 5L V5.2 安全指南》中的『审计概述』

要参阅您建立“审计系统”必须采取的步骤,请参考《AIX 5L V5.2 安全指南》中的『建立审计』

有关用户的标识和认证,任意访问控制、可信计算基以及审计的更多信息,请参考《AIX 5L V5.2 安全指南》中的『单机系统安全性』

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]