Sun Management Center 3.6.1 用户指南

第 18 章 Sun Management Center 安全性

本章讨论安全性功能、用户和组以及它们的权限。本章包括以下主题:

Sun Management Center 安全性概念

Sun Management Center 软件的安全性基于 JavaTM 安全类和 SNMPv2usec(SNMP 版本 2,基于用户的安全模式)安全性标准。

本软件提供了以下安全性层:

访问控制类别

本软件提供了以下 ACL 类别:

要了解 ACL 类别,首先需要了解 Sun Management Center 软件的用户和组。以下各节将说明用户和组。

Sun Management Center 用户

Sun Management Center 用户是服务器主机上的有效 UNIX 用户。因此,系统管理员必须将有效用户添加到文件 /var/opt/SUNWsymon/cfg/esusers 中。如果某个用户名不在此文件中,该用户将不能登录 Sun Management Center 软件。

一般用户

管理员必须将所有需要登录 Sun Management Center 软件的用户添加到用户 ID 列表中。默认情况下,此文件中的所有用户都具有一般访问权限,除非使用赋予用户 esadmesopsesdomadm 权限中介绍的过程授予用户其他权限。

所有出现在 esusers 文件中的用户称为一般用户。默认情况下,Sun Management Center 一般用户可以执行以下功能:

Sun Management Center 超级用户

Sun Management Center 超级用户自动属于后续各节中描述的所有组。Sun Management Center 超级用户具有管理员权限,如Sun Management Center 管理员或 esadm所述。

Sun Management Center 组

在设置 Sun Management Center 服务器的过程中,服务器主机上将创建以下默认组:

此外,所有 Sun Management Center 用户都属于一个称为 ANYGROUP 的虚拟组。

列出的组必须在运行 Sun Management Center 服务器层的计算机上进行定义。这些组不需要在其他计算机上进行定义。后续各节将详细说明这些组。


注 –

列出的组定义在 /etc/group 文件中。


Sun Management Center 操作员或 esops

属于 esops 组的 Sun Management Center 软件用户通常是操作员用户。这些操作员可以运行、监视并在某种程度上配置所管理系统的某些参数。esops 可以执行多种操作,包括某些一般用户可执行的操作:

Sun Management Center 管理员或 esadm

属于 esadm 组的软件用户可以执行管理员操作。管理员操作是可由操作员用户执行的操作的超集,如 Sun Management Center 操作员或 esops所述。除了可以执行操作员用户 (esops) 所能执行的所有操作外,这些管理员用户 (esadm) 还可以执行以下操作:

Sun Management Center 域管理员或 esdomadm

属于 esdomadm 组的用户可以执行以下域管理员操作:


注 –

除了上面列出的权限外,属于 esdomadm 的用户只是一般用户,除非另行配置。


管理员、操作员和一般功能

下表列出了默认情况下用户可以执行的不同功能类型。给定单元格中显示的标记表明指定的用户可以执行所列功能。

此表适用于所有模块。个别模块也可以具有特定限制,这些限制由该模块控制。

表 18–1 域管理员、管理员、操作员和一般功能

功能 

域管理员 

管理 

操作员 

常规 

加载模块 

 

 

 

卸载模块 

 

 

 

创建管理域 

 

 

 

在管理域中创建组 

 

 

 

向组或管理域中添加对象 

 

 

 

查看管理域、主机或模块 

设置 ACL 用户或组 

 

 

 

禁用或启用模块 

 

 

设置模块活动时间窗口 

 

 

设置报警限制 

 

 

设置规则参数 

 

 

运行报警操作 

 

 

运行专用命令 

 

 

设置刷新间隔 

 

 

手动触发刷新 

启用或禁用历史日志记录 

 

 

设置日志记录历史参数 

 

 

确认、删除或修复事件 

 

 

查看事件 

在 Sun Management Center 软件中,上述各类用户之间存在相互包含的关系。这意味着具有 esadm 权限的用户可以执行具有 esops 权限的用户所能执行的任何操作。由于管理员可以更改缺省权限,因此具有 esops 权限的用户也可以比具有 esadm 权限的用户执行更多的操作。包含关系意味着,软件中没有任何因素可以使 esopsesadmesdomadm 其中之一比其他两者具有更大的权限。

