Sun Java System Access Manager 7 2005Q4 管理指南

第 3 章 在 SSL 模式下配置 Access Manager

将安全套接字层 (SSL) 和简单验证结合使用可以保证数据的保密性和完整性。要在 SSL 模式下启用 Access Manager,通常要执行以下操作:

使用安全 Sun Java Enterprise System Web Server 配置 Access Manager

要使用 Web Server 在 SSL 模式下配置 Access Manager,请参见以下步骤:

Procedure配置安全的 Web Server

步骤
  1. 在 Access Manager 控制台中,转至“服务配置”模块并选择“平台”服务。在“服务器列表”属性中,删除 http:// 协议,然后添加 https:// 协议。单击“保存”。


    注 –

    请务必单击“保存”。如果您没有单击“保存”,仍可以继续进行以下步骤,但是将丢失对配置所进行的全部更改,并且您将不能作为管理员登录来进行恢复。


    步骤 2 到 24 介绍了 Web Server。

  2. 登录 Web Server 控制台。默认端口为 8888。

  3. 选择在其上运行 Access Manager 的 Web Server 实例并单击“管理”。

    将显示一个弹出窗口,说明配置已更改。单击 “确定” 。

  4. 单击屏幕右上角的“应用”按钮。

  5. 单击“应用更改”。

    Web Server 应当会自动重新启动。单击“确定”继续。

  6. 停止选定的 Web Server 实例。

  7. 单击“安全”选项卡。

  8. 单击“创建数据库”。

  9. 输入新的数据库密码并单击“确定”。

    请务必将数据库密码记下来,以备将来使用。

  10. 创建“证书数据库”后,单击“请求证书”。

  11. 在屏幕上的字段中输入数据。

    “密钥对字段密码”字段与在步骤 9 中输入的字段相同。在位置字段中,您需要完整写出位置。不能输入缩写(例如 CA)。必须定义所有字段。在“公共名称”字段中,输入您的 Web Server 的主机名。

  12. 提交表单后,您将看到如下消息:


    --BEGIN CERTIFICATE REQUEST---
    
    afajsdllwqeroisdaoi234rlkqwelkasjlasnvdknbslajowijalsdkjfalsdflasdf
    
    alsfjawoeirjoi2ejowdnlkswnvnwofijwoeijfwiepwerfoiqeroijeprwpfrwl
    
    --END CERTIFICATE REQUEST--
    
                   
  13. 复制并为证书请求提交该文本。

    确保您获取的是根 CA 证书。

  14. 您将收到一个包含证书的证书响应,例如:


    --BEGIN CERTIFICATE---
    
    afajsdllwqeroisdaoi234rlkqwelkasjlasnvdknbslajowijalsdkjfalsdflasdf
    
    alsfjawoeirjoi2ejowdnlkswnvnwofijwoeijfwiepwerfoiqeroijeprwpfrwl
    
    --END CERTIFICATE---
    
                   
  15. 将这些文本复制到剪贴板或保存到文件中。

  16. 转至 Web Server 控制台并单击“安装证书”。

  17. 单击该服务器的“证书”。

  18. 在“密钥对文件密码”字段中,输入“证书数据库”密码。

  19. 将证书粘贴到提供的文本字段中或选中单选按钮,并在文本框中输入文件名。单击“提交”。

    浏览器将显示证书,并提供用于添加证书的按钮。

  20. 单击“安装证书”。

  21. 单击“可信赖证书授权机构的证书”。

  22. 按照步骤 16 到 21 中所述的相同方式安装“根 CA 证书”。

  23. 安装完这两种证书后,单击 Web Server 控制台中的“首选项”选项卡。

  24. 如果要在其他端口上启用 SSL,请选择“添加侦听套接字”。然后,选择“编辑侦听套接字”。

  25. 将安全状态从“已禁用”更改为“已启用”,单击“确定”提交更改,然后单击“应用”和“应用更改”。

    步骤 26 – 29 适用于 Access Manager。

  26. 打开 AMConfig.properties 文件。默认情况下,该文件的位置为 etc/opt/SUNWam/config

  27. 将所有出现的 http:// 协议替换为 https://,Web Server 实例目录使用的协议除外。这也在 AMConfig.properties 中指定,但必须保持相同。

  28. 保存 AMConfig.properties 文件。

  29. 在 Web Server 控制台中,单击 Access Manager 主机的 Web 服务器实例的“开/关”按钮。

    Web Server 将在“启动/停止”页面中显示一个文本框。

  30. 在文本字段中输入“证书数据库”密码并选择“启动”。

