Sun Java System Application Server Enterprise Edition 8.2 管理指南

管理密码安全性

在此版本的 Application Server 中,包含特定域的规范的 domain.xml 文件最初以明文形式包含了 Sun Java System Message Queue 代理的密码。domain.xml 文件中包含此密码的元素为 jms-host 元素的 admin-password 属性。由于在安装期间不能更改此密码,因此它不会对安全性产生很大的影响。

不过,您可以使用管理控制台添加用户和资源,并为这些用户和资源指定密码。部分密码将以明文形式写入 domain.xml 文件,例如用于访问数据库的密码。将这些密码以明文形式保存在 domain.xml 文件中可能会使安全性受到威胁。您可以对 domain.xml 中的任何密码(包括 admin-password 属性或数据库密码)进行加密。有关管理安全性密码的说明,请参见以下主题:

domain.xml 文件中加密密码

要在 domain.xml 文件中加密密码,请执行以下步骤:

  1. domain.xml 文件所在的目录(默认情况下,此目录为 domain-dir/config)中,运行以下 asadmin 命令:


    asadmin create-password-alias --user admin alias-name
    

    例如,


    asadmin create-password-alias --user admin jms-password

    将显示输入密码提示(在本例中为 admin)。有关更多信息,请参阅 create-password-aliaslist-password-aliasesdelete-password-alias 命令的手册页。

  2. 删除并替换 domain.xml 中的密码。使用 asadmin set 命令可以完成此操作。用于此目的的 set 命令的示例如下:


    asadmin set --user admin server.jms-service.jms-host.
    default_JMS_host.admin-password='${ALIAS=jms-password}'

    注 –

    将别名密码括在单引号中,如本例中所示。


  3. 重新启动相关域的 Application Server。

保护具有编码密码的文件

某些文件包含需要使用文件系统权限进行保护的编码密码。这些文件包括:

更改主密码

主密码 (MP) 是全局性的共享密码。它从不用于验证,也从不会在网络上传输。此密码是整体安全性的要塞点;用户可以选择在需要时手动输入此密码,也可以将其隐藏在文件中。它是系统中最敏感的数据。用户可以通过删除此文件强制系统提示输入 MP。更改主密码时,会将其重新保存在主密码密钥库(Java JCEKS 类型的密钥库)中。

要更改主密码,请执行以下步骤:

  1. 停止域的 Application Server。使用 asadmin change-master-password 命令提示输入旧密码和新密码,然后对所有依赖项重新进行加密。例如:


    asadmin change-master-password>
    Please enter the master password>
    Please enter the new master password>
    Please enter the the new master password again>
  2. 重新启动 Application Server。


    注意 – 注意 –

    此时,不能启动正在运行的服务器实例并且不能重新启动运行服务器实例,除非已更改这些实例所对应的节点代理上的 SMP。如果在更改服务器实例的 SMP 之前重新启动了该服务器实例,它将无法启动。


  3. 一次停止一个节点代理及与其相关的服务器。再次运行 asadmin change-master-password 命令,然后重新启动节点代理及其相关服务器。

  4. 继续对下一个节点代理执行此过程,直到对所有节点代理均已执行此过程。这样就可以完成滚动更改。

使用主密码和密钥库

主密码是用于安全密钥库的密码。创建新应用服务器域时,会生成新的自签名证书并将其存储在相关密钥库中,此密钥库是使用主密码锁定的。如果主密码不是默认密码,则 start-domain 命令将提示您输入主密码。输入正确的主密码后,便会启动域。

创建与域关联的节点代理时,节点代理会将数据与域同步。执行此操作时,也会同步密钥库。由此节点代理所控制的任何服务器实例都需要打开密钥库。由于此密钥库实际上与域创建进程所创建的密钥库相同,因此只能使用相同的主密码将其打开。不过主密码本身从未同步,这意味着不会在同步过程中将其传输到节点代理,但是需要在本地为节点代理提供主密码。因此在创建和/或启动节点代理时会提示您输入主密码,并且您需要输入创建/启动域时所输入的密码。如果更改了某个域的主密码,则必须执行相同的步骤在与此域关联的每个节点代理上更改此密码。

更改管理密码

管理密码安全性中介绍了如何对管理密码进行加密。强烈建议您对管理密码进行加密。如果要在加密管理密码之前更改管理密码,请使用 asadmin set 命令。用于此目的的 set 命令的示例如下:


asadmin set --user admin server.jms-service.jms-host.default_JMS_host.admin-password=new_pwd

还可以使用管理控制台更改管理密码,步骤如下。

要使用管理控制台更改管理密码,请选择“配置”节点 >“要配置的实例”>“安全性”节点 >“领域”节点 > admin-realm 节点,并根据需要编辑领域页面。