上一主题: 自定义 CA ControlMinder下一主题: 监控未注册程序的使用


受托程序

受托程序是只能在未更改的前提下执行的程序。 通常它是 setuid/setgid 程序。 CA ControlMinder 还允许您将常规程序指定为受托程序。 如果您确定程序未被篡改,请在 PROGRAM 类中注册该程序,CA ControlMinder 可在该类中保障其完整性。

您可能需要同时使用受信任程序和程序通路,以便用户可以仅通过受信任程序执行某些任务。

注意:有关程序路径的详细信息,请参阅《适用于 UNIX 的端点管理指南》

CA ControlMinder 可以帮助您编写脚本,以便将 setuid 和 setgid 程序的整个集合注册为受托程序。

  1. 为了使自己从记住所有 setuid 和 setgid 程序的繁重工作中解脱出来,请使用下面的 seuidpgm 程序。 该程序将扫描您的文件系统、查找所有 setuid 和 setgid 程序,并创建 selang 命令(用于在 PROGRAM 类中注册所有 setuid 和 setgid 程序)的脚本。

    执行以下命令:

    seuidpgm ‑q ‑l ‑f / > /opt/CA/AccessControl/seuid.txt
    

    按照显示的方式运行,seuidpgm 将执行以下操作:

    注意:有关 seuidpgm 的完整说明,请参阅《参考指南》

  2. 使用文本编辑器检查 seuid.txt 文件,以确保它包括要信任的所有 setgid/setuid 程序,而不包括其他程序。 如有必要,编辑该文件。
  3. 使用 selang 运行编辑的命令文件。 如果 seosd 后台进程未运行,则包括 ‑l 开关参数。
    selang [‑l] ‑f /opt/CA/AccessControl/seuid.txt
    

    selang 完成可能需要几分钟时间。

  4. 重新启动 seosd 后台进程(如果其尚未运行)。 然后检查您的系统是否按预期正常工作,以及是否可以调用 setuid 程序。
  5. 将 PROGRAM 类的默认访问权限更改为 NONE 可谓明智之举,这样可以避免在安全管理员不知道的情况下,添加和运行新的不受信任的 setuid 或 setgid 程序。

    输入以下 selang 命令设置此默认的访问权限值:

    chres PROGRAM _default defaccess(none)
    

注意:经验丰富的 CA ControlMinder 用户将记住此连接中的 UACC 类。 该类仍然存在并可用于指定资源的默认访问权限。 然而,为了便于使用,我们建议您使用该类的 _default 记录来指定类的默认访问权限。 _default 规范将覆盖同一类的任何 UACC 规范。

PROGRAM 类中代表您已注册的 setuid、setgid 和常规程序的记录,将存储可执行文件的下列属性。

您注册的每个程序的最重要的属性,就是该程序是受托的。 也就是说,该程序被视为可以运行。 先前列出的任何属性中的更改,都将导致程序失去其受托的状态,之后 CA ControlMinder 会阻止程序运行。