9.11. SASL での Kerberos GSS-API の使用
Directory Server が SASL 認証に GSS-API メカニズムを使用するには、Kerberos v5 をホストにデプロイする必要があります。Kerberos サービスを活用するには、GSS-API および Kerberos クライアントライブラリーを Directory Server ホストにインストールする必要があります。
9.11.1. Directory Server の SASL の認証メカニズム
Directory Server は、以下の SASL 暗号化メカニズムをサポートします。
- PLAIN。PLAIN は、簡単なパスワードベースの認証用にクリアテキストのパスワードを送信します。
- EXTERNAL。TLS を使用する EXTERNAL は、証明書ベースの認証を実行します。この方法では、強力な認証に公開鍵を使用します。
- CRAM-MD5。CRAM-MD5 は弱く、単純な challenge-response 認証メソッドです。セキュリティー層を確立しません。警告Red Hat では、セキュアでない CRAM-MD5 メカニズムを使用することは推奨されません。
- DIGEST-MD5。DIGEST-MD5 は LDAPv3 サーバーの弱い認証方法です。警告Red Hat では、セキュアでない DIGGEST-MD5 メカニズムを使用することは推奨されません。
- Generic Security Services (GSS-API).汎用セキュリティーサービス (GSS) は、UNIX ベースのオペレーティングシステムが Kerberos サービスにアクセスして認証するためのネイティブな方法であるセキュリティー API です。GSS-API は TLS と同様にセッション暗号化もサポートします。これにより、Kerberos バージョン 5 の認証情報 (チケット) を使用して LDAP クライアントがサーバーで認証でき、ネットワークセッションの暗号化を使用できます。Directory Server が GSS-API を使用するには、Kerberos をホストマシンに設定する必要があります。「SASL での Kerberos GSS-API の使用」を参照してください。注記GSS-API および Kerberos は GSS-API サポートのあるプラットフォームでのみサポートされます。GSS-API を使用するには、Kerberos クライアントライブラリーをインストールする必要があります。必要な Kerberos ライブラリーはすべてオペレーティングシステムベンダーから利用できます。
9.11.2. Directory Server の Kerberos の概要
Red Hat Enterprise Linux では、サポートされる Kerberos ライブラリーは MIT Kerberos バージョン 5 です。
Kerberos の概念、ならびに Kerberos の使用および設定については、MIT Kerberos の Web サイト http://web.mit.edu/Kerberos/ を参照してください。
9.11.2.1. プリンシパルおよびレルムについて
プリンシパル は、Kerberos 環境のユーザーまたはサービスです。レルム は、誰が何にアクセスできるかに関して、Kerberos が管理する内容を定義します。アクセスするクライアント、KDC、およびホストまたはサービスは同じレルムを使用する必要があります。
注記
Kerberos レルムは GSS-API 認証および暗号化でのみサポートされていますが、DIGEST-MD5 ではサポートされていません。
レルムは、LDAP DN のように、以下の形式でクライアントの DN を関連付けるためにサーバーによって使用されます。
uid=user_name/[server_instance],cn=realm,cn=mechanism,cn=auth
たとえば、example.com のヨーロッパの部門の engineering レルムの Mike Connors では、以下の関連を使用して、US レルムのサーバーにアクセスします。
uid=mconnors/cn=Europe.example.com,cn=engineering,cn=gssapi,cn=auth
Babara Jensen は、US.example.com の accounting レルムから、ローカルサーバーにアクセスする際にレルムを指定する必要はありません。
uid=bjensen,cn=accounting,cn=gssapi,cn=auth
レルムがメカニズムでサポートされ、デフォルトのレルムがサーバーに対する認証に使用されない場合、レルム は Kerberos プリンシパルで指定する必要があります。そうでない場合は、レルムを省略できます。
注記
Kerberos システムは、Kerberos レルムをデフォルトのレルムとして扱います。他のシステムはデフォルトでサーバーになります。
9.11.2.2. KDC サーバーおよびキータブの概要
キー配布センター (KDC) はユーザーを認証し、TGT (Ticket Granting Ticket) を発行します。これにより、ユーザーは GSS-API を使用して Directory Server に対して認証が可能になります。Kerberos 操作に応答するには、Directory Server でキータブファイルへのアクセスが必要になります。キータブには、Directory Server が他のサーバーへの認証に使用する暗号鍵が含まれます。
Directory Server は、Kerberos プリンシパルで ldap サービス名を使用します。以下に例を示します。
ldap/server.example.com@EXAMPLE.COM
キータブの作成に関する詳細は、Kerberos ドキュメントを参照してください。
注記
既存のエントリー識別名 (DN) にマッピングする Directory Server Kerberos プリンシパルの Simple Authentication and Security Layer (SASL) マッピングを作成する必要があります。
9.11.3. Directory Server 起動時の SASL 認証の設定
Kerberos チケットを認証に使用できるように、SASL GSS-API 認証は Directory Server でアクティベートする必要があります。これは、キータブファイルの場所を設定する変数を識別する init スクリプト用のシステム設定ファイルを指定することで行います。init スクリプトが Directory Server の起動時に実行すると、SASL 認証はすぐにアクティブになります。
デフォルトの SASL 設定は
/etc/sysconfig/dirsrv
ファイルに保存されます。
複数の Directory Server インスタンスがあり、これらすべてが SASL 認証を使用するわけではありません。その場合は、
dirsrv-
instance という名前の /etc/sysconfig/
ディレクトリーにインスタンス固有の設定ファイルを作成できます。(例: dirsrv-example
)。ホストにインスタンスが 1 つある場合は、デフォルトの dirsrv
ファイルを使用することができます。
SASL 認証を有効にするには、
/etc/sysconfig/dirsrv
(またはインスタンス固有の) ファイルの KRB5_KTNAME 行のコメントを解除し、KRB5_KTNAME 変数のキータブの場所を設定します。以下に例を示します。
# In order to use SASL/GSSAPI the directory
# server needs to know where to find its keytab
# file - uncomment the following line and set
# the path and filename appropriately
KRB5_KTNAME=/etc/dirsrv/krb5.keytab