本节提供有关 Sun Management Center 访问、服务器和代理组件以及安全密钥的安全性建议。
在设置 Sun Management Center 用户和用户组之前,您应当了解可以执行的管理操作的类型,以便将这些操作指定给适当的用户。认真规划用户组和角色,有助于确保配置管理的正确性、数据的完整性以及管理信息何系统资源的安全性。
如果事先不在主访问文件 /var/opt/SUNWsymon/cfg/esusers 中明确标识用户,该用户就不能访问 Sun Management Center。因此要授予用户访问 Sun Management Center 的权限,就必须在 /var/opt/SUNWsymon/cfg/esusers 文件中添加用户名。然后,该用户才能使用用户名和密码登录 Sun Management Center。
用户登录时,Sun Management Center 使用基于 PAM 的身份验证来对用户进行验证。Sun Management Center 基于以下功能角色控制访问以及定义用户权限:
域管理员 – 该角色的级别最高,允许成员在服务器环境中创建顶层域,并为这些域中的其他 Sun Management Center 用户指定权限。通过创建特定的域并为这些域指定用户权限,域管理员可以为特定的拓扑环境创建自定义的配置。如果用户是 esdomadm UNIX 用户组的成员,则认为该用户是域管理员。
管理员 – 该角色负责管理拓扑系统以外的所有操作。管理员可以执行特权操作,包括加载模块以及配置被管理的对象和数据属性。管理员还可以指定代理级和模块级的访问控制。这种控制使得此角色能够在授权策略的建立和维护方面发挥作用。如果用户是 esadm UNIX 用户组的成员,则认为该用户是管理员。
操作员 – 该角色允许系统用户配置自己的域和拓扑容器。此外,操作员角色还允许用户配置被管理对象的数据采集和报警事宜,以及查看管理信息。虽然操作员能够启用或禁用管理模块,但是在默认情况下,他们不能加载模块或更改访问控制权限。因此,操作员代表的这类用户可以有效地使用产品并对其操作进行细微的调整,但是不能影响主要的配置或更改体系结构。如果用户是 esops UNIX 用户组的成员,则认为该用户是操作员。
一般用户 – 此角色代表没有明确归为以上三个用户组的用户。授予一般用户的权限很少。在默认情况下,这些用户只能查看管理信息并确认报警。一般用户角色较适于第一层支持。在该层支持中,主要目标是问题的标识、重新调解和逐级上报。
在大型组织中,Sun Management Center 安全性角色很可能直接对应到现有的系统管理和支持等职能。而对于其他组织,企业功能和产品角色之间的对应关系可能比较模糊,因此该过程会相对复杂一些。在有些情况下,为单个用户指定所有的逻辑角色可能会比较保险。
权限的指定十分灵活,不必局限于这四种 Sun Management Center 安全性角色。
可以在域级、拓扑容器级、代理级和模块级明确指定 Sun Management Center 权限。指定权限时可以引用任意的 UNIX 用户或用户组,上述各组仅为习惯用法。指定职能角色时,Sun Management Center 权限组允许使用现有的帐户配置。虽然建议不要在指定权限时明确指定用户,但是在已建立了 UNIX 组的环境中使用这些 UNIX 组将十分方便。
有关安全性角色、组和用户的详细信息,请参阅设置用户和《Sun Management Center 3.6.1 User’s Guide》中的第 18 章 “Sun Management Center Security”。
本节介绍 Sun Management Center 组件之间所使用的安全设置过程。
Sun Management Center 服务器与它所管理的节点之间的通信主要是使用行业标准简单网络管理协议第 2 版来执行的,采用的是用户安全模式 SNMP v2usec。SNMPv2 机制非常适合用于将用户凭据从服务器层映射到代理方操作,它是确保访问控制策略不会被绕过的主要机制。
Sun Management Center 也支持基于团体安全性的 SNMP v1 和 v2。虽然从安全性的角度来看不够可靠,但是支持 SNMP v1 和 v2 对于与其他设备和管理平台集成非常重要。在不需要使用这些机制的环境中,通过使用 SNMP v1 和 v2 协议,访问控制指定机制可用来限制或禁止对进程的访问。Sun Management Center 代理也能理解并响应来自第三方应用程序中的 SNMPv3 查询。
对于需要使用数据流的自定义操作,还应该采用探测机制。探测机制是由 SNMP 操作启动的。在启动探测机制时,探测操作使用流式 TCP 连接,在被管理的节点上实现可能发生的双向交互服务,例如查看日志文件。由于探测机制使用的是 SNMP 通信,因此不对数据包有效载荷进行加密。
当 Sun Management Center 与本地服务器环境以外的被管理节点进行通信时,安全模式可以确保作为通用的 public SNMPv2 usec 用户执行操作。使用 public 将严格限制用户权限,并限制用户不能仔细研读管理数据。
Sun Management Center 服务器层和客户机(如控制台和命令行界面)之间的通信是使用 Java 技术远程方法调用 (RMI) 以及产品特定的安全模式共同执行的。安全模式允许客户机在低、中或高安全模式下进行操作,这些模式将影响系统执行的消息验证的级别。
低:无消息验证。登录时仅检查用户密码。
中(默认):只进行控制台到服务器的验证。例如,对传入的控制台消息进行服务器验证。
高:对消息进行控制台验证和服务器验证。
由于较高的安全性级别可能会影响性能,所以您应该仔细考虑自己的消息验证要求。
Sun Management Center 为 Service Management Facility (SMF)、Module Configuration Propagation (MCP) 和Solaris Container Manager 模块提供了模块级安全性。任何用户都可以在 Sun Management Center 代理上装入任何模块。但是,对于在模块上设置/更改操作或值而言,用户需要事先得到许可。模块安全性有两种表现形式:RBAC(Role Based Access Control,基于角色的访问控制)和本地文件访问。
RBAC 基于配置文件。拥有所需配置文件的用户可以执行配置文件特定的任务。通过运行 Solaris 系统管理命令可实现 RBAC。
本地文件访问是独立于操作系统的。用户必须具有所需的访问权限,该权限要添加到本地访问文件。使用 es-config 命令可以实现通过本地文件访问来提供安全性。有关更多信息,请参阅使用 es-config。
当您在一个单独的机器上安装并设置 Sun Management Center 代理时,系统将提示您提供一个密码以便为代理生成安全密钥。该密码应该与您设置 Sun Management Center 服务器时指定的密码相同。如果 Sun Management Center 服务器和代理的安全密钥不同,两者之间将无法通信。有关如何重新生成安全密钥的信息,请参见重新生成安全密钥。
在设置过程中,系统还将提示您接受默认 SNMP 团体字符串(公用),或者指定一个私用的团体字符串。SNMP 团体字符串实际上就是具有特权的内部帐户的密码。因此,与通用的 SNMPv2 usec 工具一起使用时,该字符串可用于模拟服务器层。因此,请勿使用默认的团体字符串。而应该为每个服务器环境指定一个单独的私用团体字符串。
您应该像对待超级用户密码那样,非常重视安全性密码和 SNMP 团体字符串。