9.8. 証明書ベースのクライアント認証の使用
Directory Server は、LDAP クライアントの証明書ベースの認証と、レプリケーションなどのサーバー間接続をサポートします。
証明書ベースの認証を有効にしている場合は、設定によっては、クライアントが証明書を使用して認証したり、認証する必要があります。証明書を検証した後に、サーバーは証明書の subject フィールドの属性に基づいて、ディレクトリー内のユーザーを検索します。検索でユーザーエントリーを 1 つだけ返すと、Directory Server はこのユーザーを使用してすべての操作を行います。必要に応じて、認証に使用される証明書を、ユーザーの
userCertificate 属性に保存されている Distinguished Encoding Rules(DER)形式の証明書と一致するように設定できます。
証明書ベースの認証を使用する利点:
- 効率が改善されました。証明書データベースのパスワードに一度要求されたアプリケーションを使用し、その証明書を後続のバインドまたは認証操作に使用すると、バインド DN およびパスワードを継続的に提供するよりも効率的です。
- セキュリティーが改善されました。証明書ベースの認証は、証明書ベースの認証では公開鍵の暗号化が使用されるため、証明書以外のバインド操作よりも安全です。バインド認証情報はネットワーク全体で傍受することはできません。証明書やデバイスが失われた場合は、PIN なしで使用しないため、フィッシング攻撃などのサードパーティーの干渉の影響を受けません。
9.8.1. 証明書ベースの認証の設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
証明書ベースの認証を有効にするには、以下を行います。
- 暗号化された接続を有効にします。詳細は「TLS の有効化」を参照してください。
- CA 証明書をインストールし、クライアントとサーバーの接続の信頼オプションを設定します。「CA 証明書のインストール」を参照してください。
- 必要に応じて、クライアントおよびサーバーの CT,, 信頼オプションが CA 証明書に設定されていることを確認します。
certutil -d /etc/dirsrv/slapd-instance_name/ -L
# certutil -d /etc/dirsrv/slapd-instance_name/ -L Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI Example CA CT,,Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/dirsrv/slapd-instance_name/certmap.confファイルを作成し、証明書から Directory Server ユーザーへ情報をマッピングします。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow これは、この発行者にはDNCompsパラメーターが空に設定されているため、o=Example Inc.,c=US 発行者識別名 (DN) セットを持つ証明書を使用するユーザーを認証するため、Directory Server が証明書のサブジェクトからベース DN を生成しないように設定されています。また、FilterCompsおよびVerifyCertの設定も、デフォルトのエントリーから継承されます。指定の証明書とは異なる発行者 DN を持つ証明書は default エントリーの設定を使用し、証明書のサブジェクトのcn属性に基づいてベース DN を生成します。これにより、ディレクトリー全体を検索せずに、Directory Server が特定の DN で検索を開始できます。すべての証明書について、Directory Server は、証明書のサブジェクトのmail属性およびcn属性を使用して検索フィルターを生成します。ただし、mailがサブジェクトに存在しない場合は、Directory Server はサブジェクトで証明書のe属性の値を自動的に使用します。利用可能なパラメーターの詳細と説明は、Red 『Hat Directory Server の設定、コマンド、およびファイルリファレンス のcertmap.confファイルの説明を参照してください』。- クライアント認証を有効にします。たとえば、クライアント認証を任意に設定するには、以下を実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、nsSSLClientAuthパラメーターを required に設定して、クライアントが認証に使用する必要のある証明書を設定します。重要Directory Server コンソールは、クライアント認証に対応していません。nsSSLClientAuthを required に設定すると、コンソールを使用してインスタンスを管理することはできません。 /etc/dirsrv/slapd-instance_name/certmap.confファイルで alias_name:VerifyCert on を設定して、認証証明書がユーザーのuserCertificate属性に保存されている証明書と一致する必要がある場合は、その証明書をユーザーエントリーに追加します。「ユーザーへの証明書の追加」を参照してください。