使用安全 Sun Java System Application Server 配置 Access Manager

设置 Access Manager 以在启用了 SSL 的应用程序服务器上运行分为两个步骤。首先,将 Application Server 实例配置为安全实例,绑定到已安装的 Access Manager,然后配置 Access Manager。

以 SSL 设置 Application Server 6.2

本节描述了在 SSL 模式下设置 Application Server 6.2 的步骤。

Procedure保证 Application Server 实例的安全

步骤
  1. 通过在浏览器中输入以下地址以管理员身份登录到 Sun Java System Application Server 控制台:

    http://fullservername:port

    默认端口为 4848。

  2. 输入在安装过程中输入的用户名和密码。

  3. 选择已在其中安装(或将要安装)Access Manager 的 Application Server 实例。右侧框中显示配置已更改。

  4. 单击“应用更改”。

  5. 单击“重新启动”。Application Server 将自动重新启动。

  6. 在左侧框中,单击“安全”。

  7. 单击“管理数据库”选项卡。

  8. 如果未选择数据库,则单击“创建数据库”。

  9. 输入新数据库密码并予以确认,然后单击“确定”按钮。 请确保记下数据库密码,以备将来使用。

  10. 创建“证书数据库”之后,单击“证书管理”选项卡。

  11. 如果未选择证书,则单击“请求”链接。

  12. 输入证书所需的以下“请求”数据

    1. 如果该证书为新证书或证书更新,则选择该证书。许多证书在经过特定的一段时间之后会过期,一些证书授权机构 (CA) 会自动给您发送更新通知。

    2. 指定您要提交证书请求的方式。

      如果 CA 要求接收电子邮件形式的请求,请查看 CA 电子邮件,然后输入 CA 的电子邮件地址。要查看 CA 的列表,请单击“可用的证书授权机构列表”。

      如果要从正在使用 Certificate Server 的内部 CA 申请证书,则单击 CA URL 并输入 Certificate Server 的 URL。 此 URL 应指向处理证书请求的证书服务器的程序。

    3. 输入密钥对文件的密码(这是在步骤 9 中指定的密码)。

    4. 输入以下标识信息:

      公共名称。 服务器的全名,包括端口号。

      请求者名称。 请求者的名称。

      电话号码。 请求者的电话号码

      公共名称。 将在其上安装数字证书的 Sun Java System Application Server 的全限定名称。

      电子邮件地址。管理员的电子邮件地址。

      组织名称。 您所在组织的名称。 证书授权机构可能要求该属性中输入的所有主机名都属于某个已注册到该组织的域。

      组织单位名称。 组织的部门或其他运作单位的名称。

      位置名称(城市)。 城市或城镇的名称。

      州名。 如果您的组织位于美国或加拿大,则分别指组织所在的州或省的名称。请不要使用缩写。

      国家/地区代码。 您所在国家/地区的两个字母的 ISO 代码。例如,美国的代码是 US

  13. 单击“确定”按钮。系统将显示一条消息,例如:


    --BEGIN NEW CERTIFICATE REQUEST---
    afajsdllwqeroisdaoi234rlkqwelkasjlasnvdknbslajowijalsdkjfalsdfla
    alsfjawoeirjoi2ejowdnlkswnvnwofijwoeijfwiepwerfoiqeroijeprwpfrwl
    --END NEW CERTIFICATE REQUEST--
  14. 将该文本的所有内容复制到一个文件,然后单击“确定”。确保您获取的是根 CA 证书。

  15. 选择一个 CA,然后按照该机构的 Web 站点上的说明获取数字证书。您可以从 CMS、Verisign 或 Entrust.net 获取证书。

  16. 收到来自证书授权机构的数字证书后,您可以将文本复制到剪贴板或保存到文件中。

  17. 转到 Application Server 控制台并单击“安装”链接。

  18. 选择“此服务器的证书”。

  19. 在“密钥对文件密码”字段中,输入“证书数据库”密码。

  20. 将证书粘贴到所提供的“消息文本(带标题)”文本字段中,或在该文件文本框中的“消息”字段中输入文件名。选择相应的单选按钮。

  21. 单击“确定”按钮。浏览器将显示证书,并提供用于添加证书的按钮。

  22. 单击“添加服务器证书”。

  23. 按与上述相同的方式安装“根 CA 证书”。但要选择“可信赖证书授权机构的证书”。

  24. 证书安装都完成后,请展开左侧框中的“HTTP 服务器”节点。

  25. 选择“HTTP 服务器”下的“HTTP 侦听器”。

  26. 选择 http-listener-1。浏览器将显示套接字信息。

  27. http-listener-1 使用的端口值从安装 Application Server 时输入的值更改为一个更合适的值,如 443。

  28. 选择“启用 SSL/TLS”。

  29. 选择“证书昵称”。

  30. 指定返回服务器。该名称应与在步骤 12 中指定的公共名称匹配。

  31. 单击“保存”。

  32. 选择将在其上安装 Access Manager 软件的 Application Server 实例。 右侧框中显示配置已更改。

  33. 单击“应用更改”。

  34. 单击“重新启动”。应用服务器会自动重新启动。

