...

Lotus Sametime SPNEGO Jessica Piziak、IBM WPLC Support Education Team

by user

on
Category: Documents
50

views

Report

Comments

Transcript

Lotus Sametime SPNEGO Jessica Piziak、IBM WPLC Support Education Team
Lotus Sametime での
SPNEGO 認証における構成とトラブルシューティング
Jessica Piziak、IBM WPLC Support Education Team
本書では、SPNEGO (Simple and Protected GSS-API Negotiation) に関する情報と Lotus® Sametime® 8.5.x 環境での
SPNEGO の使い方について説明します。また、SPNEGO 用に構成された Lotus Sametime 8.5.x 環境が期待どおり
に動作しないときのトラブルシューティングに役立つ、いくつかのトラブルシューティング方法も紹介します。
所要時間
本書の内容を完了するには約 90 分かかります。
学習トピック
本書を読み終わると、次のことができるようになります。
1
シングル・サインオンを定義する。
2
SPNEGO (Simple and Protected GSS-API Negotiation) を使用してユーザーを認証する方法を説明する。
3
SPNEGO を使用して IBM® Lotus Sametime 環境でユーザーを認証する方法を説明する。
4
SPNEGO を使用したシングル・サインオンのために Lotus Sametime を構成する。
5
SPNEGO を使用したシングル・サインオンが Lotus Sametime 環境で期待どおりに動作しない場合のトラブルシ
ューティングを実行する。
前提条件とシステム要件
本書では、Microsoft Active Directory を LDAP (Lightweight Directory Access Protocol) として使用する Lotus
Sametime 8.5.x 環境が、すでにインストールおよび構成されていることを前提としています。Lotus Sametime 8.5.x のイ
ンストールと構成については、IBM Lotus Sametime 8.5.x Information Center の「インストール」を参照してください。
本書は Lotus Sametime 8.5.1 環境を使用して書かれました。Lotus Sametime Community Server は IBM Lotus
Domino® 8.0.2 にインストールされています。
テスト環境は、下図に示すように、それぞれ Lotus Sametime コンポーネントを実行している 3 台のマシンで構成され
ています。
SPNEGO の概要
認証
IBM Redbooks® パブリケーション「WebSphere® Application Server V7.0: Concepts, Planning, and
Design」では、次のように説明されています。
認証とは、誰がリソースへのアクセスを要求しているのかを識別するプロセスです。サーバーは認証プロセスのために、
クライアントの識別に用いる固有の情報を収集するチャレンジ・メカニズムを実装しています。セキュアな認証には、ナ
レッジ・ベース (ユーザーとパスワード)、鍵ベース (物理的な鍵、暗号鍵)、バイオメトリック (指紋、網膜スキャン、
DNA など) があります。
WebSphere Application Server の認証メカニズムは、一般に、ユーザー・レジストリーと緊密に連携しています。認証の
実行時に、ユーザー・レジストリーが照会されます。認証に成功すると、資格情報が作成されます。資格情報は、認証
に成功したクライアント・ユーザーを内部的に表すものです。資格情報が持つ能力は、構成された許可メカニズムによ
って決められます。
認証情報は、クライアントのタイプに応じて異なるプロトコルを使用して送信されます。
1
エンタープライズ Bean クライアントでは CSIv2 が使用されます。
2
Web クライアントでは HTTP または HTTPS が使用されます。
WebSphere Application Server では複数の認証メカニズムがサポートされていますが、一度に構成できるアクティブな
認証メカニズムは 1 つだけです。WebSphere Application Server でサポートされる認証メカニズムは次のとおりです。
1
LTPA (Lightweight Third Party Authentication)
2
Kerberos
3
RSA (Rivest Shamir Adleman) トークン認証
シングル・サインオン
IBM Redbooks パブリケーション「WebSphere Application Server V7.0 Security Guide」では、シング
ル・サインオンが次のように説明されています。
シングル・サインオン (SSO) は、1 回だけの認証で WebSphere アプリケーションを含む複数のアプリケーションへの
アクセスが可能になるため、ユーザーに人気があります。ユーザーおよび IT サポートの立場からは、SSO によって
ユーザー ID の管理が簡素化されます。しかし、企業内のすべてのアプリケーションを統合することが不可能な場合も
あるため、SSO ソリューションには慎重な考慮が必要です。また、SSO により、ユーザーが認証された無人のワークス
テーションからセキュリティー・リスクが生じる可能性もあります。最後に、SSO を使用すると認証が中央の 1 点に集
約されるため、悪意のあるハッカーからの攻撃がより深刻なリスクとなります。
SSO は、外部デバイス (たとえば、スマートカード) を使用する方法やソフトウェア実装を介した方法など、複数の方法
で実装できます。WebSphere Application Server では、LTPA Cookie と SPNEGO (Simple and Protected GSS-API
Negotiation) の使用がサポートされています。LTPA Cookie の場合は特定のクライアントが不要で、ユーザー・レジス
トリーと LTPA キーが同じである限り、さまざまなセルにまたがる SSO が可能になります。SPNEGO は、Kerberos ロ
グイン (通常は Windows®) からのトークンを使用して、WebSphere Application Server への認証を行います。
Kerberos および SPNEGO (Simple and Protected GSS-API Negotiation) Web
認証
Kerberos とは
Kerberos は多くのプラットフォーム (Windows、Linux、Solaris、AIX、および z/OS を含む) でサポートされている標準
ネットワーク認証プロトコルであり、クライアントとサーバー間またはサーバーとサーバー間で ID の証明を提供するた
めに使用されます。Kerberos は暗号方式を利用して、ID 交換時の ID を保護します。Kerberos によって、Kerberos
認証をサポートする他のアプリケーションとの SSO インターオペラビリティーが得られます。
Kerberos テクノロジーを使用すると、ユーザーは 1 回ログインするだけで、Kerberos 認証をサポートする他のアプリ
ケーションに 2 回目のログインを行わずにアクセスできます。
SPNEGO (Simple and Protected GSS-API Negotiation) とは
SPNEGO (Simple and Protected GSSAPI Negotiation Mechanism) は、クライアント・アプリケーションがリモート・サーバ
ーへの認証を行いたいときに、認証プロトコルのネゴシエーションに使用される標準プロトコルです。SPNEGO は
IETF RFC 2478 で定義された標準仕様であり、Web SSO で使用されます。HTTP 要求内で識別された WebSphere
Application Server リソースなどのセキュアなページへのアクセスを認証する役割を持っています。Microsoft も、ブラ
ウザー・ベースの SSO ソリューションに SPNEGO を使用しています。
SPNEGO が最も広く使用されるのは、Microsoft Internet Explorer に実装されている Microsoft の HTTP ネゴシエー
ト認証拡張においてです。Microsoft はこの拡張を最初に Internet Explorer 5.0.1 と IIS 5.0 に導入し、Microsoft カス
タマーに SSO 機能を提供しました。これは、統合 Windows 認証として市場に登場しました。以降、HTTP ネゴシエ
ート拡張は、Mozilla 1.7 ベータ、Mozilla Firefox 0.9、および Konqueror 3.3.1 に同様のサポートで実装されました。
Microsoft は Microsoft Kerberos メカニズムと Microsoft SPNEGO 実装を利用することにより、Web アプリケーショ
ン用の SSO ソリューションを提供しています。
SPNEGO と Kerberos による SSO
クライアント・アプリケーションがリモート・サーバーへの認証を行いたいときに SPNEGO が使用されますが、サーバ
ーもクライアント・エンドも、相手がどの認証プロトコルをサポートしているのか認識していません。Microsoft と同様に、
WebSphere も SPNEGO をサポートするため、Microsoft と WebSphere の Web ベース・アプリケーション間で SSO
が可能になります。多くのお客様が、Microsoft デスクトップと WebSphere 間の SSO ソリューションとして SPNEGO
を使用しています。
Kerberos および SPNEGO ソリューションの実装には、次の環境が必要です。
1
KDC が有効な Windows ドメイン・コントローラー、およびドメイン上で接続された 1 つのクライアント・システ
ム。
2
UNIX または Linux 環境における、PAM モジュールを使用した Kerberos 経由のログイン。TGT をフェッチし
ます。
3
Kerberos によってサポートされているクライアント・アプリケーション (Firefox など)。サービス・チケットを使用し、
ユーザーが再認証を求められないようにします。
4
マルチ・ドメイン・シナリオでは、Kerberos を使用してすべてのドメインに接続する必要があります。
SPNEGO および Kerberos とともに SSO を使用することで、次の利点を得られます。
1
Active Directory ドメインを使用している Windows Server 2000 または 2003 との統合 SSO 環境が確立されま
す。
2
多数のユーザー ID とパスワードを管理するコストが削減されます。
3
相互認証されたセキュアな方法で、Web ブラウザーまたは Microsoft .NET クライアントから WebSphere にセ
キュリティー資格情報が転送されます。
4
Web サービスと Microsoft .NET アプリケーション、またはトランスポート・レベルで SPNEGO 認証を使用する
Web サービス・アプリケーションとのインターオペラビリティーが達成されます。
5
SPNEGO から Kerberos へのエンドツーエンドのソリューションが提供され、Kerberos 認証サポートと SPNEGO
Web 認証を使用してクライアントからの Kerberos 資格情報が保持されます。
しかし、このソリューションを検討するときは、次の潜在的な欠点も考慮してください。
1
SSO は単一障害点 (Single Point of Failure) となる可能性があります。SSO を使用するには、セントラル・サー
2
3
4
5
バーが連続的に利用可能でなければなりません。このため、Kerberos サーバーがダウンすると、誰もログインで
きなくなります。この潜在的な Single Point of Failure は、複数の Kerberos レプリカ・サーバーおよびフォールバ
ック認証メカニズムを使用することによって緩和できます。
Kerberos では、関連するホストの時刻が同期されている必要があります。チケットには利用可能な期間があり、
ホストの時刻が Kerberos サーバーの時刻と同期していないと認証が失敗します。デフォルト構成では、時刻の
違いは 5 分以内でなければなりません。実際には、Network Time Protocol デーモンを使用して、ホスト時刻の
同期を保つことができます。
管理プロトコルは標準化されておらず、Kerberos の実装ごとに異なります。
すべてのユーザーの秘密鍵はセントラル・サーバーに保管されるため、そのサーバーのセキュリティーが侵害さ
れると、すべてのユーザーの秘密鍵にも影響が及びます。KDC システムをセキュア化し、保護する必要があり
ます。
セキュリティーが侵害されたクライアントは、アプリケーションへの無許可アクセスを招く可能性があります。
WebSphere Application Server V7 によって次の機能が提供され、SPNEGO をより幅広く SSO に使用できます。
1
管理コンソールを使用して、SPNEGO Web 認証とフィルターを構成できます。
2
アプリケーション・サーバーを停止して再始動せずに、SPNEGO を動的に再ロードできます。
3
SPNEGO Web 認証が失敗した場合に、アプリケーション・ログイン方法へのフォールバックが提供されます。
4
WebSphere セキュリティー・ドメイン・レベルで SPNEGO をカスタマイズできます。
ソース: IBM Redbooks パブリケーション「Implementing Kerberos in a WebSphere Application Server
Environment」
Kerberos と SPNEGO の概念の詳細については、上記の IBM Redbooks パブリケーションを参照してください。
シングル・サインオンと SPNEGO を使用した Lotus Sametime
との認証
Lotus Sametime における SPNEGO
ユーザーが SPNEGO Web 認証を使用して認証するときのチャレンジ応答ハンドシェーク・プロセスを次の図に示し
ます。
上図では、次のイベントが発生します。
1.
クライアントが HTTP/Post/Get/Web サービス要求を WebSphere Application Server に送信します。
2.
WebSphere Application Server が HTTP 401 Authenticate/Negotiate を返します。
3.
クライアントがチケット許可チケット (TGT) を取得します。
4.
クライアントがサービス・チケット (TGS_REQ) を要求します。
5.
クライアントがサービス・チケット (TGS_REP) を取得します。
6.
クライアントが HTTP/Post/Get/Web サービス要求および許可 SPNEGO トークンを WebSphere Application
Server に送信します。
7.
WebSphere Application Server が SPNEGO トークンを検証します。検証に成功すると、SPNEGO トークンから
ユーザー ID と GSS 委任資格情報を取り出します。クライアントの Kerberos 資格情報とともに
KRBAuthnToken が作成されます。
8.
WebSphere Application Server が WebSphere ユーザー・レジストリーを使用してユーザー ID を検証し、LTPA
トークンを作成します。
9.
WebSphere Application Server が、HTTP 200、コンテンツ、および LTPA トークンをクライアントに返します。
10. LTPA トークンによるログインが発生します。
上図は、Information Center のトピック「Single sign-on for HTTP requests using SPNEGO Web
authentication」に掲載されている図の改訂バージョンです。
SPNEGO のための Lotus Sametime Meeting Server および Lotus Sametime
Community Server の構成
SPNEGO と Lotus Sametime をセットアップする手順
SPNEGO を使用したシングル・サインオンのために Lotus Sametime 8.5.x を構成するには、いくつかのステップが必
要です。これらのステップは、次のタスクを通じて実行します。ステップは以下のとおりです。
1. Active Directory を使用するように Lotus Sametime が構成されていることを確認する。
2. WebSphere Application Server Default Application を Lotus Sametime Meeting Server 上にインストールする。
3. Microsoft Active Directory と Lotus Sametime Meeting Server を SPNEGO 用に構成する
4. Lotus Sametime Meeting Server のシングル・サインオン (SSO) を有効にする。
5. SPNEGO が Lotus Sametime Meeting Server とともに正しく機能していることを確認する。
6. Lotus Sametime Community Server のシングル・サインオン (SSO) を有効にする。
7. Lotus Sametime Connect クライアントを SPNEGO 用に構成する。
メモ: 次に示す各タスクの手順は、IBM Lotus developerWorks® の記事「Integrating SPNEGO with IBM Lotus
Sametime」に記載されている手順の改訂バージョンであり、WebSphere Application Server がすでにインストールされ
ている Lotus Sametime 8.5.x 環境のために書かれています。この構成を実行していない場合は、Lotus
developerWorks の記事に記載された手順を使用してください。
Active Directory を使用するように Lotus Sametime が構成されていることを確認
する
このパートでは、ご利用の環境で Active Directory を使用するように Lotus Sametime が構成されているか、テストし
て確認します。この構成は、SPNEGO 用に Lotus Sametime 環境を構成するための前提条件となっています。以下の
手順では、IBM Lotus Sametime System Console、IBM Lotus Sametime Community Server、IBM Lotus Sametime
Proxy Server、および IBM Lotus Sametime Meeting Server が実行されている必要があります。
手順
1.
2.
3.
4.
クライアント・サイドのテストに使用する予定のマシンに IBM Lotus Sametime Connect クライアントがインストール
されていない場合は、これをインストールします。
Lotus Sametime Connect クライアントを通じて、Active Directory ユーザーとして Lotus Sametime Community
Server にログオンできるかどうかをテストして確認します。
Web ブラウザーを通じて、Active Directory ユーザーとして Lotus Sametime Meeting Server にログオンできるか
どうかをテストして確認します。
メモ: URL は「http://yourSTMeetingServer.com/stmeetings/」で、yourSTMeetingServer.com は Lotus Sametime
Meeting Server の完全修飾ホスト名です。
上記のテストのいずれかが失敗する場合は、続行する前に、Lotus Sametime での Active Directory の構成を修
正する必要があります。ヘルプについては、Lotus Information Center のトピック「Active Directory を使用するよう
に Sametime を構成する」を参照してください。
WebSphere Application Server Default Application を Lotus Sametime
Meeting Server 上にインストールする
このステップでは、WebSphere Application Server Default Application を Lotus Sametime Meeting Server 上にインスト
ールします。このアプリケーションには、Snoop サーブレットが含まれています。Snoop サーブレットは、Lotus
Sametime Connect クライアントとともに SPNEGO を構成する際に、セキュアなリソース URL として使用されます。
手順
1.
Lotus Sametime Meeting Server 用の WebSphere Application Server Integrated Solutions Console にアクセスし
ます。
ヒント: URL は「https://yourServerName.com:<管理ホストのセキュア・ポート番号>/ibm/console/ logon.jsp」で、
yourServerName は使用している Lotus Sametime Meeting Server の名前です。Lotus Sametime Meeting Server
の管理ポート番号がわからない場合は、Lotus Sametime Meeting Server デプロイメント・マネージャーの
serverindex.xml ファイルを参照してください。このファイルは、¥¥<WebSphere Application Server インストール・デ
ィレクトリー>¥AppServer¥profiles¥<Meeting Server デプロイメント・マネージャー・プロファイル
>¥config¥cells¥<Meeting Server デプロイメント・マネージャー・ノード>¥nodes¥DMgrNode にあります。次の画面
に示すように、ポート番号は WC_adminhost_secure にリストされています。
2.
「アプリケーション」->「新規アプリケーション」->「新規エンタープライズ・アプリケーション」をクリックします。
3.
ローカル・ファイル・システムの下にある「参照」ボタンをクリックし、Installable Apps ディレクトリーに移動します。
このディレクトリーは、¥¥<WebSphere Application Server インストール・ディレクトリー
>¥AppServer¥installableApps¥ にあります。「DefaultApplication.ear」をクリックし、「開く」をクリックしま
す。
「次へ」をクリックします。
「アプリケーション・インストールの準備」ページで、「アプリケーションをどのようにインストールしますか」の設定を
デフォルトの「ファスト・パス」のまま残します。「デフォルトのバインディングおよびマッピングの生成を選択」セクシ
ョンを展開します。「デフォルト・バインディングの生成」をクリックします。
4.
5.
6.
7.
8.
9.
10.
11.
12.
「次へ」をクリックします。
「インストール・オプションの選択」ページで、すべてのデフォルト設定をそのまま保持し、「次へ」をクリックします。
「モジュールをサーバーにマップ」ページで、両方のモジュール (Increment EJB モジュールおよび Default Web
Application) をクリックし、さらに「次へ」をクリックします。
「終了」をクリックします。
「保存」をクリックして、変更をマスター構成に保存します。
Lotus Sametime Meeting Server との競合を避けるために、アプリケーションのコンテキスト・ルートを変更する必
要があります。「アプリケーション」->「アプリケーション・タイプ」->「WebSphere エンタープライズ・アプリケーショ
ン」をクリックします。
「DefaultApplication.ear」をクリックします。
13.
「Web モジュール・プロパティー」ボックスで「Web モジュールのコンテキスト・ルート」をクリックします。
14.
コンテキスト・ルートを「/snoop」(または、指定したい任意の値) に変更します。
ヒント: コンテキスト・ルートを変更しないと、Lotus Sametime Meeting Server アプリケーションとの競合のために、次の
ステップでアプリケーションを開始するときにエラーを受け取ります。この状況でログ・ファイルに出力されるエラーは、
「com.ibm.ws.exception.RuntimeWarning:
com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp:
Failed to load webapp: Context root /* is already bound. Cannot start application Default
Web Application」です。
15. 「OK」をクリックし、変更をマスター構成に保存します。
16. 「エンタープライズ・アプリケーション」ページに戻ります。「アプリケーション状況」列を見ると、現在
DefaultApplication.ear が停止していることがわかります。「DefaultApplication.ear」をクリックし、「始動」をクリックしま
す。
ヒント: アプリケーションの始動を試みたときに、次のエラーを受け取ることがあります。
このような場合は、ノードが同期するまでしばらく待つか、「システム管理」->「ノード」->「サーバー用のノードを選択」
をクリックし、「同期」をクリックします。
17. アプリケーション状況が始動済みに変更されたことがわかります。
ヒント: アプリケーションの始動を確認するために、アイコンのクリックによるアプリケーション状況の更新が必要な場合
があります。
18. クライアント・サイドのテストに使用しているコンピューターから、Snoop サーブレットへのアクセスをテストします。
Snoop サーブレットにアクセスするには、SPNEGO 用に構成した Web ブラウザーから URL
「http://yourserver.com/snoop/snoop」にアクセスします。yourserver.com は、Lotus Sametime Meeting Server がインスト
ールされている WebSphere Application Server の完全修飾ホスト名です。認証を求められたら、Active Directory ユー
ザーのユーザー名とパスワードを入力します。アプリケーションがインストールされて実行されていると、次の画面が表
示されます。
メモ: ステップ 14 でコンテキスト・ルートを「snoop」以外の値に変更した場合は、URL に含まれる snoop の最初のイ
ンスタンスにその値を使用します (http://yourserver.com/<yourvalue>/snoop)。
Microsoft Active Directory と Lotus Sametime Meeting Server を SPNEGO
用に構成する
このパートでは、Microsoft Active Directory ドメイン・コントローラーを SPNEGO 用に構成します。本書で前述したテ
スト環境では、以下のステップは zeta-m1.zetabank.com に実行されました。
手順
1. 次のステップを実行することにより、WebSphere Application Server を SPNEGO Web 認証用に構成します。
a. Active Directory ドメイン・コントローラーにログオンします。
b. WebSphere Application Server が Active Directory との認証に使用する Active Directory ユーザーを作成します。
たとえば、マシン名をユーザーとして使用できます。次のステップに示されるように、この例ではマシン名「zetam1」を使
用します。
重要:
z
このアカウントの名前は、WebSphere Application Server 管理者に使用されている名前 (例: wasadmin) と同じに
することはできません。
z
期限が切れないように、このアカウントにはパスワードを必ず設定してください。
z
ご使用の環境で認証時に電子メール・アドレスが使用される場合は、このアカウントに必ず電子メール・アドレス
を設定してください。ユーザーの電子メール・アドレスは、「Active Directory ユーザーとコンピューター」のリストで
ユーザーを右クリックし、「プロパティ」をクリックすることで設定できます。電子メール・アドレスは「全般」タブにあ
ります。
c. ktpass コマンドを使用して、ステップ 1b で作成したユーザーを Kerberos サービス・プリンシパル名 (SPN) にマ
ッピングし、WebSphere Application Server が Active Directory ドメインとの認証に使用するキー・タブ・ファイルを作成
します。コマンド・プロンプトから、次のように ktpass コマンドを発行します。
ktpass -out <鍵ファイル名> -princ HTTP/WebSphere Application Server の完全修飾ホスト名@ACTIVE
DIRECTORY ドメイン名 -mapUser <Active Directory ユーザー> -pass <パスワード> -ptype
KRB5_NT_PRINCIPAL
重要:
z
HTTP および Active Directory ドメイン名の引数は、大文字でなければなりません。
z
-out 引数で指定するディレクトリーは、コマンドの実行前に存在している必要があります。
例を示します。
メモ:
z
Microsoft Windows 2003 では、ktpass コマンドは Microsoft Windows サポート・ツールの一部であり、
Microsoft ダウンロード センターからダウンロードできます。ご使用の Active Directory ドメイン・コントローラー
にこれらのツールがインストールされていない場合は、ktpass コマンドを実行するために、これらのツールをイ
ンストールしてください。
z
Microsoft Windows Server 2003 で ktpass コマンドを実行するには、オペレーティング・システムのコマンド・ウ
ィンドウを開いてサポート・ツールのインストール・ディレクトリーに移動するか、「スタート」->「Windows サポート
ツール」->「コマンド プロンプト」をクリックしてサポート・ツールのコマンド・プロンプトを起動します。
コマンドを実行すると、次の画面に示すように、ユーザーのログイン名が SPN に変更されていることがわかります。
d. 前のステップで作成したキー・タブ・ファイルを、Lotus Sametime Meeting Server がインストールされているマシンに
コピーします。ファイルは、このマシン上にある、名前にスペースが含まれない任意のディレクトリーにコピーできます。
e. Lotus Sametime Meeting Server が実行されていることを確認します。
f. コマンド・ラインで、Lotus Sametime Meeting Server のデプロイメント・マネージャーの bin ディレクトリーに移動しま
す (例: C:¥Program Files¥IBM¥WebSphere¥AppServer¥profiles¥zetam1STMDMProfile¥bin)。
g. 「wsadmin」コマンドを入力して wsadmin ツールを開始します。認証を求められたら、WebSphere Application
Server 管理者のユーザー名とパスワードを入力します。(本書の例では、ユーザー名は wasadmin です。)
h. Kerberos 構成ファイルを作成するために、wsadmin からコマンド「$AdminTaskcreateKrbConfigFile
{-krbPath <ファイル名をともなう構成ファイルへのパス> -realm <KERBEROS レルム> -kdcHost <Active
Directory ホスト名> -dns <DNS ドメイン> -keytabPath <キー・タブ・ファイル名>} 」を入力します。次の画
面を参照してください。
メモ:
z
コマンドは大文字と小文字が区別されます。
z
コマンドのパラメーターは下表のとおりです。
表 1. createKrbConfigFile コマンドのパラメーター
オプション
<krbPath>
<realm>
<kdcHost>
<kdcPort>
<dns>
<keytabPath>
<encryption>
説明
必須パラメーターです。Kerberos 構成 (krb5.ini または krb5.conf) ファイルの完全修飾ファイル・システム・ロケ
ーションを示します。
必須パラメーターです。Kerberos のレルム名を示します。この属性の値は、
com.ibm.ws.security.spnego.SPN<id>.hostName プロパティーで指定された各ホストの Kerberos サービス・プリン
シパル名を生成するために SPNEGO によって使用されます。
必須パラメーターです。Kerberos 鍵配布センター (KDC) のホスト名を示します。
オプションのパラメーターです。Kerberos 鍵配布センター (KDC) のポート番号を示します。このポートを省略する
と、デフォルトの 88 が使用されます。
必須パラメーターです。デフォルトのドメイン・ネーム・サービス (DNS) のリストで、それぞれの値をパイプ文字で
区切ります。完全修飾ホスト名の生成に使用されます。リストの最初の値がデフォルトのドメイン・ネーム・サービス
です。
必須パラメーターです。Kerberos キー・タブのパスおよびファイル名のファイル・システム・ロケーションを示しま
す。
オプションのパラメーターです。サポートされている暗号タイプのリストを特定します。それぞれの値をパイプ文字で
区切ります。デフォルト値は des-cbc-md5 です。
ソース: WebSphere Application Server Information Center のトピック「Kerberos 構成ファイルの
作成」
i. wsadmin から返される「<KRB ファイル名> が作成されました」が表示されます。
2. 次に、以下の手順で Lotus Sametime Meeting Server の SPNEGO Web 認証を有効にします。
a. Lotus Sametime Meeting Server 用の WebSphere Application Server Integrated Solutions Console にアクセスしま
す。
ヒント: URL は「https://yourServerName.com:<管理ホストのセキュア・ポート番号>/ibm/console/ logon.jsp」で、
yourServerName は使用している Lotus Sametime Meeting Server の名前です。Lotus Sametime Meeting Server の管
理ポート番号がわからない場合は、Lotus Sametime Meeting Server デプロイメント・マネージャー の serverindex.xml
ファイルを参照してください。このファイルは ¥¥<WebSphere Application Server インストール・ディレクトリー
>¥AppServer¥profiles¥<Meeting Server デプロイメント・マネージャー・プロファイル>¥config¥cells¥<Meeting Server デ
プロイメント・マネージャー・ノード>¥nodes¥DMgrNode にあります。次の画面に示すように、ポート番号は
WC_adminhost_secure にリストされています。
b. 「セキュリティー」->「グローバル・セキュリティー」をクリックします。
c. 「認証」で「Web および SIP セキュリティー」を展開し、「SPNEGO Web 認証」をクリックします。
d. 「SPNEGO フィルター」ボックスで、「新規」をクリックして新規フィルターを作成します。
e. Lotus Sametime Meeting Server のホスト名を「ホスト名」フィールドに入力し、Active Directory レルムを「Kerberos
レルム名」フィールドに入力します (すべて大文字で入力します)。「プリンシパル名からの Kerberos レルムの切り取
り」オプションをクリックします。
f. 「適用」をクリックします。変更をマスター構成に保存します。
g. 「SPNEGO Web 認証」ページに自動的に戻ります。戻らない場合は、このページに移動してください。「SPNEGO を
動的に更新する」オプションをクリックし、「SPNEGO を使用可能にする」オプションをクリックします。
h. Kerberos 構成ファイル (krb5.ini) と Kerberos キー・タブ・ファイル (ステップ 1d で Lotus Sametime Meeting
Server にコピーしたファイル) のパスを入力します。
メモ:
z
Kerberos クライアント構成ファイル (krb5.conf または krb5.ini) には、レルム用の鍵配布センター (KDC) の場
所を含む Kerberos 構成情報が含まれています。krb5.conf ファイルは、Microsoft Windows オペレーティング・
システムを除くすべてのプラットフォームでのデフォルト名です。Microsoft Windows オペレーティング・システム
では、krb5.ini ファイルが使用されます。
z
Kerberos キー・タブ・ファイルには、1 つ以上の Kerberos サービス・プリンシパル名および鍵が含まれています。
デフォルトのキー・タブ・ファイルは krb5.keytab です。ホストでは、キー・タブ・ファイルをローカル・ディスクに格納
し、許可されたユーザーだけが読み取れるようにすることで、Kerberos キー・タブ・ファイルを保護することが重要
です。
i. 「適用」をクリックします。変更をマスター構成に保存します。終了すると、「SPENGO Web 認証」ページは次の画面
のようになります。
j. Lotus Sametime Meeting Server の デプロイメント・マネージャー、ノード・エージェント、STMeetingServer サーバー、
および STMeetingHttpProxy サーバーを再始動します。
Lotus Sametime Meeting Server のシングル・サインオン (SSO) を有効にする
このパートでは、Lotus Sametime Meeting Server のシングル・サインオンを有効にします。
手順
1.
Lotus Sametime Meeting Server 用の WebSphere Application Server Integrated Solutions Console にアクセスしま
す。
ヒント: URL は「https://yourServerName.com:<管理ホストのセキュア・ポート番号>/ibm/console/ logon.jsp」で、
yourServerName は使用している Lotus Sametime Meeting Server の名前です。Lotus Sametime Meeting Server の管
理ポート番号がわからない場合は、Lotus Sametime Meeting Server Deployment Manager の serverindex.xml ファイ
ルを参照してください。このファイルは ¥¥<WebSphere Application Server インストール・ディレクトリー
>¥AppServer¥profiles¥<Meeting Server デプロイメント・マネージャー・プロファイル>¥config¥cells¥<Meeting Server デ
プロイメント・マネージャー・ノード>¥nodes¥DMgrNode にあります。次の画面に示すように、ポート番号は
WC_adminhost_secure にリストされています。
2. 「セキュリティー」->「グローバル・セキュリティー」->「認証」をクリックします。
3. 「認証」で「Web および SIP セキュリティー」を展開し、「シングル・サインオン (SSO)」をクリックします。
4. 「シングル・サインオン (SSO)」ページの「一般プロパティー」セクションで、「使用可能」をクリックし、DNS ドメイン名
を入力します。他の設定は、すべてデフォルト値のままにしておきます。
重要: ドメイン名の前にピリオドを付加しないでください。
5. 「適用」をクリックし、変更をマスター構成に保存します。
SPNEGO が Lotus Sametime Meeting Server とともに正しく機能していることを確
認する
この時点で、Lotus Sametime Meeting Server とともに SPNEGO 認証が機能していなければなりません。
手順
1.
クライアント・サイドのテスト用に使用するコンピューターが、SPNEGO 用に構成した Microsoft Active Directory
と同じドメインのメンバーであることを確認します。
重要: Active Directory ドメイン・コントローラーに直接ログオンして構成をテストしたときに、SPNEGO が正しく機能す
る場合もあります。しかし、Lotus Sametime サーバーの URL が localhost として解決されて、構成が正しくても
SPNEGO 認証が失敗する可能性があるため、ドメイン・コントローラーで直接テストすることは推奨されていません。
Active Directory ドメイン・コントローラー上で直接テストして SPNEGO が機能しない場合は、SPNEGO 構成に問題
があると判断する前に、Active Directory ドメイン内の別のコンピューターからテストしてください。
a.
ドメイン・コントローラーにログオンし、「スタート」->「管理ツール」->「 Active Directory ユーザーとコンピュ
ーター」をクリックして、Microsoft 管理コンソール (MMC) の「Active Directory ユーザーとコンピューター」スナッ
プインを開きます。「コンピューター」をクリックします。テストに使用するコンピューターがリストに表示されているこ
とを確認します。
コンピューターがリストに表示されていない場合は、管理者としてクライアント・マシンにログオンし、「システムのプロパ
ティー」設定を通じて、コンピューターを Active Directory ドメインに追加します。「システムのプロパティー」設定にアク
セスするには、「マイ・コンピューター」を右クリックして「プロパティー」をクリックします。次に、「コンピューター名」タブを
クリックし、「変更」をクリックします。これで、コンピューターのドメインを変更できます。
b. Active Directory ドメイン・コントローラーに戻り、テスト用のユーザーが Microsoft Active Directory ドメインのメン
バーであることを確認します。ドメイン・コントローラーに戻ったら、前にアクセスした MMC スナップインで「ユーザー」
をクリックします。テスト用のユーザーがリストに表示されていることを確認します。
ユーザーがリストに表示されていない場合は、ユーザーを Active Directory に追加するか、テスト用に別のユーザー
を選択します。
c. クライアント・サイドのテストに使用するコンピューターから、前のステップで Active Directory のメンバーであること
を確認したユーザーとして Microsoft Active Directory ドメインにログオンします。
2. 次に、SPNEGO 用に Web ブラウザーを構成します。Mozilla Firefox 用と Microsoft Internet Explorer 用の 2 つ
のサブステップを以下に示します。
a. Mozilla Firefox を使用してテストする場合は、アドレス・ボックスに「about:config」と入力し、Enter を押します。
b. 高度な設定を変更すると問題が発生する可能性があることを警告するメッセージが表示されます。「細心の注意を
払って使用する」ボタンをクリックして続行します。
c. 「フィルター」ボックスに「auth」と入力し、Enter を押します。
d. 「network.negotiate-auth.delegation-uris」プリファレンスをダブルクリックします。「文字列を入力して
ください」というボックスが表示されるので、先頭にピリオドを付けずにドメインを入力し、「OK」をクリックします。
e. 「network.negotiate-auth.trusted-uris」プリファレンスをダブルクリックします。「文字列を入力してくだ
さい」というボックスが表示されるので、先頭にピリオドを付けずにドメインを入力し、「OK」をクリックします。
f. ここまでの操作を終了すると、設定は次の画面のようになります。
g. Web ブラウザーを再始動します。
a. Microsoft Internet Explorer を使用してテストする場合は、「ツール」->「インターネット オプション」をクリックします。
メモ: 以下のステップは、Microsoft Internet Explorer バージョン 7 での説明です。別のバージョンを使用している場合
は、これらの設定に移動するパスが異なることがあります。
b. 「セキュリティー」タブをクリックします。
c. 「ローカル イントラネット」をクリックし、「サイト」をクリックします。
d. 「詳細設定」ボタンをクリックします。
e. 「このゾーンのサイトにはすべてサーバーの確認 (https:) を必要とする」オプションにチェック・マークが付いて
いる場合は、チェック・マークを外します。
f. 前にワイルドカード文字を付けて Lotus Sametime 環境のドメインを入力し、「追加」をクリックします。次の画面に示
すような構成となります。
g. 「閉じる」をクリックし、「OK」をクリックして「インターネット オプション」に戻ります。
h. 「詳細設定」タブをクリックします。
i. 「セキュリティー」セクションで、「統合 Windows 認証を使用する」の設定にチェック・マークが付いていることを確認
します。
j. 「OK」をクリックし、Web ブラウザーを再始動します。
3. Lotus Sametime Meeting Server にアクセスします。SPNEGO 認証によって自動的にログインされ、パスワードは求
められません。
自動的にログインしない場合は、前のパートに戻って設定を調べ、正しく構成されていることを確認します。SPNEGO
を使用して Lotus Sametime Meeting Server と認証できるようになるまでは、次のパートに進まないでください。
メモ: URL は「http://yourSTMeetingServer.com/stmeetings/」で、yourSTMeetingServer.com は Lotus Sametime
Meeting Server の完全修飾ホスト名です。
Lotus Sametime Community Server のシングル・サインオン (SSO) を有効にする
次に、WebSphere Application Server からの LTPA 鍵を使用するように Lotus Sametime サーバーの構成を変更する
必要があります。
手順
1. 次のステップを使用して、WebSphere Application Server の LTPA トークンをエクスポートします。
a. Lotus Sametime Meeting Server 用の WebSphere Application Server Integrated Solutions Console で、「セキュリティ
ー」->「グローバル・セキュリティー」->「認証」をクリックします。次のように「LTPA」を選択します。
c.
「鍵生成」セクションで、CellLTPAKeySetGroup が鍵セット・グループに設定されていることを確認します。
重要: 「鍵の生成」ボタンはクリックしないでください。
d.
「クロス・セルのシングル・サインオン」セクションで、生成するファイルのパスワードとパスおよびファイル名を設定
します。「鍵のエクスポート」をクリックします。
指定したファイルへの鍵のインポートが成功したこと示すメッセージが表示されます。
メモ:
z
異なるコンピューターから Integrated Solutions Console にアクセスしている場合でも、鍵は Lotus Sametime
Meeting Server がインストールされているコンピューターにエクスポートされます。
z
鍵をエクスポートする前に、完全修飾鍵ファイル名で指定したディレクトリーが存在していなければなりません。デ
ィレクトリーが存在しない場合は、「指定したパスをシステムが検出できませんでした」というメッセージでエクスポ
ートが失敗します。
d. Lotus Domino Administrator クライアントがインストールされているコンピューターに .ltpa ファイルをコピーします。
2. WebSphere LTPA 鍵を使用するように、Lotus Sametime Community Server を構成します。
a. Lotus Domino Administrator クライアントを開始し、Lotus Domino 管理者としてログインします。
b. 「ファイル」->「サーバーを開く」をクリックし、Lotus Sametime Community Server を選択します。「OK」をクリックしま
す。
c. 「設定」タブをクリックします。
d. 「サーバー」カテゴリーを展開し、「すべてのサーバー文書」をクリックします。
e. 右側のフレームでドメインを展開し、Lotus Sametime Community Server のサーバー文書を選択します。
f. 「Web」->「現在の設定の参照」をクリックします。
g. 「Web SSO 設定」カテゴリーを展開します。既存の Web SSO 設定文書がある場合はその文書を選択し、「文書の
編集」をクリックします。
Web SSO 設定文書がない場合は、前のビューに戻り、「Web」->「Web SSO 設定を作成」をクリックします。
重要: 文書がすでに存在するときに、LtpaToken 用の新しい Web SSO 設定文書の作成を試みても、その文書を保存
できません。
h. 「設定名」が LtpaToken になっていることを確認します。
i. 「DNS ドメイン名」フィールドに、前にピリオドを付けて Lotus Sametime サーバーのドメインを入力します
(例: .zetabank.com)。
j. 「LTPA トークンのマップ名」が無効に設定されていることを確認します。
k. 「キー」->「WebSphere LTPA キーのインポート」をクリックします。
l. ステップ 1d でこのコンピューターにコピーした .ltpa ファイルのパスとファイル名を入力します。
「OK」をクリックします。
m. ファイルのパスワードを求められた場合は、パスワードを入力します。
「OK」をクリックします。
n. キーが正しくインポートされたことを示すメッセージが表示されます。
「OK」をクリックします。
o. これで「WebSphere 関連情報」セクションがすべて入力されました。
p. 「Domino サーバー名」フィールドで矢印ボタン
す。
をクリックし、Lotus Sametime Community Server を追加しま
「OK」をクリックします。
q. 設定が正しいことを確認し、文書を保存して閉じます。
r. 次に、Lotus Sametime Community Server のサーバー文書を開きます。
s. 「インターネット・プロトコル」->「Domino Web Engine」タブで、「セッション認証」が「複数サーバー (SSO)」に設定
され、「Web SSO 設定」フィールドが「LtpaToken」に設定されていることを確認します。これらの値が設定されていない
場合は、ここで設定してください。
t. 文書を保存して閉じます。
u. Lotus Sametime Community Server を再始動します。Lotus Sametime Community Server のすべてのサービスが開
始するまで、次のパートには進まないでください。
ヒント: すべてのサービスが開始したことを確認するには、Web ブラウザーを使用して Lotus Sametime Center にアク
セスします。URL は「http://yourserver.com/stcenter.nsf」で、yourserver.com は Lotus Sametime Community Server の
完全修飾ホスト名です。ログインし、左側のフレームにある「サーバーの管理」をクリックします。Lotus Sametime
Community Server 上のサービスとその状況のリストが表示されます。次のパートに進む前に、Telephony Services (テ
レフォニー・サービス) を除くすべてのサービスが実行されている必要があります。
Lotus Sametime Connect クライアントを SPNEGO 用に構成する
Lotus Sametime Connect クライアントを SPNEGO 用に構成します。
手順
1. クライアント・サイドのテストに使用しているコンピューターで、Lotus Sametime Connect クライアントを始動します。
2. 「ログイン」ページで「接続」ボタンをクリックします。
3. 「ログイン」タブで「トークン・ベースのシングル・サインオンを使用」をクリックします。「認証サーバー」に、前にインス
トールした Lotus Sametime Meeting Server 上の Snoop アプリケーションの URL を入力します。「認証タイプ」を
「SPNEGO」に設定します。
5.
「サーバー」タブで、「ホスト・サーバー」に正しい値が入力されていない場合は、Lotus Sametime Community
Server の完全修飾ホスト名をホスト・サーバーとして入力します。
他の設定は、すべてデフォルト値のままにしておきます。
メモ:
z
Lotus Sametime Connect クライアントがすでに構成され、自動ログインに設定されている場合は、「ファイル」->
「サーバー・コミュニティーの管理」をクリックして接続設定に移動します。「サーバー・コミュニティー」を展開し、
SPNEGO 用に構成したサーバーに対応するコミュニティーの名前をクリックします。
z
統合 Lotus Sametime クライアントを使用している場合も、「ファイル」->「プリファレンス」->「Lotus Sametime」
->「サーバー・コミュニティー」をクリックして構成設定にアクセスする点を除き、ステップは同じです。サーバー・コ
ミュニティーがすでに構成されている場合は、「サーバー・コミュニティー」セクションを展開し、構成済みのコミュニ
ティーをクリックしてログイン設定にアクセスします。
5. 「OK」をクリックします。
6. 「ログイン」をクリックします。
ユーザー・パスワードの入力を求められずに、SPNEGO を使用して自動的にログインされます。
トラブルシューティング
このセクションでは、ご使用の Lotus Sametime 環境で SPNEGO 認証が正しく機能しないときに問題の解決を支援す
るいくつかのトラブルシューティング・ステップを説明します。このステップでは、前のセクションでの説明を使用して
SPNEGO を構成するための全ステップが完了済みであることを前提としているので注意してください。
このセクションで取り上げるトラブルシューティングのシナリオ
このセクションでは、次のトラブルシューティング・シナリオを取り上げます。
1. SPNEGO が Lotus Sametime の外部で機能することを確認する
2. シングル・サインオンが WebSphere Application Server と Lotus Sametime 間で機能していることを確認する
3. メッセージ「NTLM Token を受信しました」のトラブルシューティング
4. Lotus Sametime Meeting Server でのトレースの有効化
SPNEGO が Lotus Sametime の外部で機能することを確認する
Lotus Sametime で SPNEGO が機能しない場合は、Lotus Sametime 構成をトラブルシューティングする前に、まず、
SPNEGO が WebSphere Application Server レベルで機能していること確認します。
確認: このパートで説明するステップは、Lotus Sametime 8.0.x IBM developerWorks の記事「Integrating
SPNEGO with IBM Lotus Sametime」に記載されているステップを改訂したバージョンです。
SPNEGO が WebSphere Application Server レベル (つまり、Lotus Sametime の外部) で正しく機能していることを確
認するには、SPNEGO クライアントとしてすでに構成されている Web ブラウザー (コンピューターを Microsoft Active
Directory ドメインに追加することによって構成した Web ブラウザー) を使用して、Snoop サーブレットにアクセスしま
す。DefaultApplication.ear の一部である Snoop サーブレットを構成プロセスでインストールしたことを思い出してくだ
さい。Snoop サーブレットは、サーブレット要求に関する情報を取り出すデフォルトの WebSphere Application Server ア
プリケーションです。WebSphere セキュリティーが有効な場合は (SPNEGO の構成後は WebSphere セキュリティーが
有効になっていなければなりません)、サーブレットを開始するためにユーザーはサーバーと認証する必要があります。
SPNEGO が構成されて正しく機能していると、ユーザーは SPNEGO を使用して認証されます。したがって、このサー
ブレットにアクセスすることは、WebSphere Application Server レベルと Web ブラウザー・レベルで構成が正しく機能し
ているかどうかを調べるのに適したテストとなります。
Snoop サーブレットを用いて SPNEGO をテストするには、クライアント・サイドのテストに使用するコンピューター (つ
まり、SPNEGO で使用するよう構成したコンピューター) から Active Directory ドメインにログオンします。SPNEGO
用に構成した Web ブラウザーで URL「http://yourserver.com/snoop/snoop」にアクセスしてください。
yourserver.com は、WebSphere Application Server 上で実行されている Lotus Sametime Meeting サーバーの完
全修飾ホスト名です。SPNEGO が機能している場合は、次のメッセージが表示されます。
ヒント: 構成ステップで DefaultApplication.ear のコンテキスト・ルートを Snoop 以外の値に変更した場合は、URL が
少し異なります。
Snoop サーブレットにアクセスしたときに SPNEGO が機能していない場合は、次の手順を試してください。
Web ブラウザーの設定をチェックする
Web ブラウザーのすべての設定が正しく構成されていることを確認します。SPNEGO に必要な Web ブラウザーの設
定は、本書の「SPNEGO が Lotus Sametime Meeting Server とともに正しく機能していることを確認する」セクションに
ある構成リファレンスに記載されています。
ヒント: Microsoft Windows が実行されているコンピューターでは、ユーザーごとに Web ブラウザーの設定が必要と
なる場合があります。別の Active Directory 資格情報を使用してコンピューターにログオンする場合は、そのユーザー
用にブラウザー設定を構成する必要があります。そのように構成しないと、SPNEGO 認証が失敗します。
Active Directory ドメインにログオンしていることを確認する
Active Directory ドメインにログオンしていることを確認する方法の 1 つとして、Control + Alt + Delete を入力する方
法があります。表示されるダイアログ・ボックスでログオン情報を確認します。
ローカル・マシンだけにログオンしている場合、ログイン情報は「<ローカル・マシン>¥<ユーザー名>」と表示されます。
Active Directory ドメインにログオンしている場合、ログオン情報は「<ドメイン名>¥<ユーザー名>」と表示されます。
Wireshark を使用してパケットを調べる
1. Wireshark ユーティリティーがクライアント・マシンにインストールされていない場合は、このユーティリティーをダウン
ロードし、インストールします。Wireshark ユーティリティーは http://www.wireshark.org/download.html からダウンロー
ドできます。
2. Wireshark を起動します。
3. 「Capture」->「Interfaces」をクリックします。
4. 現在使用しているネットワーク・アダプターをクリックし、「Start」ボタンをクリックします。
5. Snoop サーブレットにアクセスします。
ヒント: Snoop サーブレットにアクセスするステップは、このパートの先頭に記載されています。
または「Capture」->「Stop」をクリックして、キャプチャーを停止します。
6.
「Stop」ボタン
7.
出力の上のフィルター・フィールドに「http」と入力し、「Apply」をクリックします。
8.
「HTTP/1.1 401 Unauthorized (text/html)」要求を見つけ、クリックして選択します。
9.
パケットの詳細を展開します。「WWW-Authenticate」応答ヘッダーが表示されています。
ヒント: 「WWW-Authenticate」応答ヘッダーの詳細については、RFC 4559 を参照してください。
10. 2 番目の「GET /snoop HTTP/1.1」要求を見つけ、クリックして選択します。
11. パケットの詳細を展開します。
SPNEGO が正しく構成されている場合は、SPNEGO トークンが表示されます。
認証に SPNEGO が使用されていない場合は、「HTTP/1.1 Unauthorized」パケットの「WWW-Authenticate」ヘッダ
ーに、「Negotiate」の代わりに「Basic Realm」が表示されます (正しく機能している SPNEGO 構成はステップ 9 に
示されています)。
ユーザー名とパスワードを入力するよう求められます。
「Basic Realm」がヘッダーに表示される場合は、前に戻って、Lotus Sametime Meeting Server で SPNEGO 設定を
調べ、設定が正しいことを確認します。確認には、本書の「Microsoft Active Directory と Lotus Sametime Meeting
Server を SPNEGO 用に構成する」セクションを使用してください。設定が正しい場合は、デプロイメント・マネージャー、
ノード・エージェント、STMeetingHttpProxy、および STMeetingServer を再始動したことを確認します。
シングル・サインオンが Lotus Sametime Meeting Server に機能していることを確認
する
SPNEGO を機能させるには、シングル・サインオンが Lotus Sametime Meeting Server 用に正しく構成されている必要
があります。
確認: このパートで説明するステップは、Lotus Sametime 8.0.x IBM developerWorks の記事「Integrating
SPNEGO with IBM Lotus Sametime」に記載されているステップを改訂したバージョンです。
1. Wireshark ユーティリティーがクライアント・マシンにインストールされていない場合は、このユーティリティーをダウン
ロードし、インストールします。Wireshark ユーティリティーは http://www.wireshark.org/download.html からダウンロー
ドできます。
2. Wireshark を起動します。
3. 「Capture」->「Interfaces」をクリックします。
4. 現在使用しているネットワーク・アダプターをクリックし、「Start」ボタンをクリックします。
5. Snoop サーブレットにアクセスします。
6. 「Stop」ボタン
または「Capture」->「Stop」をクリックして、キャプチャーを停止します。
7.
出力の上のフィルター・フィールドに「http」と入力し、「Apply」をクリックします。
8.
「HTTP/1.1 OK」要求を見つけ、クリックして選択します。
9.
パケットの詳細に LTPA トークンが表示されています。
LTPA トークンが表示されていない場合は、シングル・サインオンが正しく構成されていません。
10. シングル・サインオンが正しく構成されていない場合は、Integrated Solutions Console を使用して WebSphere
Application Server レベルで設定をチェックします。
a.
Lotus Sametime Meeting Server 用の Integrated Solutions Console にログオンします。
ヒント: URL は「https://yourServerName.com:<管理ホストのセキュア・ポート番号>/ibm/console/ logon.jsp」で、
yourServerName は使用している Lotus Sametime Meeting Server の名前です。Lotus Sametime Meeting Server の管
理ポート番号がわからない場合は、Lotus Sametime Meeting Server デプロイメント・マネージャーの serverindex.xml
ファイルを参照してください。このファイルは ¥¥<インストール・ディレクトリー>¥profiles¥<Meeting Server デプロイメン
ト・マネージャー・プロファイル>¥config¥cells¥<Meeting Server デプロイメント・マネージャー・ノード>¥nodes¥DMgrNode
にあります。次の画面に示すように、ポート番号は WC_adminhost_secure にリストされています。
b. 「セキュリティー」->「グローバル・セキュリティー」をクリックします。「認証」で「Web および SIP セキュリティー」を展
開し、「シングル・サインオン (SSO)」をクリックします。
c. シングル・サインオンが有効になっていて、ドメインが正しい値に設定されていることを確認します。
10. これらの設定が正しいにもかかわらず、まだ問題が発生する場合は、「Lotus Sametime Meeting Server でのトレ
ースの有効化」セクションに進み、トレース出力を分析します。
メッセージ「NTLM トークンを受信しました」のトラブルシューティング
このセクションで説明するステップは、テスト環境でテストされました。実稼働環境で以下のトラブルシューティング・ステ
ップを実行する場合は、予期せぬ結果や悪い影響を避けるために、事前に Active Directory の管理者に確認してくだ
さい。
SPNEGO 構成に問題がある場合は、WebSphere Application Server または Lotus Sametime リソースへのアクセスを
試みたときに、次のメッセージを受け取ることがあります。
このエラーを受け取るのは、数多くの理由が考えられます。このエラーに対し、考えられる原因と解決方法を以下のリ
ストに示します。
Active Directory ドメイン・コントローラーではテストを直接実行しない
WebSphere Application Server Information Center のトピック「SPNEGO のトラブルシューティングのヒント」に書かれてい
るように、クライアントが実行されているマシン (localhost) と同じマシンで定義されたサービスにユーザーがアクセス
すると、SPNEGO 認証が失敗することがあります。Internet Explorer はホスト名の URL を、指定された完全修飾名と
は解決せずに、「http://localhost-someURL-」と解決します。
Active Directory ドメイン・コントローラーに直接ログオンしてテストすると、この状況が発生する可能性があります。こ
のため、現在、Active Directory ドメイン・コントローラーで直接テストしている場合は、Active Directory ドメインの他の
マシンからログインして、メッセージ「NTLM トークンを受信しました」が表示されるかどうかを最初にテストする必要が
あります。
Kerberos サービス・プリンシパル名 (SPN) をチェックする
SPNEGO の構成プロセスの一環として、SPNEGO で使用するために SPN を登録したことを思い出してください。
Active Directory で SPN が見つからない、または Active Directory 内で同じ SPN を複数回定義した場合は、
SPNEGO 認証が失敗します。
SPN が重複して構成されていると思われる場合は、Active Directory ドメイン・コントローラーにある「イベント・ビューア
ー」の「システム」ビューを参照します (「スタート」->「管理ツール」→「イベント ビューアー」)。次の画面に示すように、
ソースが「KDC」でイベント ID が「11」のエラーが表示されていないかチェックします。
ヒント: 「表示」->「検索」を選択してイベント・ソースまたはイベント ID でソートすると、このタイプのイベントがあるか
どうかを素早く確認できます。
ソースが KDC でイベント ID が 11 のエラーがある場合は、このエントリーをダブルクリックして開き、SPNEGO の
構成時に使用した SPN に関するものかどうかをチェックします。次の画面には、このタイプのエントリーの例が表示さ
れています。
SPN が重複している場合は、SPNEGO 認証を機能させる前にこの状況を修正する必要があります。まず、ldifde.exe
ツールを使用して、重複するエントリーを特定します。このツールを使用して重複するエントリーをリストするには、次の
ように操作します。
1. Active Directory ドメイン・コントローラーでコマンド・プロンプトを開きます。
2. コマンド「ldifde -r (servicePrincipalName=HTTP/yourSPN*) -v –f c:¥spnoutput.txt」を入
力します。
11. yourSPN は、サービス・プリンシパル名の最初のパートです (この例の「HTTP/zeta-m1」など)。
12. -r は、結果の生成時に使用する LDAP 検索フィルターを指定します。イベント・ログのエントリーに記録された
SPN の名前を使用します。
13. -v は、詳細モードをオンにします。
14. -f は、出力ファイル名を指定します。
実行中のコマンドの画面は次のとおりです。
3. 生成されたテキスト・ファイルを開き、どのユーザーまたはコンピューターが同じ SPN で登録されているのかを調べ
ます。SPN が重複している環境での ldifde ツールの出力を次の画面に示します。
この問題を修正するには、SPNEGO を使用するために構成されていないユーザーをこの SPN から分離します。
ヒント: SPNEGO を使用するために構成されたユーザーとは、キー・タブ・ファイルの作成時に指定したユーザーです。
このタスクを実行するには、次のように操作します。
1. Active Directory ドメイン・コントローラーでコマンド・プロンプトを開きます。
2. コマンド「setspn -d HTTP/yourserver.com youruser」を実行します。
メモ: このコマンド内に、出力ファイルに返された SPN と、SPN から分離するユーザーの名前を挿入します。
3. 次の画面に示すような結果が表示されます。
4. 前のステップから再び ldifde コマンドを実行した場合は、次の画面に示すように、SPN に関連付けられた 1 ユ
ーザーだけが返されます。
ヒント: 前のファイルを上書きしたくない場合は、出力ファイルに異なるファイル名を指定してください。
次の画面は ldifde コマンドの実行結果です。
出力ファイルを調べると、SPN に関連付けられた 1 ユーザーだけが見つかります。
5. SPNEGO 構成で SPN の重複が唯一の問題である場合は、重複する SPN を削除した後に認証が機能し始めま
す。
重要: クライアント・サイドのテストに使用しているマシン (Web ブラウザーを通じて Snoop アプリケーションにアクセ
スするために使用したマシン) の再始動が必要となる場合があります。
Lotus Sametime Meeting Server でのトレースの有効化
手順
1.
Lotus Sametime Meeting Server 用の WebSphere Application Server Integrated Solutions Console にアクセスしま
す。
ヒント: URL は「https://yourServerName.com:<管理ホストのセキュア・ポート番号>/ibm/console/ logon.jsp」で、
yourServerName は使用している Lotus Sametime Meeting Server の名前です。Lotus Sametime Meeting Server の管
理ポート番号がわからない場合は、Lotus Sametime Meeting Server デプロイメント・マネージャーの serverindex.xml
ファイルを参照してください。このファイルは ¥¥<インストール・ディレクトリー>¥profiles¥<Meeting Server デプロイメン
ト・マネージャー・プロファイル>¥config¥cells¥<Meeting Server デプロイメント・マネージャー・ノード>¥nodes¥DMgrNode
にあります。次の画面に示すように、ポート番号は WC_adminhost_secure にリストされています。
2. 左側のナビゲーション・フレームで、「トラブルシューティング」カテゴリーをクリックして展開します。次に、「ログおよ
びトレース」をクリックします。
3. 「STMeetingServer」をクリックします。
4. 「診断トレース」をクリックします。
5. 「ランタイム」タブをクリックし、「ログ詳細レベルの変更」をクリックします。
6. 「*=info: com.ibm.ws.security.spnego.*=all: com.ibm.ws.security.ltpa.*=all」と入力し
ます。「適用」をクリックし、「OK」をクリックします。
ヒント: 「ランタイム」タブでトレースを入力したため、サーバーの再始動は必要ありません。サーバーを再始動すると、
トレース設定が適用されなくなります。トレース設定を保持したい (サーバーの再始動後も残されるようにする) 場合は、
「構成」タブでトレースを設定し、変更をマスター構成に保存します。そして、テスト前に Meeting Server を再始動しま
す。
7. <Lotus Sametime インストール・ディレクトリー>¥AppServer¥profiles¥<Meeting Server プロファイル名
>¥logs¥STMeetingServer ディレクトリーで trace.log を開き、サーバーによってトレース仕様が認識されていることを確
認します。トレース・ファイルの「Display Current® Environment」セクションに、現在のトレース仕様を示す行があります。
また、トレース状態の変更を示す行が表示される場合もあります。
8. テストに関連するトレースをログ・ファイルで特定できるように、現在の時刻を記録します。次に、クライアントのテス
トに使用しているマシンから、Snoop サーブレットにアクセスします。
9. ログ・エントリーの左側にあるタイム・スタンプを使用して、テストに関連するトレースを特定します。エラーがログにレ
ポートされていないかチェックします。
10. たとえば、あるユーザーに SPNEGO が機能していない構成で、trace.log ファイルに「[date time] 00000053
WebCollaborat A SECJ0056E: Authentication failed for reason null; nested exception
is: java.lang.NullPointerException」というログが記録されていたものとします。この状況では、ユーザー
が Snoop サーブレットにアクセスしたときに「HTTP 403: Forbidden」が Web ブラウザーに表示され、ユーザーは
Lotus Sametime Meeting Server にログインされません。WebSphere Application Server バージョン 7 の Information
Center でこのエラー・コードを検索すると、対応するメッセージ参照ページが返されます。このページでエラー・メッセー
ジを見つけると、このエラーの説明は「特定の理由により認証が失敗しました」となっています。この場合は
「java.lang.NullPointerException」です。Microsoft Active Directory でユーザー・アカウントのプロパティー
を調べると、構成の必須属性であるユーザーの電子メール・アドレスがありませんでした。ユーザーの電子メール・アド
レスを入力し、Web ブラウザーを再始動すると、ユーザーは SPNEGO を使用して正しくログインできるようになりまし
た。
ヒント: 比較のために、ユーザーが Snoop サーブレットにアクセスしたときに正しく機能している構成から取得したロ
グ・エントリーの例を、このセクションの後に記載します。
Fly UP