プロキシ資格または匿名プロキシ資格を割り当てる場合、プロキシによるディレクトリサーバーへの認証方式も選択する必要があります。 デフォルトの認証方式は 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 を使用する場合、クライアントマシンはユーザーのパスワードを平文 (clear) で送信してサーバーへのバインドを実行します。 このため、セッションが ipsec(7) により保護されていない限り、パスワードが漏洩しやすくなります。認証方式 simple を使用する主な利点は、すべてのディレクトリ サーバーがこの方式をサポートしていること、および設定が容易であるという点です。
認証時にクライアントのパスワードは保護されますが、セッションは暗号化されません。 Sun ONE Directory Server を含むいくつかのディレクトリサーバーは、sasl/digest-MD5 認証方式もサポートします。 digest-MD5 の主な利点は、認証時にパスワードが平文のままネットワーク上を流れないため、simple よりも安全であるという点です。 digest-MD5 の詳細については、RFC 2831 を参照してください。 digest-MD5 は、cram-MD5 のセキュリティが改善されたものと見なされます。
sasl/digest-MD5 を使用する場合、認証はセキュリティ保護されますがセッションは保護されません。
Sun ONE Directory Server を使用している場合、パスワードをディレクトリ内に「平文」で格納する必要があります。
sasl/cram-MD5
この場合、LDAP セッションは暗号化されませんが、sasl/cram-MD5 を使用して認証が行われるため、認証時にクライアントのパスワードが保護されます。
cram-MD5 認証方式の詳細については、RFC 2195 を参照してください。 すべてのディレクトリサーバーが cram-MD5 をサポートしているわけではありません。 たとえば、Sun ONE Directory Server は cram-MD5 をサポートしません。
tls:simple
クライアントは、simple を使用してバインドを行い、セッションは暗号化されます。 パスワードは保護されます。
tls:sasl/cram-MD5
sasl/cram-MD5 を使用して、LDAP セッションの暗号化およびクライアントによるディレクトリサーバーへの認証が行われます。
tls:sasl/digest-MD5
sasl/digest-MD5 を使用して、LDAP セッションの暗号化およびクライアントによるディレクトリサーバーへの認証が行われます。
Sun ONE Directory Server で digest-MD5 を使用する場合、パスワードを平文で格納する必要があります。 認証方式を sasl/digest-MD5 または tls:sasl/digest-MD5 に設定する場合、プロキシユーザーのパスワードを平文で格納する必要があります。 平文で格納する場合には、userPassword 属性が適切な ACI を保持するようにして読み取り不可にするよう、特に注意してください。
次の表に、さまざまな認証方式およびその特性の概要を示します。
表 13–4 認証方式
|
バインド |
セッション |
通信時のパスワード |
Sun ONE Directory Server でのパスワード |
セッション |
---|---|---|---|---|---|
none |
任意 |
暗号化しない |
なし |
なし |
暗号化しない |
simple |
必須 |
暗号化しない |
平文 |
任意 |
任意 |
sasl/digest-MD5 |
必須 |
暗号化しない |
暗号化 |
平文 |
任意 |
sasl/cram-MD5 |
必須 |
暗号化しない |
暗号化 |
なし |
任意 |
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 属性の値がデフォルトになります。
次に示す例は、クライアントプロファイルの 1 セクションです。ここで、ユーザーはディレクトリサーバーへの認証に sasl/digest-MD5 を使用しますが、パスワードの変更には SSL セッションを使用します。
serviceAuthenticationMethod=pam_ldap:sasl/digest-MD5 serviceAuthenticationMethod=passwd-cmd:tls:simple |