以 SSL 配置 Application Server 8.1

以 SSL 配置 Application Server 8.1 的基本步骤如下。有关详细的说明,参见 Application Server 8.1 文档。

  1. 通过 Application Server 管理控制台在 Application Server 上创建安全端口。有关详细信息,请参见位于以下地址的 Sun Java System Application Server Enterprise Edition 8.1 管理指南中的“配置安全性”:

    http://docs.sun.com/app/docs/coll/1310.1http://docs.sun.com/app/docs/coll/1386.1

  2. 确认信任服务器证书的证书授权机构 (CA) 存在于 Web 容器的信任数据库中。然后,获取并安装该 Web 容器的服务器证书。有关详细信息,请参见位于以下地址的 Sun Java System Application Server Enterprise Edition 8.1 管理指南中的“使用证书和 SSL”:

    http://docs.sun.com/app/docs/coll/1310.1http://docs.sun.com/app/docs/coll/1386.1

  3. 重新启动 Web 容器。

在 SSL 模式下配置 Access Manager

本节介绍在 SSL 模式下配置 Access Manager 的步骤。在设置 Access Manager 的 SSL 之前,请确保已为部署配置了 Web 容器。

Procedure在 SSL 模式下配置 Access Manager

步骤
  1. 在 Access Manager 控制台中,转至“服务配置”模块并选择“平台”服务。在“服务器列表”属性中,添加 HTTPS 协议格式的相同 URL 和启用 SSL 的端口号。单击“保存”。


    注 –

    如果有一个 Access Manager 实例正在侦听两个端口(其中一个为 HTTP 模式,另一个为 HTTPS 模式),当您试图利用迟延的 Cookie 访问 Access Manager 时,Access Manager 将转为无响应状态。不支持此配置。


  2. 从以下默认位置打开 AMConfig.properties 文件:


    /etc/opt/SUNWam/config。
  3. 将所有出现的 http:// 协议替换为 https://,并将端口号更改为已启用 SSL 的端口号。

  4. 保存 AMConfig.properties 文件。

  5. 重新启动 Application Server。

使用安全 BEA WebLogic Server 配置 AMSDK

在 SSL 模式下使用 AMSDK 配置 BEA WebLogic Server 之前,必须首先安装此服务器并将其作为 Web 容器进行配置。有关安装说明,请参阅 BEA WebLogic 服务器文档。要将 WebLogic 配置为 Access Manager 的 Web 容器,请参阅第 1 章,Access Manager 7 2005Q4 配置脚本

