本章讨论安全性特性、用户和组以及它们的权限。本章包括以下主题:
Sun Management Center 软件的安全性基于 JavaTM 安全类和 SNMPv2usec(SNMP 版本 2,基于用户的安全模式)安全性标准。
仅有效的 Sun Management Center 用户可以操作本软件。
您可以在本软件中设置安全性权限或访问控制列表 (access control list, ACL) 类别。安全性特性可以提供管理域、组、主机和模块级别的控制。
本软件会针对每个管理的属性对用户和访问控制进行鉴别。
管理员,类似 UNIX 中的超级用户 (root)
操作员,运行和监视系统的操作员
一般,类似具有只读查看权限的访客访问
要了解 ACL 类别,首先需要了解 Sun Management Center 软件的用户和组。以下各节将说明用户和组。
Sun Management Center 用户是服务器主机上的有效 UNIX 用户。因此,系统管理员必须将有效用户添加到文件 /var/opt/SUNWsymon/cfg/esusers 中。如果某个用户名不在此文件中,该用户将不能登录 Sun Management Center 软件。
管理员必须将所有需要登录 Sun Management Center 软件的用户添加到用户 ID 列表中。默认情况下,此文件中的所有用户都具有一般访问权限,除非使用赋予用户 esadm、esops 或 esdomadm 权限中介绍的过程授予用户其他权限。
所有出现在 esusers 文件中的用户称为一般用户。默认情况下,Sun Management Center 一般用户可以执行以下功能:
登录软件
查看创建的管理域、主机和模块
查看事件
触发手动刷新
运行专用命令
绘制数据图表
Sun Management Center 超级用户自动属于后续各节中描述的所有组。Sun Management Center 超级用户具有管理员权限,如Sun Management Center 管理员或 esadm所述。
在设置 Sun Management Center 服务器的过程中,服务器主机上将创建以下默认组:
此外,所有 Sun Management Center 用户都属于一个称为 ANYGROUP 的虚拟组。
列出的组必须在运行 Sun Management Center 服务器层的计算机上进行定义。这些组不需要在其他计算机上进行定义。后续各节将详细说明这些组。
列出的组定义在 /etc/group 文件中。
属于 esops 组的 Sun Management Center 软件用户通常是操作员用户。这些操作员可以运行、监视并在某种程度上配置所管理系统的某些参数。esops 可以执行多种操作,包括某些一般用户可执行的操作:
禁用或启用模块
设置报警限制
设置规则参数
运行报警操作
运行专用命令
设置刷新间隔
确认、删除或修复事件
启用或禁用历史日志记录
设置日志记录历史参数
属于 esadm 组的软件用户可以执行管理员操作。管理员操作是可由操作员用户执行的操作的超集,如 Sun Management Center 操作员或 esops所述。除了可以执行操作员用户 (esops) 所能执行的所有操作外,这些管理员用户 (esadm) 还可以执行以下操作:
加载或卸载模块
设置 ACL 用户和组
查看管理域、主机或模块
创建管理域
在管理域中创建组
向组或管理域中添加对象
查看管理域、主机或模块
除了上面列出的权限外,属于 esdomadm 的用户只是一般用户,除非另行配置。
下表列出了默认情况下用户可以执行的不同功能类型。给定单元格中显示的标记表明指定的用户可以执行所列功能。
此表适用于所有模块。个别模块也可以具有特定限制,这些限制由该模块控制。
表 18–1 域管理员、管理员、操作员和一般功能
功能 |
域管理员 |
管理员 |
操作员 |
常规 |
---|---|---|---|---|
加载模块 |
|
x |
|
|
卸载模块 |
|
x |
|
|
创建管理域 |
x |
|
|
|
在管理域中创建组 |
x |
|
|
|
向组或管理域中添加对象 |
x |
|
|
|
查看管理域、主机或模块 |
x |
x |
x |
x |
设置 ACL 用户或组 |
|
x |
|
|
禁用或启用模块 |
|
x |
x |
|
设置模块活动时间窗口 |
|
x |
x |
|
设置报警限制 |
|
x |
x |
|
设置规则参数 |
|
x |
x |
|
运行报警操作 |
|
x |
x |
|
运行专用命令 |
|
x |
x |
|
设置刷新间隔 |
|
x |
x |
|
手动触发刷新 |
x |
x |
x |
x |
启用或禁用历史日志记录 |
|
x |
x |
|
设置日志记录历史参数 |
|
x |
x |
|
确认、删除或修复事件 |
|
x |
x |
|
查看事件 |
x |
x |
x |
x |
在 Sun Management Center 软件中,上述各类用户之间存在相互包含的关系。这意味着具有 esadm 权限的用户可以执行具有 esops 权限的用户所能执行的任何操作。由于管理员可以更改默认权限,因此具有 esops 权限的用户也可以比具有 esadm 权限的用户执行更多的操作。包含关系意味着,软件中没有任何因素可以使 esops、esadm 和 esdomadm 其中之一比其他两者具有更大的权限。
有关如何覆盖默认权限的更多信息,请参见覆盖默认代理权限。
管理域由拓扑管理器操纵。本节将描述拓扑管理器、其他代理以及其他模块的默认权限。
拓扑管理器 |
默认权限 |
---|---|
管理员用户列表 |
|
操作员用户列表 |
|
一般用户列表 |
|
管理员 SNMP 团体列表 |
|
操作员 SNMP 团体列表 |
|
一般 SNMP 团体列表 |
public |
管理员组列表 |
esdomadm |
操作员组列表 |
esops |
一般组列表 |
ANYGROUP |
下表列出了不在拓扑管理器中的组件和模块的默认权限。
表 18–3 Sun Management Center 组件和模块的默认权限
组件和模块 |
默认权限 |
---|---|
管理员用户列表 |
|
操作员用户列表 |
|
一般用户列表 |
|
管理员组列表 |
esadm |
操作员组列表 |
esops |
一般组列表 |
ANYGROUP |
管理员 SNMP 团体列表 |
|
操作员 SNMP 团体列表 |
|
一般 SNMP 团体列表 |
public |
关键字 ANYGROUP 并不是真正的 UNIX 组,而是一个特殊的关键字,它表示可以登录 Sun Management Center 软件的所有用户都具有访问对象的一般权限。
管理域
管理域中的组
主机
模块(M)
ACL 规范包括建立或定义一个或多个以下参数:
管理员用户和管理员组 – 可以执行管理员操作的用户和组的列表。默认情况下,这些用户是 esadm 或 esdomadm,这将视情况而定。
操作员用户和操作员组 – 可以执行操作员操作的用户和组的列表。默认情况下,这些用户是 esops。
一般用户和一般组 – 可以执行一般操作的用户和组的列表。默认情况下,此类别是一个称为 ANYGROUP 的虚拟组。
管理员团体 (SNMP) – 可以使用 SNMP 执行管理员操作的 SNMP 团体的列表。
操作员团体 (SNMP) – 可以使用 SNMP 执行操作员操作的 SNMP 团体的列表。
一般团体 (SNMP) – 可以使用 SNMP 执行一般操作的 SNMP 团体的列表。
用户可以访问并查看在远程 Sun Management Center 服务器上运行的会话的数据。当用户尝试访问此类信息时,该用户将作为具有只读权限的一般用户进行访问。在不同服务器上运行的 Sun Management Center 会话的操作将根据每个会话的服务器环境来定义。有关更多信息,请参见Sun Management Center 服务器环境和安全性。
作为用户,您可以出于各种原因来访问并设置不同的服务器环境:
使每个服务器环境都具有不同的用户和管理员,但仍然可以互相访问
允许元素之间存在物理分隔,例如在广域网 (WAN) 环境中
使多台主机可以由一套中央组件来处理,从而提高性能
通过链接到其他服务器环境,您可以查看该服务器环境中对象的顶级状态。
服务器环境包括一组 Sun Management Center 代理以及与代理连接的特定服务器层。服务器环境中的代理和主机共享一个中央组件集,这些组件如下所示:
Sun Management Center 服务器
拓扑管理器
事件管理器
陷阱处理程序
配置管理器
每个 Sun Management Center 组件或代理在安装时均已经过配置,以便获得其陷阱处理程序和事件管理器的位置。Sun Management Center 软件通过陷阱处理程序和事件管理器的 IP 地址和端口地址来标识它们。要确定是否在自己的服务器环境中,您需要知道所访问服务器各自的 IP 地址和端口地址。不同的服务器环境具有不同的端口号。
远程服务器环境是指一个远程代理集合以及与远程代理关联的特定服务器层。
代理从服务器层接收安全性配置。此信息使代理可以鉴别发送到该代理的管理请求。然后,代理可以对请求的操作执行访问控制,作为该管理请求的一部分。
当用户尝试跨服务器环境进行通信时,会有一些安全性方面的限制。
在当前的 Sun Management Center 环境中,您可以访问其他服务器中的信息,但有如下限制:
如果尝试访问远程服务器环境,该服务器将赋予您一般用户权限。因此,您可以对数据进行访问,但不能修改或使用该服务器中的对象。您被限制为只能查看远程服务器对象。
在远程服务器中,编辑功能会有所不同。例如,您可以在环境之间进行复制并粘贴,但不能进行剪切并粘贴。
控制台可能并没有明显表示出您正在访问其他服务器环境。要确定您是否正在访问其他服务器,可以在“细节”窗口的“信息”选项卡中检验一下该服务器的 IP 端口号或地址。
成为 Sun Management Center 服务器主机上的超级用户。
% su - |
编辑文件 /var/opt/SUNWsymon/cfg/esusers。
在新的一行中添加用户名。
确保该用户名是有效的 UNIX 用户名。
保存该配置文件并退出编辑器。
通过以下方法之一访问属性编辑器:
在选定对象上单击鼠标按钮 3,并从弹出菜单中选择“属性编辑器”。
从主控制台窗口的“工具”菜单中选择“属性编辑器”。
屏幕上将显示属性编辑器。除了“取消”和“帮助”按钮外,窗口底部的其他按钮都未激活。当修改窗口中的任意字段时,将激活其余的按钮。
在“属性编辑器”窗口中,选择“安全性”选项卡。
根据需要更改各个值。
以下列表解释了每个字段的数据,并提供了示例值。
用户列表。jim 是可以执行管理员操作的用户。
操作员列表john 和其他用户可以执行操作员操作。注意,输入时必须用一个或多个空格分隔这些输入项。
一般用户列表。nick 和 richie 是可以执行一般操作的用户。
属于管理员组的所有用户可以执行管理员操作。默认情况下,这些用户可以是 esadm 或 esdomadm,这将视情况而定。
属于 esops 的所有用户可以执行操作员操作。
ANYGROUP 是一个可以执行一般操作的虚拟组。所有 Sun Management Center 用户都属于此虚拟组。
此字段为空,说明没有可以使用 SNMP 执行管理员操作的 SNMP 团体。
此字段为空,说明没有可以使用 SNMP 执行操作员操作的 SNMP 团体。
默认情况下,public 是可以使用 SNMP 执行一般操作的 SNMP 团体。
在多个输入项之间使用空格或逗号分隔,如“用户”下的“操作员”项所示。
有关安全性权限的更多信息,请参见访问控制类别。
成为 Sun Management Center 服务器主机上的超级用户。
使用 groupadd 命令创建一个组。
# /usr/sbin/groupadd groupname |
将用户添加到新创建的组中。
将新组添加到 ACL 中。
有关更多信息,请参见控制对模块的访问。
成为 Sun Management Center 服务器主机上的超级用户。
必要时,将用户名添加到 /var/opt/SUNWsymon/cfg/esusers 文件中。
在 /etc/group 文件中,将用户添加到下面适当的行中:esadm、esops 或 esdomadm。
保存该配置文件并退出编辑器。
成为 Sun Management Center 服务器主机上的超级用户。
在文件 /var/opt/SUNWsymon/cfg/esusers 中,删除与要删除的用户名对应的行。
保存该配置文件并退出编辑器。
从 Sun Management Center 组中删除用户名。
将用户从 Sun Management Center 用户列表中删除后,该用户将不能再登录 Sun Management Center 服务器。请确保从所有 ACL 中删除该用户。
在 Sun Management Center 软件中,只有管理员可以使用“属性编辑器”修改特定对象的 ACL 列表,从而覆盖其默认权限。
访问需要更改权限的特定管理对象的“属性编辑器”。
要查看并更改安全性信息,请单击“属性编辑器”窗口的“安全性”选项卡。
根据需要更改信息。
要应用安全性更改并关闭“属性编辑器”窗口,请单击“确定”。
要保持打开“属性编辑器”窗口并应用安全性更改,请单击“应用”。
Sun Management Center 支持 Sun Management Center 服务器和代理组件之间的 SNMP 通信加密。SNMP 加密支持使用 CBC-DES 对称加密算法。
您可以使用 es-config 脚本在 Sun Management Center 服务器中启用 SNMP 加密。您可以使用该脚本来打开或关闭自动协调特性。有关详细信息,请参见启用 SNMP 加密。
对于运行 Solaris 9 或更早版本的系统,加密基于软件包 SUNWcry。
对于运行 Solaris 9 的系统,请注意以下情况:
对 Sun Management Center 服务器和代理主机进行的 SNMP 加密均 依赖于 SUNWcry 软件包,该软件包含有 /usr/lib/libcrypt_d.so 加密库。必须单独安装此软件包。
Sun Management Center 3.5 以及更早期的服务器和代理不支持 SNMP 加密,即使已经安装了 SUNWcry。
如果系统检测到 SUNWcry 软件包,则将在设置代理或服务器的过程中自动配置 SNMP 加密支持。
对于运行 Solaris 10 的系统,加密基于公共密钥加密标准 (PKCS#11)。
PKCS#11 为具有加密信息的设备指定一个 API(称为 Cryptoki)并执行加密功能。有关 RSA 定义的 PKCS#11 的更多信息,请参见 http://www.rsasecurity.com/rsalabs。
对于运行 Solaris 10 的系统,请注意以下情况:
对 Sun Management Center 服务器和代理主机进行的 SNMP 加密均依赖于 SUNWcsl 软件包,该软件包含有 /usr/lib/libpkcs11.so 加密库。默认情况下该软件包已安装。
Sun Management Center 3.5 以及更早期的服务器和代理不支持 SNMP 加密(即使已安装了 SUNWcsl)。
如果系统检测到 SUNWcsl 软件包,则将在设置代理或服务器的过程中自动配置 SNMP 加密支持。
对于运行 Linux 的系统,加密基于公共密钥加密标准 (PKCS#11)。
SNMP 加密依赖于 PKCS11_API.so 加密库。默认情况下,该库没有安装。您必须在 /usr/lib/pkcs11 中提供该库,并启用 pkcs_slot 守护进程来启用加密。
可以将支持加密的 Sun Management Center 3.6 服务器设置为动态支持代理,而不必考虑这些代理是否支持加密。此特性称为自动协调,可以将其设置为打开或关闭。
如果将自动协调特性设置为关闭,则可以确保在启动与代理的通信时,服务器始终使用加密。此设置适用于具有严格的安全性策略要求的环境。如果将自动协调功能设置为关闭,则:
如果代理支持加密,则代理会理解已加密的 SNMP 消息。
如果代理不支持加密,则代理无法理解已加密的消息。因此会出现超时,同时控制台消息显示“代理没有响应”。超时将被记录在代理日志中。
如果将自动协调特性设置为打开,则仅当代理支持加密时,服务器对其与代理之间的 SNMP 通信进行加密。结果将发生以下某一个事件:
如果代理支持加密,则代理会理解已加密的 SNMP 消息。
如果代理不支持加密,则仅验证 SNMP 消息但不会对其进行加密。
要查找 SNMP 加密的当前状态,请运行不带变量的 es-config 命令。
检查软件包是否已安装。
对于运行 Solaris 9 或更早版本的系统,请键入以下命令以检查系统中是否已安装了 SUNWcry 软件包(包含 /usr/lib/libcrypt_d.so 加密库):
% pkginfo | grep SUNWcry |
如果已安装该软件包,则系统显示:
application SUNWcry |
SUNWcry 软件包是 Solaris 加密工具包的一部分。要获取 Solaris 加密工具包,请咨询 Sun 销售代表。有关管理安全系统的重要信息,请参见 Solaris 系统管理文档。
对于运行 Solaris 10 的系统,请键入以下命令以检查系统中是否已安装了 SUNWcsl 软件包(包含 /usr/lib/libpkcs11.so 加密库):
% pkginfo | grep SUNWcsl |
如果已安装该软件包,则系统显示:
application SUNWcsl |
对于运行 Linux 的系统,请确保您在 /usr/lib/pkcs11 中提供了 PKCS11_API.so 加密库,并启用了 pkcs_slot 守护进程。
以超级用户身份在服务器主机上键入以下命令:
# es-config -r |
系统会检测是否存在适当的软件包,并自动停止所有 Sun Management Center 组件。然后脚本会要求您输入安全性初始化向量。
键入安全性初始化向量。
脚本要求您输入 SNMPv1 团体字符串。
当系统询问您是否启动加密通信时,请键入 y 以启动加密通信或键入 n 拒绝启用。
当系统询问您是否要启用自动协调特性时,请键入 y 以启用该特性或键入 y 拒绝启用。
有关自动协调特性的详细信息,请参见“自动协调”特性。
Sun Management Center 代理可以与使用 SNMPv1、SNMPv2c 和 SNMPv2usec 的服务器通信。默认情况下,这些通信是启用的。您可以通过编辑文件 domain-config.x 来禁用 SNMPv1 和 SNMPv2c 通信。但是,您无法禁用 SNMPv2usec 通信。
成为 Sun Management Center 代理的超级用户。
% su -
打开文件 /var/opt/SUNWsymon/cfg/domain-config.x。
在该文件中添加以下各行:
agent = { agentServer = "agentHostName" snmpPort = "161" SNMPv1 = off } |
其中,agentHostName 指代理所在主机的名称。
成为 Sun Management Center 代理的超级用户。
% su -
打开文件 /var/opt/SUNWsymon/cfg/domain-config.x。
在该文件中添加以下各行:
agent = { agentServer = "agentHostName" snmpPort = "161" SNMPv2c = off } |
其中,agentHostName 指代理所在主机的名称。
SNMPv3 是一个行业标准协议,用来弥补 SNMPv2usec 的限制。SNMP 版本 3 生成的 SNMP 消息,以及用户安全模型 (SNMPv3 usm) 比 SNMPv2usec 生成的消息更结构化。
Sun Management Center 3.6 软件支持 SNMPv3。 通过 SNMPv3,Sun Management Center 代理可以与第三方管理应用程序安全地进行通信。