Oracle® Solaris Cluster 安全指南

退出打印视图

更新时间: 2014 年 7 月
 
 

开发者需要注意的安全事项

本节提供对使用 Oracle Solaris Cluster 生成应用程序的开发者有用的信息。开发者使用 Oracle Solaris Cluster API。有关更多信息,请参见Oracle Solaris Cluster Concepts Guide 中的第 3  章 Key Concepts for System Administrators and Application Developers

开发者创建的代理应用程序应该在产品的安全框架内工作并考虑以下安全功能:

  • Oracle Solaris Cluster 支持大量应用程序代理,这些代理作为一组回调方法来实现,以控制应用程序的开始、停止、探测和验证。StartStopValidate 等回调方法始终以 root 用户身份运行。如果这些可执行方法文件中的一个可由非 root 用户写入,这会造成漏洞,其中此类非 root 用户可以通过向回调方法插入代码来获得未经授权的特权提升。Oracle Solaris Cluster 检查此类回调方法可执行文件的所有权和权限。该检查由 resource_security 群集属性设置来控制。如果 resource_security 设置为 SECURE 并且发现方法代码可由非 root 用户写入,则方法执行将失败。

    反过来,代理方法经常运行外部程序,例如应用程序特定的管理命令。代理方法应该使用包装器运行所有此类外部程序,以确保使用最小的可能权限执行外部程序。Oracle Solaris Cluster 提供 application_userresource_security 属性以及 scha_check_app_user API 来启用数据服务,以确保安全执行应用程序。可以在脚本中调用 scha_check_app_user 命令来针对配置的 Application_userResource_security 设置验证用户名。有关信息,请参见 scha_check_app_user(1HA ) 手册页、r_properties(5) 手册页和 cluster(1CL) 手册页。

  • 对应用程序的安全访问-您发出管理或配置命令时,一些情况需要对应用程序的安全访问。此安全访问应通过基于凭证的方法(例如 Oracle Wallet Manager)进行。如果必须提供密码,该密码应安全使用并以混乱的形式存储。例如,不应该通过 ps(1) 命令在对用户可见的命令行上传递该密码。Oracle Solaris Cluster 提供 clpstring 命令来允许您创建专用字符串,可以使用这些字符串在群集中安全存储编码的密码并在必须使用密码执行管理任务时检索这些字符串。有关此命令的信息,请参见 clpstring(1CL) 手册页。

有关开发数据服务时如何使用这些安全功能的更多信息,请参见Oracle Solaris Cluster Data Services Developer’s Guide