上一主题: auditrouteflt.cfg 文件-筛选审核记录传递

下一主题: uxauth.ini 文件

审核日志传递配置文件 selogrd.cfg

在 UNIX 上有效

以下是配置文件的格式,后跟详细说明。

sectionname1
routingmethod destination
[{include|exclude} matchfield(matchpattern) ...]
...
。
sectionname2
routingmethod destination
[{include|exclude} matchfield(matchpattern) ...]
...
。
...
指定审核记录

配置文件是要传递(及不传递)到各种目标的审核记录的列表。 要指定审核记录,请说明一个或多个特定字段的内容。 您可以使用标准的 UNIX 模式匹配(通配符 * 和 ?)。

例如:要指定涉及用户名以字母 dbms 开头的用户的记录,请输入以下内容:

User(dbms*)

该示例匹配使用诸如 dbms1、dbms_mgr 等名称的用户。

要指定相同用户,但只指定涉及其登录尝试的记录,请输入:

User(dbms*) Class(LOGIN)

注意:当一行指定涉及多个字段的记录时,它只指定与所有这些字段匹配的记录。

在指定记录的同一行的开头,指定是希望包括还是排除记录。 例如:要在传递中包括这些记录,请输入以下内容:

include User(dbms*) Class(LOGIN).

这种类型的行的总体格式如下:

[{include|exclude} matchfield(matchpattern) ... .]

此处,“...”表示第一对匹配字段(匹配模式)后面可以跟有其他匹配对。‑‑

可以为匹配字段(匹配模式)使用以下任何值:‑‑

Access(accesstype)

用于所需的访问类型;accesstype 可以是以下任何一项:

ACL、Chdir、Chgrp、Chmod、Chown、连接、控制、创建、清除、执行、终止、修改、Owngrp、密码、读取、重命名、替换、更新、Utimes 和写入。

Class(LOGIN)

表示登录记录。

Class(LOGOUT)

表示注销记录。

Class(PWCHANGE)

表示密码管理。

Class(HOST)

表示 TCP/IP 记录。

Class(UPDATE CA Access Controlclass)

表示数据库管理。 CA Access Control‑class 是任何访问者或资源类(例如:USER、GROUP、FILE、HOSTNP...)或者要匹配的类名的模式。 因此,对于所有数据库管理,都可以指定 UPDATE *。

Class(CA Access Controlclass)

表示对受保护资源的访问。 例如:Class(FILE) 是指报告文件访问尝试的记录。

注意,您可以使用星号将 Class(CA Access Controlclass) 和 Class(UPDATE CA Access Controlclass) 组合成 Class(*CA Access Controlclass)。 例如:指定 Class(*FILE) 与同时指定 Class(FILE) 和 Class(UPDATE FILE) 相似。 它既指访问文件的尝试,又指更新 FILE 类中记录的尝试。

Code(returncode)

用于指示所发生情况的 CA Access Control 返回代码;return‑code 可以接受以下值。 (另请参阅本节中的示例 1。)

A-因为重复输入无效的密码,所以登录尝试失败。

D-CA Access Control 拒绝对资源的访问、不允许登录或不允许对数据库进行更新,原因是访问者权限不足。

E-Serevu 启用了一个禁用的用户帐户。

F-尝试更新数据库失败。

I-Serevu 禁用了一个用户帐户。

M-执行的命令已启动或已关闭后台进程。

O-用户注销。

P-CA Access Control 允许访问资源或允许登录。

S-数据库已成功更新。

T-因为正在跟踪该用户的所有操作,所以已写入审核记录。

U-受托程序(setuid 或 setgid)已更改;因此它不再受托。

W-对资源的访问违反了该资源的访问规则。 但是,因为在资源中设置了警告模式,所以 CA Access Control 允许访问。

Host(hostname)

表示 TCP/IP 连接中涉及的主机。

Object(resourcename)

表示用户尝试访问的资源。

Reason(reasonnumber)

表示触发审核记录的原因。

Service(servicename)

表示从远程主机请求的服务的名称,如 telnet 或 ftp。

Source Host(hostname)

表示为合并审核提供记录的主机的名称。

Stage(stagenumber)

表示允许或拒绝访问的阶段。 (请参阅《参考指南》中阶段代码的列表。)

Terminal(terminalname)

表示尝试进行访问或管理的终端。

Uid(uidnumber)

表示尝试进行访问或管理的用户的 uid。

User(username)

表示尝试进行访问或管理的用户;username 是名称或模式。

注意:虽然一些变量更有可能被指定为模式,但是可以将一种模式用于任何变量(甚至是诸如阶段编号的变量)。

使用更多行改进

要改进您的规范,可以同时按不同的条件进行筛选。 只需在一个 include/exclude 行后面添加另一个这样的行。 例如:

include User(dbms*) Class(*LOGIN*).
exclude Terminal(console_*).

该示例指定了其名称以 dbms 开头的用户以及其名称不以 console_ 开头的终端用户进行的所有登录尝试。

指定目标

在 include 和 exclude 行的顺序的上面使用一行,来指定要包括的审核记录的目标。 例如:

mail weekwatch
include User(dbms*) Class(*LOGIN*).
exclude Terminal(console_*).

该示例指定了电子邮件地址 weekwatch它用于接收有关其名称以 dbms 开头的用户以及其名称不以 console_ 开头的终端用户进行的所有登录尝试的报告。

这种类型的行以日志路由配置文件的格式显示,如下所示:

routingmethod destination