Procedure配置安全 WebLogic 实例

步骤
  1. 使用快速启动菜单创建域

  2. 转至 WebLogic 安装目录并生成证书请求。

  3. 通过将 CSR 文本文件用于 CA 来申请服务器证书。

  4. 将批准的证书保存到文本文件中。例如,approvedcert.txt 文件。

  5. 使用以下命令在 cacerts 中加载根 CA:

    cd jdk141_03/jre/lib/security/

    jdk141_03/jre/bin/keytool -keystore cacerts -keyalg RSA -import -trustcacerts -alias "<alias name>" -storepass changeit -file /opt/bea81/cacert.txt

  6. 使用以下命令加载服务器证书:

    jdk141_03/jre/bin/keytool -import -keystore <keystorename> -keyalg RSA -import -trustcacerts -file approvedcert.txt -alias "mykey"

  7. 使用您的用户名和密码登录 WebLogic 控制台。

  8. 浏览到以下位置:

    “yourdomain”>“服务器”>“myserver”>“配置密钥库”

  9. 选择“自定义身份”,然后选择“Java 标准信任”。

  10. 输入密钥库的位置。例如,/opt/bea81/keystore

  11. 输入密钥库密码和密钥库密码短语。例如:

    密钥库密码:JKS/Java Standard Trust(对于 WL 8.1,此密码仅为 JKS)

    密钥库密码短语:changeit

  12. 检查 SSL 专用密钥设置、专用密钥别名和密码。


    注 –

    必须使用全强度 SSL 许可证,否则 SSL 启动将会失败。


  13. 在 Access Manager 中,AmConfig.properties 中的以下参数在安装期间自动配置。如果未配置,可以进行适当的编辑:


    com.sun.identity.jss.donotInstallAtHighestPriority=true [ this is not
     required for AM 6.3 and above]
    com.iplanet.security.SecureRandomFactoryImpl=com.iplanet.am.util.SecureRandomFactoryImpl
    com.iplanet.security.SSLSocketFactoryImpl=netscape.ldap.factory.JSSESocketFactory
    com.iplanet.security.encryptor=com.iplanet.services.util.JCEEncryption

    如果 JDK 路径如下:


    com.iplanet.am.jdk.path=/usr/jdk/entsys-j2se

    则使用 keytool 实用程序导入证书数据库中的根 CA。例如:


    /usr/jdk/entsys-j2se/jre/lib/security
    /usr/jdk/entsys-j2se/jre/bin/keytool -keystore cacerts  
    -keyalg RSA -import -trustcacerts -alias "machinename" -storepass changeit -file
    /opt/bea81/cacert.txt

    keytool 实用程序位于以下目录:


    /usr/jdk/entsys-j2se/jre/bin/keytool
  14. 从 Access Manager amadmin 命令行实用程序中删除 -D"java.protocol.handler.pkgs=com.iplanet.services.comm"

  15. 在 SSL 模式下配置 Access Manager。有关详细信息,请参阅在 SSL 模式下配置 Access Manager

使用安全 IBM WebSphere Application Server 配置 AMSDK

在 SSL 模式下使用 AMSDK 配置 IBM WebSphere Server 之前,必须首先安装此服务器并将其作为 Web 容器进行配置。有关安装说明,请参阅 WebSphere 服务器文档。要将 WebLogic 配置为 Access Manager 的 Web 容器,请参阅第 1 章,Access Manager 7 2005Q4 配置脚本

Procedure配置安全 WebSphere 实例

