上一主题: SEOS 类下一主题: SUDO 类


SPECIALPGM 类

PGMThe SPECIALPGM 类提供指定的程序特殊的安全权限。

SPECIALPGM 类中的每个记录具有以下两种功能之一:

注意:在 SPECIALPGM 类中定义程序时,我们建议您也在 FILE 类中定义它。 FILE 资源通过防止某些人未经授权修改(替换或损坏)可执行文件来保护可执行文件,如果在 CA ControlMinder 未运行时修改了程序,则 PROGRAM 资源会确保该程序不运行。

注意:您无法在 SPECIALPGM 类中为传入网络截获事件定义记录。 这是因为传入网络拦截事件在此上下文中没有进程名。 要跳过为截获事件写入审核记录的过程,对于 TCP 类中的相应记录,请将 AUDIT 属性设置为 NONE。

使用 PGMTYPE 属性可注册系统服务、后台进程或其他特殊程序。

使用 SEOSUID 和 NATIVEUID 属性可以将逻辑用户分配给程序。

SPECIALPGM 类记录的键是到特殊程序的路径或到特殊程序的范围或模式。

注意:可以在 specialpgm 类表中放置的最大规则数是 512。

以下定义说明此类记录中所包含的属性。 大部分属性均可修改,还可使用 selang 或管理界面控制这些属性。 不可修改的属性将标记为信息

COMMENT

定义希望包含在记录中的其他信息。 CA ControlMinder 不使用此信息进行授权。

范围:255 个字符。

CREATE_TIME

(信息性)显示创建记录的日期和时间。

NATIVEUID

表示调用程序或进程的用户。 使用 * 指定全部 CA ControlMinder 用户。

在 chres、editres 或 newres 命令中使用 nativeuid 参数可以修改该属性。

注意:对于具有旧版本 CA ControlMinder 的向后兼容,您可以使用 UNIXUID 属性,而不是 NATIVEUID 属性。

OWNER

定义拥有记录的用户或组。

PGMTYPE

确定访问类型,检查授予权限时 CA ControlMinder 是否跳过。

backup

跳过 READ、CHDIR 和 UTIME 访问。

注意:有两种方法可以运行成功备份。 如果备份程序由非 root 用户执行,则必须将该用户定义为 OPERATOR。 如果备份程序由 root 用户执行,则只要将备份程序在 SPECIALPGM 类中注册为 pgmtype(备份)即可。

changeid

(仅适用于 UNIX)跳过 PAM 启用的 surrogate 身份更改工具,如 su。

例如:er specialpgm /bin/su pgmtype(changeid)

dcm

(Windows) 跳过针对所有事件(除 STOP 事件)的所有安全检查。

(UNIX) 针对 READ 和 EXEC 事件跳过安全检查。

fullbypass

完全跳过所有的 CA ControlMinder 授权和数据库检查。 CA ControlMinder 会忽略具有该属性的进程,且不会在 CA ControlMinder 审核、跟踪或调试日志中显示任何进程事件的记录。

kill

(仅适用于 Windows)跳过进程的程序终止。

例如,如果此过程试图使用访问掩码 KILL 打开到 CA ControlMinder 服务(进程)的句柄,那么以下规则向 services.exe 提供跳过:

nr specialpgm c:\Windows\system32\services.exe pgmtype(kill)

在 Windows Server 2008 上,管理服务的停止和启动的 services.exe 进程使用访问类型 KILL 打开到 CA ControlMinder 服务(进程)的句柄,以便管理进程终止和启动。 在 Windows Server 2008 上安装期间,CA ControlMinder 运行发现过程以找到 services.exe 并为它创建跳过规则。 如果没有此跳过,您将在 services.exe 试图打开 CA ControlMinder 服务的句柄时,接收 DENIED CA ControlMinder 审核事件。

mail

(仅适用于 UNIX)跳过对 setuid 和 setgid 事件的数据库检查。 邮件跳过允许您跟踪邮件访问尝试。

删除任何先前设置的 PGMTYPE。

pbf

跳过对文件处理事件的数据库检查。

