第6章 アプリケーションをシングルサインオン向けに設定
スマートカードは登録後、SSL クライアント認証および S/MIME メールアプリケーションにはスマートカードを使用できます。デフォルトでは、これらのアプリケーションが使用する PKCS #11 モジュールは
/usr/lib/libcoolkeypk11.so
にあります。
6.1. Firefox でシングルサインオンに Kerberos を使用する設定
Firefox では、Kerberos を使用して、イントラネットサイトや他の保護されている Web サイトへのシングルサインオンを使用できます。Firefox で Kerberos を使用するには、まず Kerberos 認証情報を適切な KDC に送信するように設定する必要があります。
- Firefox のアドレスバーに、
about:config
と入力して現在の設定オプションの一覧を表示します。 - Filter フィールドに、オプションのリストを制限するために
negotiate
と入力します。 - network.negotiate-auth.trusted-uris エントリーをダブルクリックします。
- 認証するドメイン名を入力します。
- 次に、network.negotiate-auth.trusted-uris に関しては同じドメインを使用して、network.negotiate-auth.delegation-uris エントリーを設定します。
注記
Firefox が Kerberos 認証情報を渡すように設定した後でも、有効な Kerberos チケットが必要になります。Kerberos チケットを生成するには、
kinit
コマンドを実行し、KDC 上のユーザーのユーザーパスワードを指定します。
[jsmith@host ~] $ kinit Password for jsmith@EXAMPLE.COM:
Kerberos 認証が機能しない場合は、認証プロセスにおける詳細ロギングをオンにします。
- Firefox のすべてのインスタンスを閉じます。
- コマンドプロンプトで、
NSPR_LOG_*
変数の値をエクスポートします。export NSPR_LOG_MODULES=negotiateauth:5 export NSPR_LOG_FILE=/tmp/moz.log
- そのシェルから Firefox を再起動し、Kerberos 認証に失敗していた Web サイトを開きます。
- メッセージの nsNegotiateAuth で、エラーメッセージについて
/tmp/moz.log
ファイルを確認します。
Kerberos 認証では、以下のようなエラーが一般的です。
- 最初のエラーは、認証情報が見つからないことを示しています。
-1208550944[90039d0]: entering nsNegotiateAuth::GetNextToken() -1208550944[90039d0]: gss_init_sec_context() failed: Miscellaneous failure No credentials cache found
これは、Kerberos チケットがないことを意味します (つまり、有効期限が切れたか、生成されていません)。この問題を修正するには、kinit
を実行して Kerberos チケットを生成し、Web サイトを再度開きます。 - 2 つ目のエラーは、Kerbros データベースにサーバーが見つかりません というメッセージが表示されてブラウザーが KDC に接続できない場合です。
-1208994096[8d683d8]: entering nsAuthGSSAPI::GetNextToken() -1208994096[8d683d8]: gss_init_sec_context() failed: Miscellaneous failure Server not found in Kerberos database
通常、これは Kerberos 設定の問題です。ドメインを特定するには、正しいエントリーが/etc/krb5.conf
ファイルの[domain_realm]
セクションに含まれている必要があります。以下に例を示します。.example.com = EXAMPLE.COM example.com = EXAMPLE.COM
- ログにエラーがない場合は、HTTP プロキシーサーバーが Kerberos 認証に必要な HTTP ヘッダーを削除している可能性があります。HTTPS を使用してサイトへの接続を試みます。これにより、要求を変更せずに渡すことができます。