プロキシ資格または匿名プロキシ資格を割り当てる場合、プロキシによるディレクトリサーバーへの認証方式も選択する必要があります。デフォルトの認証方式は none (匿名によるアクセス) です。認証方式には、関連するトランスポートセキュリティーオプションも含まれます。
認証方式には、資格レベルと同様、複数値を指定できます。たとえば、クライアントプロファイルを設定することにより、クライアントが TLS でセキュリティー保護された simple メソッドを最初に使用してバインドを試みるようにできます。これが成功しない場合、クライアントは sasl/digest-MD5 メソッドを使用してバインドを試みます。そのあと、authenticationMethod は tls:simple;sasl/digest-MD5 になります。
LDAP ネームサービスは、いくつかの Simple Authentication and Security Layer (SASL) 機構をサポートします。これらの機構を使用すると、TLS なしでセキュリティー保護されたパスワードを交換できます。ただし、これらの機構はデータの完全性や機密性を保証するものではありません。SASL の詳細については、RFC 2222 を参照してください。
次の認証機構がサポートされています。
none
クライアントは、ディレクトリへの認証を行いません。これは、anonymous 資格レベルと等価です。
認証方式 simple を使用する場合、クライアントシステムはユーザーのパスワードを平文で送信してサーバーへのバインドを実行します。このため、セッションが IPsec により保護されていない限り、パスワードが漏洩しやすくなります。認証方式 simple を使用する主な利点は、すべてのディレクトリサーバーがこの方式をサポートしていること、および設定が容易であるという点です。
認証時にクライアントのパスワードは保護されますが、セッションは暗号化されません。Sun Java System Directory Server を含むいくつかのディレクトリサーバーは、sasl/digest-MD5 認証方式もサポートします。digest-MD5 の主な利点は、認証時にパスワードが平文のままネットワーク上を流れないため、simple よりも安全であるという点です。digest-MD5 の詳細については、RFC 2831 を参照してください。digest-MD5 は、cram-MD5 のセキュリティーが改善されたものと見なされます。
sasl/digest-MD5 を使用する場合、認証はセキュリティー保護されますがセッションは保護されません。
Sun Java System Directory Server を使用している場合、パスワードをディレクトリ内に「平文」で格納する必要があります。
sasl/cram-MD5
この場合、LDAP セッションは暗号化されませんが、sasl/cram-MD5 を使用して認証が行われるため、認証時にクライアントのパスワードが保護されます。
cram-MD5 認証方式の詳細については、RFC 2195 を参照してください。すべてのディレクトリサーバーが cram-MD5 をサポートしているわけではありません。たとえば、Sun Java System Directory Server は cram-MD5 をサポートしません。
sasl/GSSAPI
この認証方式は、ユーザー別の検索を有効にする場合に、self 資格モードとともに使用されます。クライアントの資格を使用するために割り当てられたユーザー別の nscd は、sasl/GSSAPI 方式およびクライアントの Kerberos 資格を使用して、ディレクトリサーバーへのバインドを実行します。ディレクトリサーバーでは、アクセスをユーザー別に制御できます。
tls:simple
クライアントは、simple を使用してバインドを行い、セッションは暗号化されます。パスワードは保護されます。
tls:sasl/cram-MD5
sasl/cram-MD5 を使用して、LDAP セッションの暗号化およびクライアントによるディレクトリサーバーへの認証が行われます。
tls:sasl/digest-MD5
sasl/digest-MD5 を使用して、LDAP セッションの暗号化およびクライアントによるディレクトリサーバーへの認証が行われます。
Sun Java System Directory Server で digest-MD5 を使用する場合、パスワードを平文で格納する必要があります。認証方式を sasl/digest-MD5 または tls:sasl/digest-MD5 に設定する場合、プロキシユーザーのパスワードを平文で格納する必要があります。平文で格納する場合には、userPassword 属性が適切な ACI を保持するようにして読み取り不可にするよう、特に注意してください。
次の表に、さまざまな認証方式およびその特性の概要を示します。
表 9–4 認証方式
|
バインド |
通信時のパスワード |
Sun Java System Directory Server でのパスワード |
セッション |
---|---|---|---|---|
none |
いいえ |
なし |
なし |
暗号化しない |
simple |
はい |
平文 |
任意 |
暗号化しない |
sasl/digest-MD5 |
はい |
暗号化 |
平文 |
暗号化しない |
sasl/cram-MD5 |
はい |
暗号化 |
なし |
暗号化しない |
sasl/GSSAPI |
はい |
Kerberos |
Kerberos |
暗号化 |
tls:simple |
はい |
暗号化 |
任意 |
暗号化 |
tls:sasl/cram-MD5 |
はい |
暗号化 |
なし |
暗号化 |
tls:sasl/digest-MD5 |
はい |
暗号化 |
平文 |
暗号化 |
認証方式を特定のサービスに対して serviceAuthenticationMethod 属性に指定できます。現在この機能をサポートしているサービスを次に示します。
passwd-cmd
このサービスは、passwd(1) により、ログインパスワードおよびパスワード属性の変更に使用されます。
keyserv
このサービスは、chkey(1) および newkey(1M) ユーティリティーにより、ユーザーの Diffie-Hellman 鍵ペアの作成および変更に使用されます。
pam_ldap
このサービスは、pam_ldap(5) を使用したユーザーの認証に使用されます。
pam_ldap は、アカウントの管理をサポートします。
サービスが serviceAuthenticationMethod セットを保持しない場合、authenticationMethod 属性の値がデフォルトになります。
ユーザー別のモードでは、「pam_krb5 サービスモジュール」 (pam Kerberos) が認証サービスとして使用されます。この操作モードでは、ServiceAuthenticationMethod は不要です。
enableShadowUpdate スイッチを true に設定した場合、ldap_cachemgr デーモンは passwd-cmd の serviceAuthenticationMethod パラメータに定義された認証方式を使用して LDAP サーバーにバインドします (この認証方式が定義されている場合)。このパラメータが存在しない場合、authenticationMethod が使用されます。デーモンは認証方式 none を使用しません。
次に示す例は、クライアントプロファイルの 1 セクションです。ここで、ユーザーはディレクトリサーバーへの認証に sasl/digest-MD5 を使用しますが、パスワードの変更には SSL セッションを使用します。
serviceAuthenticationMethod=pam_ldap:sasl/digest-MD5 serviceAuthenticationMethod=passwd-cmd:tls:simple |