Trusted Extensions 配置和管理

退出打印视图

更新时间: 2014 年 7 月
 
 

评估软件是否符合安全要求

如果软件已指定有特权或者以替代用户 ID 或组 ID 运行,则软件即成为可信的。可信软件可以绕过 Trusted Extensions 安全策略的各项设置。请注意,您可以将软件设为可信软件,即使它可能不值得信任。安全管理员必须进行仔细的审查,在确认软件以值得信任的方式使用特权后才向软件授予特权。

    在可信的系统上,程序分为三类:

  • 不需要安全属性的程序-某些程序在单级别上运行,而且不需要特权。这些程序可以安装在公共目录(例如 /usr/local)中。要进行访问,请在用户和角色的权限配置文件中将这些程序指定为命令。

  • 以 root 用户身份运行的程序—某些程序使用 setuid 0 执行。可以在权限配置文件中为这类程序指定有效的 UID 0。然后,安全管理员将配置文件指定给某个管理角色。


    提示  - 如果应用程序能够以值得信任的方式使用特权,请为应用程序指定所需的特权,而不以 root 用户身份执行程序。
  • 需要特权的程序-某些程序需要特权的原因可能不明显。即使程序没有执行从表面上即能看出违反了系统安全策略的功能,程序也可能在内部执行了违反安全要求的操作。例如,程序可能在使用共享的日志文件,或者程序可能在从 /dev/kmem 读取数据。有关安全方面的注意事项,请参见 mem(7D) 手册页。

    有时,内部策略覆盖对于应用程序的正确运转不是特别重要。相反,此种覆盖为用户提供了一项方便的功能。

    如果您的组织可以访问源代码,请检查您是否能够删除要求策略覆盖的操作,而不影响应用程序性能。

创建可信程序时开发者的职责

尽管程序的开发者可以在源代码中操纵特权集,但如果安全管理员没有为程序指定所需的特权,程序也会失败。在创建可信程序时,开发者和安全管理员需要合作。

    编写可信程序的开发者必须负责以下事项:

  1. 了解程序何时需要特权来执行其工作。

  2. 了解并实施用于在程序中安全地使用特权的技术,例如特权包围。

  3. 在将特权指定给程序时知道这其中的安全含义。程序不得违反安全策略。

  4. 通过使用从可信目录链接到程序的共享库来编译程序。

    有关其他信息,请参见面向开发者的 Oracle Solaris 11 安全性指南 。有关适用于 Trusted Extensions 的代码示例,请参见Trusted Extensions Developer’s Guide

安全管理员针对可信程序的职责

安全管理员负责测试和评估新软件。确定软件值得信任后,安全管理员为程序配置权限配置文件和其他安全相关属性。

    安全管理员的职责包括以下几项:

  1. 确保程序员和程序分发过程是可信的。

  2. 通过下面的某个来源,确定程序需要哪些特权:

    • 询问程序员。

    • 搜索源代码,以查明程序期望使用的任何特权。

    • 搜索源代码,查明程序要求其用户具有的任何授权。

    • ppriv 命令中使用调试选项,搜索特权使用情况。有关示例,请参见 ppriv(1) 手册页。还可以使用 dtrace 评估特权和授权的使用情况。

  3. 检查源代码,以确保代码以值得信任的方式使用程序运行所需的特权。

    如果程序未能以值得信任的方式使用特权,且您可以修改程序的源代码,请修改代码。只有十分了解安全性的安全顾问或开发者才能修改代码。修改可以包括特权包围或对授权的检查。

    必须手动指定特权。对于因缺少特权而失败的程序,可以为其指定特权。另一方面,安全管理员可以决定指定一个有效的 UID 或 GID 来使特权成为非必需的。

  4. 为新程序创建和指定权限配置文件。