Kerberos 配置文件

要将简单且受保护的 GSS-API 协商机制 (SPNEGO) 信任关联拦截器 (TAI) 用于 WebSphere® Application Server,必须在单元中的每个 WebSphere Application Server 实例中配置 Kerberos 配置属性 krb5.inikrb5.conf 文件。

不推荐使用的功能部件 不推荐使用的功能部件: 在 WebSphere Application Server V6.1 中引入了一个信任关联拦截器 (TAI),TAI 使用“简单且受保护的 GSS-API 协商机制” (SPNEGO) 来对安全资源的 HTTP 请求进行安全地协商和认证。现在,WebSphere Application Server 7.0 中已不推荐使用此功能。SPNEGO Web 认证已取代该 TAI,以提供动态重新装入 SPNEGO 过滤器的功能以及对应用程序登录方法启用回退。depfeat
对于 Windows,缺省 Kerberos 配置文件名为 krb5.ini。对于其他平台,缺省 Kerberos 配置文件名为 krb5.conf。本节的随后内容显示了 Kerberos 配置文件的缺省位置:
表 1. Kerberos 配置文件的缺省位置. 下表描述 Kerberos 配置文件的缺省位置。
操作系统 缺省位置
Windows c:\winnt\krb5.ini
注: 如果 krb5.ini 文件不在 c:\winnt 目录中,那么它可能位于 c:\windows 目录中。
Linux /etc/krb5.conf
其他基于 UNIX 的系统 /etc/krb5/krb5.conf
z/OS /etc/krb5/krb5.conf
IBM i /QIBM/UserData/OS400/NetworkAuthentication/krb5.conf
注: 如果不使用缺省位置和 Kerberos 配置文件名,那么必须更新 soap.client.prop、ipc.client.props 和 sas.client.props 文件中的 *.krb5ConfigFile 属性。此外,如果客户机程序化登录使用 WSKRBLogin 模块,那么还必须设置 java.security.krb5.conf JVM 属性。

对于 SPNEGO TAI,如果不使用缺省位置和 Kerberos 配置文件名,那么必须指定 JVM 属性 java.security.krb5.conf

Windows 上的缺省 Kerberos 配置文件是 /winnt/krb5.ini,而在分布式环境上,该文件是 /etc/krb5。如果您指定另一个位置路径,那么还必须指定 JVM 属性 java.security.krb5.conf

例如,如果在 /opt/IBM/WebSphere/profiles/AppServer/etc/krb5.conf 处指定了 krb5.conf 文件,那么需要指定 -Djava.security.krb5.conf=/opt/IBM/WebSphere/profiles/AppServer/etc/krb5.conf

WebSphere 运行时代码按以下顺序搜索 Kerberos 配置文件:
  1. 由 Java™ 属性 java.security.krb5.conf 引用的文件
  2. <java.home>/lib/security/krb5.conf
  3. Microsoft Windows 平台上的 c:\winnt\krb5.ini
  4. UNIX 平台上的 /etc/krb5/krb5.conf
  5. /etc/krb5.conf on Linux platforms
使用 wsadmin 实用程序来为 WebSphere Application Server 配置 SPNEGO TAI:
  1. 启动 WebSphere Application Server。
  2. [AIX Solaris HP-UX Linux Windows][z/OS]通过运行 app_server_root/bin 目录中的 wsadmin 命令来启动命令行实用程序。
  3. [IBM i]通过从 Qshell 命令行运行 app_server_root/bin 目录中的 wsadmin 命令来启动命令行实用程序。
  4. wsadmin 提示符下,输入以下命令:
    $AdminTask createKrbConfigFile
    可以将以下参数用于此命令:
    表 2. 命令参数. 下表描述 $AdminTask createKrbConfigFile 命令的参数。
    选项 描述
    <krbPath> 此参数是必需的。它提供 Kerberos 配置(krb5.ini 或 krb5.conf)文件的标准文件系统位置。
    <realm> 此参数是必需的。它提供 Kerberos 领域的名称。SPNEGO TAI 使用此属性的值来形成通过属性 com.ibm.ws.security.spnego­.SPNid.hostName 指定的每台主机的 Kerberos 服务主体名称。
    <kdcHost> 此参数是必需的。它提供 Kerberos 密钥分发中心 (KDC) 的主机名。
    <kdcPort> 此参数是可选的。它提供 KDC 的端口号。如果未指定值,那么缺省值为 88。
    <dns> 此参数是必需的。它提供用来生成标准主机名的缺省域名服务 (DNS)。
    <keytabPath> 此参数是必需的。它提供 Kerberos 密钥表文件的文件系统位置。
    <encryption> 此参数是可选的。它标识受支持的加密类型的列表,各个类型之间用空格分隔。指定的值用于 default_tkt_enctypes 和 default_tgs_enctypes。如果未指定类型,那么缺省加密类型为 des-cbc-md5 和 rc4-hmac。

