Kerberos 構成ファイルの作成
Kerberos 構成ファイルには、関心のあるレルム用の鍵配布センター (KDC) の ロケーション、現行 Kerberos レルムおよび Kerberos レルムに対するホスト名のマッピングのデフォルトなど、クライアントの構成情報が入っています。 WebSphere® Application Server の Kerberos 構成ファイルを 作成するには、wsadmin ユーティリティーを使用します。
このタスクについて
Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) Web 認証 と Kerberos 認証の Kerberos 構成設定、Kerberos 鍵配布センター (KDC) 名、およびレルム設定は、Kerberos 構成ファイル、または java.security.krb5.kdc および java.security.krb5.realm Java™ 仮想マシン・システム・プロパティーによって提供されます。
デフォルトのロケーションは c:¥winnt¥krb5.ini です。
注: krb5.ini ファイルが c:¥winnt ディレクトリーにない場合は、 c:¥windows にある可能性があります。デフォルトのロケーションは /etc/krb5.conf です。
その他の UNIX プラットフォームの場合、デフォルトのロケーションは /etc/krb5/krb5.conf です。
手順
- app_server_root/bin ディレクトリーから wsadmin コマンドを実行して、コマンド行ユーティリティーを開始します。
- wsadmin プロンプトで、次のコマンドを入力します。
$AdminTask help createKrbConfigFile
- createKrbConfigFile コマンド・パラメーターを指定します。
表 1. createKrbConfigFile コマンド・パラメーター. 次の表に、createKrbConfigFile コマンドで使用できるパラメーターを示します。
オプション 説明 <krbPath> 必須Kerberos 構成ファイル (krb5.ini または krb5.conf) の 完全修飾ファイル・システム・ロケーションを指定します。 <realm> 必須Kerberos レルム名を指定します。この属性の値は、com.ibm.ws.security.spnego.SPN<id>.hostName プロパティーで指定されている各ホストの Kerberos サービス・プリンシパル名を構成するために、SPNEGO によって使用されます。 <kdcHost> 必須Kerberos 鍵配布センター (KDC) のホスト名を指定します。 <kdcPort> オプション。Kerberos 鍵配布センターのポート番号を指定します。このポート番号を指定しない場合、デフォルト値は 88 です。 <dns> 必須完全修飾ホスト名の作成に使用される、デフォルトのドメイン名サービス (DNS) の リスト (パイプ文字区切り)。リストの最初にあるのは、デフォルトのドメイン・ネーム・サービスです。 <keytabPath> 必須Kerberos キータブ・パスのファイル・システム・ロケーション およびファイル名を指定します。 <encryption> オプション。サポートされる暗号化タイプのリスト (パイプ文字区切り) を識別します。デフォルト値は des-cbc-md5 です。 - 暗号化タイプを指定します。 サポートされている暗号化タイプは、以下のとおりです。
- des-cbc-md5
- des-cbc-crc
- des3-cbc-sha1
- rc4-hmac
- arcfour-hmac
- arcfour-hmac-md5
- aes128-cts-hmac-sha1-96
- aes256-cts-hmac-sha1-96
重要: 使用可能なすべての KDC ソリューションにおいて、上記にリストされた暗号化タイプのすべてがサポートされるわけではありません。暗号化タイプを選択する前に、Kerberos の管理者とユーザーのガイドを参照し、使用する暗号化タイプが KDC でサポートされていることを確認してください。Kerberos 構成ファイル、Kerberos キー・タブ・ファイル、Kerberos サービス・プリンシパル名、および Kerberos クライアントで共通の暗号化タイプがあることを確認してください。 例えば、Kerberos クライアントで RC4-HMAC 暗号化タイプを使用する場合、ターゲット・サーバーでも RC4-HMAC 暗号化タイプがサポートされていること、および Kerberos 構成ファイルの default_tgt_enctypes と default_tkt_enctypes で RC4-HMAC が先頭にリストされていることが必要です。
- krbPath および krbKeytab ロケーション・タイプを指定します。 以下のコードは、createKrbConfigFile コマンドの例です。
$AdminTask createKrbConfigFile {-krbPath c:/winnt/krb5.ini -realm WSSEC.AUSTIN.IBM.COM -kdcHost host1.austin.ibm.com -dns austin.ibm.com|raleigh.ibm.com -keytabPath c:/winnt/krb5.keytab}
注: WebSphere 変数を使用して、createKrbConfigFile コマンドの krbPath および krbKeytab ロケーション・パスを指定することもできます。この例を使用して、c:/winnt/krb5.ini ファイルを作成します。[libdefaults] default_realm = WSSEC.AUSTIN.IBM.COM default_keytab_name = FILE:c:¥winnt¥krb5.keytab default_tkt_enctypes = rc4-hmac des-cbc-md5 default_tgs_enctypes = rc4-hmac des-cbc-md5 forwardable = true renewable = true noaddresses = true clockskew = 300 [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 .raleigh.ibm.com = WSSEC.AUSTIN.IBM.COM
createKrbConfigFile コマンドにより、シンプルな Kerberos 構成ファイルが作成されます。 TCP または UDP 設定を指定する場合や、クロス・レルム環境またはトラステッド・レルム環境では、必要に応じてこのファイルを編集できます。
[libdefaults] セクションで、 TCP または UDP プロトコル設定を指定できます。デフォルトで、Java Kerberos 構成は UDP プロトコルを使用します。ただし、Java Kerberos は、udp_preference_limit パラメーターを使用して TCP または UDP プロトコル構成をサポートします。TCP プロトコルを使用する必要がある場合は、udp_preference_limit パラメーター に値 1 を指定すると、常に TCP プロトコルが使用されます。以下に例を示します。
このパラメーターを指定しない場合、 Java Kerberos ライブラリーは、 UDP プロトコルを使用する Kerberos チケット要求が失敗して、KDC が KRB_ERR_RESPONSE_TOO_BIG エラー・コードを返す場合にのみ TCP プロトコルを使用します。udp_preference_limit =1
トラブルの回避 (Avoid trouble): アプリケーション・サーバーがクライアント要求を受け取ると、 サーバー上の Kerberos 構成は、TCP プロトコルを使用している場合に、接続リセット、入出力例外、 またはパイプ破壊例外を返すことがあり、KDC は不正なパケットを返します。アプリケーション・サーバーは、 正しい Kerberos パケットを獲得するために 3 回試行します。 3 回の試行のうちの 1 回の結果として正しい Kerberos パケットが返された場合は、 クライアント要求は正常に処理され、例外を無視できます。 3 回試行した後、アプリケーション・サーバーが正しい Kerberos パケットを獲得できない場合は、 クライアント要求が失敗します。この時点で、KDC、ネットワーク、およびアプリケーション・サーバー 構成を調べて、問題を判別します。gotcha
- クロス・レルム環境では、Kerberos 構成ファイルの [domain_realm] セクションを指定します。
- [domain_realm]: ドメイン・ネームまたはホスト名からレルム名への変換を指定します。
タグ名は、ホスト名またはドメイン・ネームにできます。
ドメイン・ネームは、接頭部をピリオド (「.」) にすることで表されます。
. 関係の値は、特定のホストまたはドメインのレルム名です。
ホスト名とドメイン・ネームは小文字でなければなりません。
どの変換エントリーも適用されない場合、大文字に変換されたホスト名のドメイン部分がそのホストのレルムであるとみなされます。例えば、以下の [domain_realm] セクションでは、tech.ibm.com は TEST.AUSTIN.IBM.COM レルムにマップされます。
[domain_realm] .austin.ibm.com = WSSEC.AUSTIN.IBM.COM .raleigh.ibm.com = WSSEC.AUSTIN.IBM.COM
austin.ibm.com および .raleigh.ibm.com ドメインにある他のすべてのホストは、デフォルトで WSSEC.AUSTIN.IBM.COM にマップされます。
以下の例では、複数の Kerberos レルム名が含まれています。[domain_realm] .ibm.com =AUSTIN.IBM.COM ibm.com =AUSTIN.IBM.COM tech.ibm.com =TEST.AUSTIN.IBM.COM .fubar.org =FUBAR.ORG
ibm.com® ドメインにある他のすべてのホストは、デフォルトで AUSTIN.IBM.COM レルムにマップされ、fubar.org ドメインにあるすべてのホストは、デフォルトで FUBAR.ORG レルムにマップされます。
ホスト ibm.com および fubar.org のエントリーに注意してください。これらのエントリーがない場合、これらのホストはそれぞれ、レルムの COM および ORG にマップされます。
ピア形式のトラスト・クロス・レルム認証 (peer trust cross-realm authentication) の場合、KDC 上でトラスト・クロス・レルム認証 (trust cross-realm authentication) をセットアップする方法については、Kerberos の管理者とユーザーのガイドを参照してください。
- [domain_realm]: ドメイン・ネームまたはホスト名からレルム名への変換を指定します。
タグ名は、ホスト名またはドメイン・ネームにできます。
ドメイン・ネームは、接頭部をピリオド (「.」) にすることで表されます。
. 関係の値は、特定のホストまたはドメインのレルム名です。
ホスト名とドメイン・ネームは小文字でなければなりません。
- Kerberos 構成ファイルの realms セクションと domain_realm セクションに、
外部レルムに関する情報を追加します。
[realms] AUSTIN.IBM.COM = { kdc = kdc.austin.ibm.com:88 default_domain = austin.ibm.com } FUBAR.ORG = { kdc = kdc.fubar.org:88 default_domain = fubar.org } [domain_realm] austin.ibm.com = AUSTIN.IBM.COM .austin.ibm.com = AUSTIN.IBM.COM fubar.org = FUBAR.ORG .fubar.org = FUBAR.ORG
transitive trust では、2 つのレルムがチケットの認可に関与する中間レルムを信用する場合、それら 2 つのレルムは互いを信用します。 サービス・チケットの認可に関与する各レルムがトラスト・パスに存在する場合、そのチケットは信頼されます。 KDC 上で推移トラスト (transitive trust) を構成する方法については、Kerberos の管理者とユーザーのガイドを参照してください。
推移トラスト (transitive trust) をセットアップする場合、クロス・レルム認証を使用した別々のレルムは A - B 間および B - C 間で定義する必要があり、A - C 間で定義してはなりません。推移トラスト (transitive trust) を使用すると、REALMA と REALMC は互いに通信できますが、REALMB を介してのみ通信することができます。REALMA <-> REALMB <-> REALMC
- スタンザにデータを追加します。 [capaths] スタンザを各 krb5.conf ファイルに追加します。
すべてのマシン上の krb5.conf ファイルで、[realms] スタンザ内にある 3 つのレルムのすべてがリストされている必要があります。 REALMA は自身の他に REALMB と REALMC をリストし、REALMB は自身の他に REALMA と REALMC をリストし、REALMC は自身の他に REALMA と REALMB をリストする必要があります。krb5.conf ファイルの [domain_realm] スタンザでは、REALMA から REALMC、および REALMC から REALMA に対して実行するため、3 つのホスト名とレルム名のすべてがリストされます。
[capaths] REALMA.AUSTIN.IBM.COM = { REALMB.AUSTIN.IBM.COM = . REALMC.AUSTIN.IBM.COM = REALMB.AUSTIN.IBM.COM } REALMB.AUSTIN.IBM.COM = { REALMC.AUSTIN.IBM.COM = . REALMA.AUSTIN.IBM.COM = . } REALMC.AUSTIN.IBM.COM = { REALMB.AUSTIN.IBM.COM = . REALMA.AUSTIN.IBM.COM = REALMB.AUSTIN.IBM.COM }
- krb5.conf ファイル許可を 644 に設定します。
これは、ファイルの読み取りと書き込みができることを意味します。 しかし、このファイルが属するグループのメンバーと、その他すべてのユーザーはこのファイルの読み取りのみが可能です。
Kerberos 構成とキータブ・ファイルはそれぞれ、JVM システム・プロパティーの java.security.krb5.conf と KRB5_KTNAME によって設定されるため、SPNEGO Web 認証と Kerberos 認証の両方が使用可能になっている場合、両方の認証に対して同じ Kerberos 構成とキータブ・ファイルを使用する必要があります。
タスクの結果


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_kerb_create_conf
ファイル名:tsec_kerb_create_conf.html