SPECIALPGM 类
SPECIALPGM 类提供指定的程序特殊的安全权限。
cminder12901cn
SPECIALPGM 类提供指定的程序特殊的安全权限。
SPECIALPGM 类中的每个记录具有以下两种功能之一:
- 注册 Windows 的 backup、DCM、PBF、PBN、STOP、SURROGATE、REGISTRY 和 KILL 程序或注册 UNIX 的 xdm、backup、mail、DCM、PBF、PBN、stop 和 surrogate 程序。
- 将需要特殊授权保护的应用程序与逻辑用户 ID 建立关联。 这样,就可以有效地允许您根据正在做什么而不是谁在做来设置访问权限。
注意:
在 SPECIALPGM 类中定义程序时,我们建议您也在 FILE 类中定义它。 FILE 资源通过防止某些人未经授权修改(替换或损坏)可执行文件来保护可执行文件,如果在 Privileged Identity Manager
未运行时修改了程序,则 PROGRAM 资源会确保该程序不运行。注意
:您无法在 SPECIALPGM 类中为传入网络截获事件定义记录。 这是因为传入网络拦截事件在此上下文中没有进程名。 要跳过为截获事件写入审核记录的过程,对于 TCP 类中的相应记录,请将 AUDIT 属性设置为 NONE。使用 PGMTYPE 属性可注册系统服务、后台进程或其他特殊程序。
使用 SEOSUID 和 NATIVEUID 属性可以将逻辑用户分配给程序。
SPECIALPGM 类记录的键是到特殊程序的路径或到特殊程序的范围或模式。
注意:
可以在 specialpgm 类表中放置的最大规则数是 512。以下定义说明此类记录中所包含的属性。 大部分属性均可修改,还可使用 selang 或管理界面控制这些属性。 不可修改的属性将标记为
信息性
。- COMMENT定义要包括在记录中的其他信息。 注释不用于授权。限制:255 个字符。
- CREATE_TIME(信息性)显示创建记录的日期和时间。
- NATIVEUID表示调用程序或进程的用户。 使用 * 指定全部用户。在 chres、editres 或 newres 命令中使用 nativeuid 参数可以修改该属性。注意:要与旧版本的Privileged Identity Manager向后兼容,可使用 UNIXUID 属性,而不是 NATIVEUID 属性。
- OWNER定义拥有该记录的用户或组。
- PGMTYPE确定授予权限时将被跳过的访问类型检查。
- 备份跳过 READ、CHDIR 和 UTIME 访问。注意:有两种方法可以运行成功备份。 如果备份程序由非 root 用户执行,则必须将该用户定义为 OPERATOR。 如果备份程序由 root 用户执行,则只要将备份程序在 SPECIALPGM 类中注册为 pgmtype(备份)即可。
- changeid(仅 UNIX)跳过除了已启用 PAM 的 surrograte 工具以外的所有更改身份工具。例如:er specialpgm /bin/mail pgmtype(changeid)
- dcm(Windows) 跳过针对所有事件(除 STOP 事件)的所有安全检查。(UNIX) 针对 READ 和 EXEC 事件跳过安全检查。
- fullbypass完全跳过所有授权和数据库检查。Privileged Identity Manager会忽略具有该属性的进程,且不会在审核、跟踪或调试日志中显示任何进程事件的记录。
- kill(仅适用于 Windows)跳过进程的程序终止。例如,如果此过程试图使用访问掩码 KILL 打开 服务(进程)的句柄,那么以下规则向 services.exe 提供跳过:nr specialpgm c:\Windows\system32\services.exe pgmtype(kill)在 Windows Server 2008 上,管理服务的停止和启动的 services.exe 进程使用访问类型 KILL 打开 服务(进程)的句柄,以便管理进程终止和启动。 在 Windows Server 2008 上进行安装期间,运行发现过程以找到 services.exe 并为其创建跳过规则。 如果没有此跳过,您将在 services.exe 试图打开服务的句柄时,接收 DENIED 审核事件。
- mail(仅适用于 UNIX)跳过对 setuid 和 setgid 事件的数据库检查。 邮件跳过允许您跟踪邮件访问尝试。
- none删除任何先前设置的 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 黑客进行访问。
在以下示例中,逻辑用户定义为这些文件的唯一访问者;其他人的访问受到限制:
- 使用以下命令定义Privileged Identity Manager的“敏感”文件:newres file /DATABASE/data/* defaccess(NONE)owner(nobody)
- 定义访问该文件的逻辑用户:newusr firmDB_mgr
- 只允许逻辑用户 firmDB_mgr 访问文件。authorize file /DATABASE/data/* uid(firmDB_mgr) access(ALL)
- 最后,让 firmdb_filemgr 以逻辑用户 firmDB_mgr 的身份运行newres SPECIALPGM /opt/dbfirm/bin/firmdb_filemgr unixuid(root) \ seosuid(firmDB_mgr)
因此,在后台进程访问文件时,
Privileged Identity Manager
会认为逻辑用户是文件的访问者,不是 root。 尝试以 root 身份访问文件的黑客不会成功。示例:保护 Windows 文件
为了保护驻留在 C:\DATABASE\data 中的文件,数据库管理器使用名为 firmdb_filemgr.exe 的文件服务器服务。 该文件服务器驻留在 C:\Program Files\dbfirm\bin\firmdb_filemgr.exe。 该服务通常用系统帐户运行,从而使得任何系统黑客都可以访问该数据。
在以下示例中,逻辑用户定义为这些文件的唯一访问者;其他人的访问受到限制:
- 使用以下命令定义Privileged Identity Manager的“敏感”文件:newres file C:\DATABASE\data\* defaccess(NONE)owner(nobody)
- 定义访问该文件的逻辑用户:newusr firmDB_mgr
- 只允许逻辑用户 firmDB_mgr 访问文件:authorize file C:\DATABASE\data\* uid(firmDB_mgr) access(ALL)
- 最后,让 firmdb_filemgr 以逻辑用户 firmDB_mgr 的身份运行:newres SPECIALPGM ("C:\Program Files\dbfirm\bin\firmdb_filemgr.exe") \ nativeuid(system) seosuid(firmDB_mgr)
因此,在服务访问文件时,
Privileged Identity Manager
会认为逻辑用户是文件的访问者,不是系统帐户。 尝试以系统帐户访问文件的黑客不会成功。