在以下示例中,wsadmin 命令在 c:\winnt 目录中创建 krb5.ini 文件。缺省 Kerberos 密钥表文件也位于 c:\winnt 中。Kerberos 领域的实际名称是 WSSEC.AUSTIN.IBM.COM,KDC 主机名是 host1.austin.ibm.com。

wsadmin>$AdminTask createKrbConfigFile {-krbPath 
c:\winnt\krb5.ini -realm WSSEC.AUSTIN.IBM.COM -kdcHost host1.austin.ibm.com
 -dns austin.ibm.com -keytabPath c:\winnt\krb5.keytab}
上一个 wsadmin 命令将创建 krb5.ini 文件,如下所示:
[libdefaults]
 default_realm = WSSEC.AUSTIN.IBM.COM
        default_keytab_name = FILE:c:\winnt\krb5.keytab
        default_tkt_enctypes = des-cbc-md5 rc4-hmac
        default_tgs_enctypes = des-cbc-md5 rc4-hmac
[realms]
        WSSEC.AUSTIN.IBM.COM = {
  kdc = host1.austin.ibm.com:88
              default_domain = austin.ibm.com        
}
[domain_realm]
        .austin.ibm.com = WSSEC.AUSTIN.IBM.COM
注意:
  • [AIX Solaris HP-UX Linux Windows][IBM i]Kerberos 密钥表文件包含一组类似于用户密码的密钥。主机通过将其 Kerberos 密钥表文件存储在本地磁盘上来保护这些文件,这一点至关重要。 krb5.conf 文件许可权必须是 644,这意味着您可以读写该文件;但是,文件所隶属的组的成员以及所有其他成员都只能读该文件。
  • [z/OS]Kerberos 密钥表文件包含一组类似于用户密码的密钥。主机通过将其 Kerberos 密钥表文件存储在本地磁盘上来保护这些文件,这一点至关重要。 krb5.conf 文件许可权必须是 644,这意味着您可以读写该文件;但是,文件所隶属的组的成员以及所有其他成员都只能读该文件。用来运行附件、控件和服务方的用户标识必须对 krb5.confkrb5.keytab 文件具有读访问权。
  • 如果运行时无法读取 krb5.ini 文件中的 default_tkt_enctypesdefault_tgs_enctypes 条目、它们的值不存在或值不受支持,那么缺省情况下将使用 DES-CBC-MD5 值。
[IBM i]krb5.conf 配置文件支持三元组以表示 {、}、[ 和 ] 字符。这些字符取决于语言集。Kerberos 客户机不能读取本机生成的密钥表。如果您未能使用本机 krb5.conf 或 krb5.keytab 文件来配置 SPNEGO TAI,请完成下列其中一种方案来解决三元组问题:
  • 将 krb5.conf 文件中的三元组替换为它们表示的字符。
  • 使用由 WebSphere Application Server 生成的 krb5.conf 文件。
  • 使用 Microsoft Windows 或密钥分发中心 (KDC) 生成的密钥表文件。

Kerberos 配置设置、Kerberos 密钥分发中心 (KDC) 名称及简单且受保护的 GSS-API 协商机制 (SPNEGO) 信任关联拦截器 (TAI) 的领域设置将在 Kerberos 配置文件中提供,或者通过 java.security.krb5.kdcjava.security.krb5.realm 系统属性文件提供。


指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_SPNEGO_config_krb5
文件名:rsec_SPNEGO_config_krb5.html