步骤
  1. 启动 Websphere /bin 目录中的 ikeyman.sh

  2. 从“签名者”菜单导入证书授权机构 (CA) 的证书。

  3. 从“个人证书”菜单生成 CSR。

  4. 检索上一步骤中创建的证书。

  5. 选择“个人证书”并导入服务器证书。

  6. 从 WebSphere 控制台更改默认的 SSL 设置并选择密码。

  7. 设置默认的 IBM JSSE SSL 提供者。

  8. 要从应用服务器 JVM 密钥库中刚创建的文件导入根 CA 证书,输入以下命令:


    $ appserver_root-dir/java/bin/ keytool -import -trustcacerts -alias cmscacert 
    -keystore ../jre/lib/security/cacerts -file 
    /full_path_cacert_filename.txt

    app-server-root-dir 为应用服务器的根目录,full_path_cacert_filename.txt 为包含此证书的文件的完整路径。

  9. 在 Access Manager 中更新 AmConfig.properties 中的以下参数以使用 JSSE:


    com.sun.identity.jss.donotInstallAtHighestPriority=true
    com.iplanet.security.SecureRandomFactoryImpl=com.iplanet.
    am.util.SecureRandomFactoryImpl
    com.iplanet.security.SSLSocketFactorImpl=netscape.ldap.factory.
    JSSESocketFactory
    com.iplanet.security.encyptor=com.iplanet.services.unil.JCEEncryption
  10. 在 SSL 模式下配置 Access Manager。有关详细信息,请参阅在 SSL 模式下配置 Access Manager

在 SSL 模式下将 Access Manager 配置到 Directory Server

为确保通过网络提供安全通信,Access Manager 包括 LDAPS 通信协议。LDAPS 是标准的 LDAP 协议,但它在“安全套接字层”(SSL) 上运行。为了启用 SSL 通信,必须首先在 SSL 模式下配置 Directory Server,然后将 Access Manager 连接至 Directory Server。基本步骤如下:

  1. 获得并安装 Directory Server 的证书,然后配置 Directory Server,以信赖证书授权机构 (CA) 的证书。

  2. 打开目录中的 SSL。

  3. 配置验证、策略和平台服务,以连接到启用 SSL 的 Directory Server。

  4. 配置 Access Manager,以安全地连接至 Directory Server 后端。

在 SSL 模式下配置 Directory Server

要在 SSL 模式下配置 Directory Server,必须获取并安装服务器证书、配置 Directory Server 以信赖 CA 的证书并启用 SSL。有关如何完成这些任务的详细说明,请参阅 Directory Server 管理指南的第 11 章,“管理验证和加密”。可在以下位置找到此文档:

http://docs.sun.com/coll/DirectoryServer_04q2 及 http://docs.sun.com/coll/DirectoryServer_04q2_zh

如果 Directory Server 已经启用了 SSL,则转至下一节,以了解有关将 Access Manager 连接至 Directory Server 的详细信息。

将 Access Manager 连接至已启用 SSL 的 Directory Server

在 SSL 模式下配置完 Directory Server 后,需要将 Access Manager 安全地连接至 Directory Server 后端。

Procedure将 Access Manager 连接到 Directory Server

步骤
  1. 在 Access Manager 控制台中,转至“服务配置”模块中的“LDAP 验证”服务。

    1. 将 Directory Server 端口更改为 SSL 端口。

    2. 选择“对 LDAP 服务器启用 SSL 访问”属性。

  2. 转到“服务配置”模块中的“成员资格验证”服务。

    1. 将 Directory Server 端口更改为 SSL 端口。

    2. 选择“对 LDAP 服务器启用 SSL 访问”属性。

  3. 转至“服务配置”中的“策略配置”服务。

    1. 将 Directory Server 端口更改为 SSL 端口。

    2. 选择“启用 LDAP SSL”属性。

  4. 在文本编辑器中打开 serverconfig.xml。该文件位于:

    /etc/opt/SUNWam/config

    1. <服务> 元素中,更改以下值:

      port - 输入 Access Manager 侦听的安全端口的端口号(默认值为 636)。

      type - 将“SIMPLE”更改为“SSL”。

    2. 保存并关闭 serverconfig.xml

  5. 从以下默认位置打开 AMConfig.properties 文件:

    /etc/opt/ SUNWam/config

    更改以下属性:

    1. com.iplanet.am.directory.port = 636(如果使用默认值)

    2. ssl.enabed = true

    3. 保存 AMConfig.properties

  6. 重新启动服务器