この節では、Proxy Server がクライアント証明書を LDAP ディレクトリ内のエントリにマップするために使用するプロセスについて説明します。LDAP にクライアント証明書をマッピングする前に、必要な ACL も設定しておく必要があります。詳細は、第 8 章サーバーへのアクセス制御を参照してください。
サーバーがクライアントから要求を受信すると、処理を進める前にサーバーはクライアントの証明書を求めます。一部のクライアントは、要求と一緒にクライアント証明書をサーバーに送信します。
サーバーは、管理サーバーの信頼された CA リストとその証明書の発行元である CA を照合します。一致しない場合、Proxy Server は接続を終了します。一致した場合、サーバーは要求の処理を続行します。
証明書が信頼された CA からのものであることを確認したあと、サーバーは、次の方法で LDAP エントリにその証明書をマップします。
クライアント証明書の発行者とサブジェクト DN を LDAP ディレクトリ内の分岐点にマップします。
クライアント証明書のサブジェクト (エンドユーザー) に関する情報と一致するエントリがないか LDAP ディレクトリを検索します。
(オプション) DN に対応する LDAP エントリ内のクライアント証明書とそのクライアント証明書を検証します。
サーバーは、certmap.conf と呼ばれる証明書マッピングファイルを使用して LDAP 検索の実行方法を決定します。このマッピングファイルは、クライアント証明書から取得する値 (エンドユーザー名、電子メールアドレスなど) をサーバーに指示します。サーバーは、これらの値を使用して LDAP ディレクトリ内にユーザーエントリがないか検索しますが、はじめに、LDAP ディレクトリ内のどこから検索を開始するかを決定する必要があります。証明書マッピングファイルは、開始する場所もサーバーに指示します。
サーバーに、検索を開始する場所および検索する内容が通知されると、LDAP ディレクトリ内で検索を実行します (2 つ目の項目)。一致するエントリがない、または一致するエントリがあってもマッピングが証明書を検証するように設定されていない場合、検索は失敗します。
次の表は、予期される検索結果の動作を示しています。予期される動作は、ACL で指定できます。たとえば、証明書の照合に失敗した場合、自分だけは Proxy Server に受け入れられるように指定できます。ACL の詳細設定については、「アクセス制御ファイルの使用」を参照してください。
表 5–1 LDAP 検索結果
LDAP 検索結果 |
証明書の検証がオン |
証明書の検証がオフ |
---|---|---|
検出されたエントリなし |
認証失敗 |
認証失敗 |
検出されたエントリが 1 つのみ |
認証失敗 |
認証成功 |
検出されたエントリが複数 |
認証失敗 |
認証失敗 |
サーバーが LDAP ディレクトリ内で一致するエントリと証明書を検出したあと、サーバーはその情報を使用してトランザクションを処理できます。たとえば、一部のサーバーでは、サーバーへのアクセスを判断するのに証明書 - LDAP 間マップを使用します。