您可以使用以下任一方法:

mail address

通过电子邮件发送审核记录;address 是目标地址。 如果它不采用 user@host 形式,则会根据本地用户列表和 NIS 邮件别名映射对它进行检查。

注意:如果 address 是用户名并且审核了对该用户的帐户的代理请求,则审核记录会无休止地累积。

screen username

如果用户在 selogrd 转发审核记录时在当前主机上登录,则在指定用户的屏幕上显示审核记录。 如果该用户没有登录,则取消显示,而不是延迟显示。

cons hostname

将审核记录发送到指定主机上 secmon 实用程序的安全管理员 GUI。 如果该主机不可用,则终止显示,而不是延迟显示。

file textfilename

在指定 ASCII 文件中写入审核记录;textfilename 必须是绝对路径名,且 selogrd 必须具有访问该文件的权限。

host hostname

将审核记录发送到指定主机上的审核日志收集程序。 如果该主机不可用,则 selogrd 会在以后重试。

notify mail notify default

通过电子邮件将审核记录发送到审核记录自身指定的地址。

notify screen

在审核记录自身指定的用户的屏幕上显示审核记录。 如果该用户未登录,将取消显示,而不是延迟显示。

syslog priority

审核记录发送到具有指定日志优先级的 syslog:

  • LOG_EMERG-系统不能使用。
  • LOG_ALERT-必须立即采取措施。
  • LOG_CRIT-危急情况。
  • LOG_ERR-错误情况。
  • LOG_WARNING-警告情况。
  • LOG_NOTICE-正常但重要的情况。
  • LOG_INFO-参考信息。
  • LOG_DEBUG-调试级消息。
uni hostname

将审核记录发送到指定主机上的 Unicenter TNG 事件管理器。 您还必须设置 selogrd 以加载 uni.so 共享库(位于 ACInstallDir/lib 目录中)。 请注意,如果安装发现指定主机上安装了 Unicenter TNG 并且您选择执行该任务,则安装会这样做。

正确的行序列

按正确的顺序排列 include 和 exclude 行并正确分隔各行很重要。

整个序列(包括标题行和终止行)称为文件的“部分”。

部分如何共存

虽然某个部分的行共同协作来就是否要发送记录生成一个决策,但是配置文件的不同部分以完全独立的方式工作。 一个部分是否发送审核记录对另一部分是否发送同一审核记录没有影响。

您可以将所选择的相同审核记录发送到多个目标,并且同一目标可以接收对审核记录的多种选择。

在配置文件中,所有部分中所有包括行和排除行的总数不能超过 64 行。

包括注释

要向配置文件中添加注释行,请以分号开始该行。

示例 1

以下是示例配置文件,后面有它的解释。

 ; Product : CA Access Control
 ; Module  : selogrd
 ; Purpose : route table for audit log routing daemon
 ;
 ;‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
  Rule#1
  mail jones@admhost
  include       Class(*LOGIN*) Code(D).
  。
  Rule#2
  mail smith
  include       Class(*SURROGATE*) Object(USER.root*).
  。
  Rule#3
  host venus
  exclude       Class(UPDATE SU*).
  。
  Rule#4
  host venus
  include       Class(*PROGRAM*) Object(/usr/bin/ps).
  。

前五行是注释行。

接下来四行组成第一部分(名为 Rule#1)。 无论何时登录请求被拒绝(代码 D 报告拒绝),它们就会告知 selogrd 通过邮件将日志记录发送到地址 jones@admhost:

Rule#1
mail jones@admhost
include       Class(*LOGIN*) Code(D).
。

下一部分名为 Rule#2。 无论何时有人尝试使用 su 命令输入 root 帐户(SURROGATE 类中的对象是 su 命令的目标),它就会告知 selogrd 通过邮件将日志记录发送到地址 smith:

Rule#2
mail smith
include       Class(*SURROGATE*) Object(USER.root*).
。

下一部分名为 Rule#3。 无论何时有人尝试管理数据库,它就会告知 selogrd 将日志记录发送到主机 venus 上的收集程序,除非类名以字母 SU 开头(匹配类是 SURROGATE 和 SUDO):

Rule#3
host venus
exclude       Class(UPDATE SU*).

最后的部分名为 Rule#4。 无论何时有人尝试使用 ps 命令,它就会告知 selogrd 将日志记录发送到主机 venus 上的收集程序:

(Code 1 8pt) Rule#4
host venus
include       Class(*PROGRAM*) Object(/usr/bin/ps).
。

示例 2

以下配置文件将所有审核记录发送到名为 loghost 的工作站上的收集器:

 ; Product : CA Access Control
 ; Module  : selogrd
 ; Purpose : route table for audit log routing daemon
 ;
 ;‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
  Rule#1
  host loghost
  。
返回代码

您可以将配置文件中的每一类记录与一个或多个 CA Access Control 返回代码相关联。 (有关返回代码的完整列表,请参阅本部分“指定审核记录”中有关 code(returncode) 的描述。)下表介绍记录类型及其关联的返回代码。

记录类型

类或事件

相关联的返回代码

登录

LOGIN

LOGINDISABLE

LOGINENABLE

D、P、W

I

E

注销

LOGOUT

O

TCP/IP

HOST

D、P

资源类

类名

D、P、W

Watchdog

PROGRAM

SECFILE

U

U

密码管理

PWCHANGE

D

关闭

SHUTDOWN

D、S

启动

START

S

CA Access Control 数据库管理

UPDATE

D、F、S