有关如何覆盖默认权限的更多信息,请参见覆盖缺省代理权限

默认权限

管理域由拓扑管理器操纵。本节将描述拓扑管理器、其他代理以及其他模块的默认权限。

拓扑管理器的缺省权限

下表列出了拓扑管理器(用于维护管理域)的默认权限。

表 18–2 拓扑管理器的默认权限

拓扑管理器 

默认权限 

管理员用户列表 

 

操作员用户列表 

 

一般用户列表 

 

管理员 SNMP 团体列表 

 

操作员 SNMP 团体列表 

 

一般 SNMP 团体列表 

public

管理员组列表 

esdomadm

操作员组列表 

esops

一般组列表 

ANYGROUP

其他 Sun Management Center 组件和模块的默认权限

下表列出了不在拓扑管理器中的组件和模块的缺省权限。

表 18–3 Sun Management Center 组件和模块的默认权限

组件和模块 

默认权限 

管理员用户列表 

 

操作员用户列表 

 

一般用户列表 

 

管理员组列表 

esadm

操作员组列表 

esops

一般组列表 

ANYGROUP

管理员 SNMP 团体列表 

 

操作员 SNMP 团体列表 

 

一般 SNMP 团体列表 

public

关键字 ANYGROUP 并不是真正的 UNIX 组,而是一个特殊的关键字,它表示可以登录 Sun Management Center 软件的所有用户都具有访问对象的一般权限

访问控制定义和限制

esadm 组可以为用户和组指定以下组件的 ACL 特性:

管理员、操作员和一般访问

ACL 规范包括建立或定义一个或多个以下参数:

Sun Management Center 远程服务器访问

用户可以访问并查看在远程 Sun Management Center 服务器上运行的会话的数据。当用户尝试访问此类信息时,该用户将作为具有只读权限的一般用户进行访问。在不同服务器上运行的 Sun Management Center 会话的操作将根据每个会话的服务器环境来定义。有关更多信息,请参见Sun Management Center 服务器环境和安全性

作为用户,您可以出于各种原因来访问并设置不同的服务器环境:

通过链接到其它服务器环境,您可以查看该服务器环境中对象的顶级状态。

Sun Management Center 服务器环境和安全性

服务器环境包括一组 Sun Management Center 代理以及与代理连接的特定服务器层。服务器环境中的代理和主机共享一个中央组件集,这些组件如下所示:

每个 Sun Management Center 组件或代理在安装时均已经过配置,以便获得其陷阱处理程序和事件管理器的位置。Sun Management Center 软件通过陷阱处理程序和事件管理器的 IP 地址和端口地址来标识它们。要确定是否在自己的服务器环境中,您需要知道所访问服务器各自的 IP 地址和端口地址。不同的服务器环境具有不同的端口号。

远程服务器环境是指一个远程代理集合以及与远程代理关联的特定服务器层。

代理从服务器层接收安全性配置。此信息使代理可以鉴别发送到该代理的管理请求。然后,代理可以对请求的操作执行访问控制,作为该管理请求的一部分。

跨服务器的限制

当用户尝试跨服务器环境进行通信时,会有一些安全性方面的限制。

在当前的 Sun Management Center 环境中,您可以访问其他服务器中的信息,但有如下限制:


注 –

控制台可能并没有明显表示出您正在访问其他服务器环境。要确定您是否正在访问其他服务器,可以在“细节”窗口的“信息”选项卡中检验一下该服务器的 IP 端口号或地址。


使用访问控制

后续各节将介绍如何执行以下主要访问控制功能:

Procedure添加 Sun Management Center 用户

步骤
  1. 成为 Sun Management Center 服务器主机上的超级用户。


    % su -
    
  2. 编辑文件 /var/opt/SUNWsymon/cfg/esusers

  3. 在新的一行中添加用户名。

    确保该用户名是有效的 UNIX 用户名。

  4. 保存该配置文件并退出编辑器。

    添加到用户列表中的用户将具有默认权限。有关更多信息,请参见默认权限覆盖缺省代理权限

Procedure控制对模块的访问

