FirstClassディレクトリサービスによる認証について
FirstClassにログインを試みるユーザは、FirstClassサーバまたは外部LDAPサーバ(リモート認証)による認証を受けます。サーバによる認証は、FirstClassサーバに設定した認証用サーバの種類に従って行われます。
外部LDAPサーバを使用すると、そのサーバに属しているユーザを認証できる場合があります。認証が可能かどうかは、LDAPサーバの種類とパスワードの暗号化方式によって決まります。
リモート認証を選択すると、外部LDAPサーバに属するすべてのユーザに対してリモート認証が行われるようになります。また、FirstClassサーバに属するユーザの認証は、FirstClassサーバで行われるようになります。
リモートでFirstClassディレクトリサービスに接続する場合は、FirstClassディレクトリサービスで匿名ログインとセキュア接続(SSL)のどちらかまたは両方を利用するように設定できます。
注意
[接続設定]フォームで[ユーザ認証時にFirstClassセキュア認証のみを使用]を選択すると、ユーザは特定の接続に対してリモート認証を無効にできます。
副管理者は、リモート認証が行われている場合でも、リモートでは認証されません。
LDAP BIND認証
LDAP BIINDを使用してリモート認証を行う場合は、LDAP検索フィルタを指定できます。指定すると、フィルタの要件を満たすユーザだけが認証されるようになります。
外部LDAPサーバのルートDN(ルート識別名)がFirstClassサーバのルートDNと異なる場合は、外部LDAPサーバで使用されているルートDNも利用できます。FirstClassディレクトリサービスは、このルートDN(ルート識別名)を使用してユーザのDNを作成し、外部LDAPサーバ上で認証を行います。
ユーザ複製モード
ディレクトリのルートDN(ルート識別名)または認証ルートDNが、すべてのユーザの証明書を保存している外部LDAPサーバのDNと一致する場合、LDAP BIND認証ではLDAP BIND認証だけを使用できます。
認証のみモード
LDAP BIND認証方式の1つを認証のみモードで使用する場合、LDAP BINDのDN(識別名)は、ディレクトリのルートDN(LDAP BIND)または認証ルートDN(認証ルートDNへのLDAP BIND)をユーザIDに付加した名前になります。
FirstClassログインチケットの利用
LDAPクライアントでは、以下のようなASN.1の記述方法でこのBINDコマンドを実行して、FirstClassのログインチケットを要求できます。
SEQUENCE
{ messid INTEGER,
APPLICATION [0]
SEQUENCE
{ version INTEGER (1 ..127), - LDAP version [must be 3]
name LDAPDN, - user DN
sasl [3] SEQUENCE - authentication method:must be 3 [SASL]
{ sasl mechanism LDAPString, - authentication mechanism: "FC-SIMPLE"
sasl credentials OCTET STRING - contains user DN password
}
}
}
チケットを含むFirstClassディレクトリサービスの返信メッセージは、以下のように ASN.1で:記述されます。
SEQUENCE
{ messid INTEGER,
APPLICATION [0]
{ retCode ENUM, - return code [0-success]
matchedDN OCTET STRING - empty
errorMsg OCTET STRING - empty
sasl ticket [7] OCTET STRING - FC ticket [null terminated string]
}
}
このチケットを使用してFirstClassにログインするには、LDAPクライアントで:以下のようにASN.1でこのBINDコマンドを実行する必要があります。
SEQUENCE
{ messid INTEGER,
APPLICATION [0]
SEQUENCE
{ version INTEGER (1 ..127), - LDAP version [must be 3]
name LDAPDN, - user DN [not required]
sasl [3] SEQUENCE - authentication method:must be 3 [SASL]
{ sasl mechanism LDAPString, - authentication mechanism: "FC-TICKET"
sasl credentials OCTET STRING - contains FC ticket
}
}
}
パスワードと認証
FirstClassクライアントでは、プレーンテキストのパスワードか、またはMD5やSHAハッシュアルゴリズムを使用して暗号化したパスワードを利用できます。
リモート認証を行う場合、FirstClassディレクトリサービスは常にプレーンテキストのパスワードを外部LDAPサーバに渡します。FirstClassディレクトリサービスがパスワード情報をプレーンテキスト形式で外部LDAPサーバに渡せるようにするため、ユーザはログインのたびにパスワードを入力する必要があります。ユーザが設定ファイル内にパスワードを保存することはできません。これは、FirstClassクライアントが保存するパスワードはハッシュ化されており、FirstClassディレクトリサービスにとって必要なプレーンテキスト形式に変換できないためです。ただし、ユーザIDを保存することは可能で、このユーザIDと入力したパスワードがプレーンテキスト形式で送信されます。
FirstClassディレクトリサービスでは、証明書による認証のためにプレーンテキストのユーザIDとパスワードが必要となるため、リモート認証を行う場合にはMD5ハッシュによるログインを無効にする必要があります。
ローカル認証とリモート認証の比較
FirstClassディレクトリサービスが初めてLDAPツリーを作成した時点では、ユーザが外部LDAPサーバから同期されたユーザなのか、元からFirstClassに登録されているユーザなのかはわかりません。そのため、この時点ではすべてのユーザが(FirstClassサーバに属している)ローカルユーザとみなされます。外部LDAPサーバとの完全同期が行われると、同期されたユーザはリモートユーザとして認識されます。
認証動作は、ローカルユーザとリモートユーザとでは異なります。ローカルユーザはすべてFirstClassサーバで認証されます。リモートユーザの場合は以下のようになります。
FirstClassディレクトリサービス |
動作 |
認証 |
結果 |
存在する |
FirstClassディレクトリサービスは、FirstClassサーバから送られた証明書を受け取り、外部LDAPサーバに送ります。 |
しない |
外部LDAPサーバだけが認証を行えるため、FirstClassディレクトリサービスは認証要求を拒否します。 |
|
|
する |
ログインできます。 |
存在しない |
FirstClassディレクトリサービスは認証に関与しません。FirstClassサーバが、ユーザの最後のログイン時に認証されたパスワードを使用してログイン認証を行います。 |
FirstClassディレクトリサービスとActive Directoryの利用
MicrosoftのActive Directoryを使用する場合は、Active Directoryに登録されているすべてのユーザのパスワードの管理、暗号化、保存、および認証を行う必要があります。これは、Active DirectoryがパスワードをFirstClassディレクトリに複製しないためです。
注意
副管理者のアカウントをActive Directoryで認証することはできません。
ユーザIDとパスワードだけを利用した認証
Active Directoryでは、ユーザIDとパスワードだけで認証を実行できます。この機能に対応したFirstClassディレクトリサービスのコンポーネントは、LDAPを利用していません。したがって、
・FirstClassディレクトリとActive Directoryとの間で複製や同期を行う必要はありません。
注意
ディレクトリの完全同期を行わない場合、FirstClassディレクトリサービス側では、ユーザがFirstClassサーバとActive Directoryのどちらに属しているのかわかりません。この場合、リモート認証に失敗すると、FirstClassサーバはローカル証明書を探します。
・ルートDN(ルート識別名)は、FirstClassサーバとActive Directoryで同じある必要はありません。
ただし、FirstClassサーバに登録されているユーザIDとパスワードの情報が、Active Directoryの証明書と一致している必要があります。
この種のリモート認証を有効にするには、[ディレクトリサービス設定]フォームの[認証]タブにある[認証方法]フィールドで、「Active Directoryのログイン」を選択します。
FirstClassディレクトリサービスとiPlanet Directory Serverの利用
Sun Microsystems社のiPlanet Directory Serverでは、パスワードをプレーンテキストまたは暗号化形式で保存できます。パスワードは、保存した形式と同じ形式でFirstClassディレクトリに複製されます。
パスワードの種類 |
認証動作 |
プレーンテキスト |
・FirstClassサーバでログイン認証を実行できます。 または ・FirstClassディレクトリサービスで、ユーザIDとパスワードをiPlanet Directory Serverに送信して認証を実行できます。 |
暗号化テキスト |
iPlanet Directory Serverでログイン認証を行う必要があります。 |
|