pbn

跳过对网络相关事件的数据库检查。

propagate

将其本身的安全权限传播到由带有此 PGMTYPE 的程序调用的所有程序。 如果不指定此参数,SPECIALPGM 权限将仅影响父程序。 SPGM 批处理文件(包括传播)仅支持可执行文件。

注意:安全权限传播仅与 PBF、PBN、DCM、FULLBYPASS 以及 SURROGATE 权限一起使用。

registry

(仅适用于 Windows)跳过对控制 Windows 注册表的程序的数据库检查。

stop

对 STOP 功能跳过数据库检查。

surrogate

跳过对内核中身份更改事件的数据库检查。 如果使用 surrogate 跳过,则无法跟踪。

xdm

(仅适用于 UNIX)跳过有限网络范围 (6000-6010) 的网络事件 (如 TCP、HOST 和 CONNECT 类)。

在 chres、editres 或 newres 命令中使用 pgmtype 参数可以修改该属性。

SEOSUID

定义授予运行此特殊程序的代理逻辑用户。 必须在数据库中为该逻辑用户定义 USER 记录。

在 chres、editres 或 newres 命令中使用 seosuid 参数可以修改该属性。

UPDATE_TIME

(信息性)显示上次修改记录的日期和时间。

UPDATE_WHO

(通知)显示执行更新的管理员。

示例:保护 UNIX 文件

为了保护驻留在 /DATABASE/data/* 中的文件,数据库管理器使用名为 firmdb_filemgr 的文件服务器后台进程。 此文件服务器驻留在 /opt/dbfirm/bin/firmdb_filemgr。 该后台进程通常以 root 用户身份运行,从而使数据可以由任何 root 用户 shell 攻击进行访问。‑

在以下示例中,逻辑用户定义为这些文件的唯一访问者;其他人的访问受到限制:

  1. 使用命令定义 CA ControlMinder 的“敏感”文件:
    newres file /DATABASE/data/* defaccess(NONE)owner(nobody)
    
  2. 定义访问该文件的逻辑用户:
    newusr firmDB_mgr
    
  3. 只允许逻辑用户 firmDB_mgr 访问文件。
    authorize file /DATABASE/data/* uid(firmDB_mgr) access(ALL)
    
  4. 最后,让 firmdb_filemgr 以逻辑用户 firmDB_mgr 的身份运行
    newres SPECIALPGM /opt/dbfirm/bin/firmdb_filemgr unixuid(root) \
    seosuid(firmDB_mgr)
    

因此,在后台进程访问文件时,CA ControlMinder 认为逻辑用户是文件的访问者,不是 root。 尝试以 root 身份访问文件的黑客不会成功。

示例:保护 Windows 文件

为了保护驻留在 C:\DATABASE\data 中的文件,数据库管理器使用名为 firmdb_filemgr.exe 的文件服务器服务。 该文件服务器驻留在 C:\Program Files\dbfirm\bin\firmdb_filemgr.exe。 该服务通常用系统帐户运行,从而使得任何系统黑客都可以访问该数据。

在以下示例中,逻辑用户定义为这些文件的唯一访问者;其他人的访问受到限制:

  1. 使用以下命令定义 CA ControlMinder 的“敏感”文件:
    newres file C:\DATABASE\data\* defaccess(NONE)owner(nobody)
    
  2. 定义访问该文件的逻辑用户:
    newusr firmDB_mgr
    
  3. 只允许逻辑用户 firmDB_mgr 访问文件:
    authorize file C:\DATABASE\data\* uid(firmDB_mgr) access(ALL)
    
  4. 最后,让 firmdb_filemgr 以逻辑用户 firmDB_mgr 的身份运行:
    newres SPECIALPGM ("C:\Program Files\dbfirm\bin\firmdb_filemgr.exe") \
    nativeuid(system) seosuid(firmDB_mgr)
    

因此,在服务访问文件时,CA ControlMinder 认为逻辑用户是文件的访问者,不是系统帐户。 尝试以系统帐户访问文件的黑客不会成功。