步骤
  1. 通过以下方法之一访问属性编辑器:

    • 在选定对象上单击鼠标按钮 3,并从弹出菜单中选择“属性编辑器”。

    • 从主控制台窗口的“工具”菜单中选择“属性编辑器”。

    屏幕上将显示属性编辑器。除了“取消”和“帮助”按钮外,窗口底部的其它按钮都未激活。当修改窗口中的任意字段时,将激活其余的按钮。

  2. 在“属性编辑器”窗口中,选择“安全性”选项卡。

  3. 根据需要更改各个值。

    以下列表解释了每个字段的数据,并提供了示例值。

    管理员用户

    用户列表。jim 是可以执行管理员操作的用户。

    操作员用户

    操作员列表john 和其他用户可以执行操作员操作。注意,输入时必须用一个或多个空格分隔这些输入项。

    一般用户

    一般用户列表。nickrichie 是可以执行一般操作的用户。

    管理员组

    属于管理员组的所有用户可以执行管理员操作。默认情况下,这些用户可以是 esadmesdomadm,这将视情况而定。

    操作员组

    属于 esops 的所有用户可以执行操作员操作。

    一般用户组

    ANYGROUP 是一个可以执行一般操作的虚拟组。所有 Sun Management Center 用户都属于此虚拟组。

    管理员团体

    此字段为空,说明没有可以使用 SNMP 执行管理员操作的 SNMP 团体。

    操作员团体

    此字段为空,说明没有可以使用 SNMP 执行操作员操作的 SNMP 团体。

    一般用户团体

    默认情况下,public 是可以使用 SNMP 执行一般操作的 SNMP 团体。

    在多个输入项之间使用空格或逗号分隔,如“用户”下的“操作员”项所示。

    有关安全性权限的更多信息,请参见访问控制类别

Procedure向 ACL 添加用户定义的组

步骤
  1. 成为 Sun Management Center 服务器主机上的超级用户。

  2. 使用 groupadd 命令创建一个组。


     # /usr/sbin/groupadd groupname
    
  3. 将用户添加到新创建的组中。

    1. /etc/group 文件中,将用户添加到该组中。

    2. 保存该配置文件并退出编辑器。

  4. 将新组添加到 ACL 中。

    有关更多信息,请参见控制对模块的访问

Procedure赋予用户 esadmesopsesdomadm 权限

步骤
  1. 成为 Sun Management Center 服务器主机上的超级用户。

  2. 必要时,将用户名添加到 /var/opt/SUNWsymon/cfg/esusers 文件中。

  3. /etc/group 文件中,将用户添加到下面适当的行中:esadmesopsesdomadm

  4. 保存该配置文件并退出编辑器。

Procedure删除 Sun Management Center 用户

步骤
  1. 成为 Sun Management Center 服务器主机上的超级用户。

  2. 在文件 /var/opt/SUNWsymon/cfg/esusers 中,删除与要删除的用户名对应的行。

  3. 保存该配置文件并退出编辑器。

  4. 从 Sun Management Center 组中删除用户名。


    注 –

    将用户从 Sun Management Center 用户列表中删除后,该用户将不能再登录 Sun Management Center 服务器。请确保从所有 ACL 中删除该用户。


Procedure覆盖缺省代理权限

在 Sun Management Center 软件中,只有管理员可以使用“属性编辑器”修改特定对象的 ACL 列表,从而覆盖其缺省权限。

步骤
  1. 访问需要更改权限的特定管理对象的“属性编辑器”。

  2. 要查看并更改安全性信息,请单击“属性编辑器”窗口的“安全性”选项卡。

  3. 根据需要更改信息。

  4. 要应用安全性更改并关闭“属性编辑器”窗口,请单击“确定”。

    要保持打开“属性编辑器”窗口并应用安全性更改,请单击“应用”。

SNMP 加密(保密性)

Sun Management Center 支持 Sun Management Center 服务器和代理组件之间的 SNMP 通信加密。SNMP 加密支持使用 CBC-DES 对称加密算法。

您可以使用 es-config 脚本在 Sun Management Center 服务器中启用 SNMP 加密。您可以使用该脚本来打开或关闭自动协商功能。有关详细信息,请参见启用 SNMP 加密

Solaris 9 或更早版本上的加密

对于运行 Solaris 9 或更早版本的系统,加密基于软件包 SUNWcry

对于运行 Solaris 9 的系统,请注意以下情况:

