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 黑客进行访问。
在以下示例中,逻辑用户定义为这些文件的唯一访问者;其他人的访问受到限制:
  1. 使用以下命令定义
    Privileged Identity Manager
    的“敏感”文件:
    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)
因此,在后台进程访问文件时,
Privileged Identity Manager
会认为逻辑用户是文件的访问者,不是 root。 尝试以 root 身份访问文件的黑客不会成功。
示例:保护 Windows 文件
为了保护驻留在 C:\DATABASE\data 中的文件,数据库管理器使用名为 firmdb_filemgr.exe 的文件服务器服务。 该文件服务器驻留在 C:\Program Files\dbfirm\bin\firmdb_filemgr.exe。 该服务通常用系统帐户运行,从而使得任何系统黑客都可以访问该数据。
在以下示例中,逻辑用户定义为这些文件的唯一访问者;其他人的访问受到限制:
  1. 使用以下命令定义
    Privileged Identity Manager
    的“敏感”文件:
    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)
因此,在服务访问文件时,
Privileged Identity Manager
会认为逻辑用户是文件的访问者,不是系统帐户。 尝试以系统帐户访问文件的黑客不会成功。