Solaris 10 上的加密

对于运行 Solaris 10 的系统,加密基于公共密钥加密标准 (PKCS#11)。

PKCS#11 为具有加密信息的设备指定一个 API(称为 Cryptoki)并执行加密功能。有关 RSA 定义的 PKCS#11 的更多信息,请参见 http://www.rsasecurity.com/rsalabs

对于运行 Solaris 10 的系统,请注意以下情况:

Linux 上的加密

对于运行 Linux 的系统,加密基于公共密钥加密标准 (PKCS#11)。

SNMP 加密依赖于 PKCS11_API.so 加密库。默认情况下,该库没有安装。您必须在 /usr/lib/pkcs11 中提供该库,并启用 pkcs_slot 守护进程来启用加密。

“自动协商”功能

可以将支持加密的 Sun Management Center 3.6.1 服务器设置为动态支持代理,而不必考虑这些代理是否支持加密。此功能称为自动协商,可以将其设置为打开或关闭。

如果将自动协调特性设置为关闭,则可以确保在启动与代理的通信时,服务器始终使用加密。此设置适用于具有严格的安全性策略要求的环境。如果将自动协商功能设置为关闭,则:

如果将自动协调特性设置为打开,则仅当代理支持加密时,服务器对其与代理之间的 SNMP 通信进行加密。结果将发生以下某一个事件:

启用 SNMP 加密

要查找 SNMP 加密的当前状态,请运行不带变量的 es-config 命令。

Procedure为服务器安装启用 SNMP 加密的步骤

步骤
  1. 检查软件包是否已安装。

    • 对于运行 Solaris 9 或更早版本的系统,请键入以下命令以检查系统中是否已安装了 SUNWcry 软件包(包含 /usr/lib/libcrypt_d.so 加密库):


      % pkginfo | grep SUNWcry
      

      如果已安装该软件包,则系统显示:


      应用程序 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 守护进程。

  2. 以超级用户身份在服务器主机上键入以下命令:


    # es-config -r
    

    系统会检测是否存在适当的软件包,并自动停止所有 Sun Management Center 组件。然后脚本会要求您输入安全性初始化向量。

  3. 键入安全性初始化向量。

    脚本要求您输入 SNMPv1 团体字符串。

  4. 当系统询问您是否启动加密通信时,请键入 y 以启动加密通信或键入 n 拒绝启用。

  5. 当系统询问您是否要启用自动协调特性时,请键入 y 以启用该特性或键入 y 拒绝启用。

    有关自动协调特性的详细信息,请参见“自动协商”功能

SNMP 通信

Sun Management Center 代理可以与使用 SNMPv1、SNMPv2c 和 SNMPv2usec 的服务器通信。默认情况下,这些通信是启用的。您可以通过编辑文件 domain-config.x 来禁用 SNMPv1 和 SNMPv2c 通信。但是,您无法禁用 SNMPv2usec 通信。

Procedure禁用 SNMPv1 通信

步骤
  1. 成为 Sun Management Center 代理的超级用户。

    % su -

  2. 打开文件 /var/opt/SUNWsymon/cfg/domain-config.x。

  3. 在该文件中添加以下各行:


    agent = 
    {
             agentServer = "agentHostName"
             snmpPort = "161"
             SNMPv1 = off
    }

    其中,agentHostName 指代理所在主机的名称。

Procedure禁用 SNMPv2c 通信

步骤
  1. 成为 Sun Management Center 代理的超级用户。

    % su -

  2. 打开文件 /var/opt/SUNWsymon/cfg/domain-config.x。

  3. 在该文件中添加以下各行:


    agent = 
    {
             agentServer = "agentHostName"
             snmpPort = "161"
             SNMPv2c = off
    }

    其中,agentHostName 指代理所在主机的名称。

SNMPv3

SNMPv3 是一个行业标准协议,用来弥补 SNMPv2usec 的限制。SNMP 版本 3 生成的 SNMP 消息,以及用户安全模型 (SNMPv3 usm) 比 SNMPv2usec 生成的消息更结构化。

Sun Management Center 3.6.1 软件支持 SNMPv3。SNMPv3 可使 Sun Management Center 代理与第三方管理应用程序之间进行安全的通信。