クライアント証明書と LDAP の 2 要素認証の設定
LDAP でのスマートカード認証の使用など、LDAP 認証および承認でセキュアクライアント証明書を使用できます。ユーザーがログオンすると、クライアント証明書からユーザー名が抽出されます。クライアント証明書は認証のプライマリ形式で、LDAP はセカンダリ形式です。クライアント証明書認証は、LDAP 認証ポリシーよりも優先される必要があります。ポリシーのプライオリティを設定する場合、クライアント証明書認証ポリシーには、LDAP 認証ポリシーに割り当てる番号よりも小さい番号を割り当てます。
クライアント証明書を使用するには、Windows Server 2008 の証明書サービスなどのエンタープライズ認証局 (CA) が、Active Directory を実行しているのと同じコンピューターで実行されている必要があります。CA を使用してクライアント証明書を作成できます。
LDAP 認証および承認でクライアント証明書を使用するには、SSL(Secure Sockets Layer)を使用するセキュアな証明書である必要があります。LDAPでセキュアクライアント証明書を使用するには、クライアント証明書をユーザーデバイスにインストールし、対応するルート証明書をNetScaler Gateway にインストールします。
クライアント証明書を設定する前に、次の操作を行います。
- 仮想サーバーを作成します。
- LDAP サーバの LDAP 認証ポリシーを作成します。
- LDAP ポリシーの式を True 値に設定します。
LDAP を使用したクライアント証明書認証を構成するには
- 構成ユーティリティの[構成]タブで、[ NetScaler Gateway]>[ポリシー]>[認証]の順に展開します。
- ナビゲーションペインの [認証] で、[証明書] をクリックします。
- 詳細ペインで、[Add] をクリックします。
- [名前] に、ポリシーの名前を入力します。
- [認証の種類] で、[証明書] を選択します。
- 「 サーバー」の横にある「 新規」をクリックします。
- [名前] にサーバーの名前を入力し、[作成] をクリックします。
- [認証サーバーの作成] ダイアログボックスの [名前] に、サーバーの名前を入力します。
- [2 因子] の横にある [オン] を選択します。
- [ユーザー名] フィールドで、[件名:CN] を選択し、[作成] をクリックします。
- [認証ポリシーの作成] ダイアログボックスで、[名前付き式] の横にある [True value] を選択し、[式の追加]、[作成]、[閉じる] の順にクリックします。
証明書認証ポリシーを作成したら、ポリシーを仮想サーバーにバインドします。証明書認証ポリシーをバインドした後、LDAP 認証ポリシーを仮想サーバーにバインドします。
重要:LDAP認証ポリシーを仮想サーバーにバインドする前に、証明書認証ポリシーを仮想サーバーにバインドする必要があります。
NetScaler Gatewayにルート証明書をインストールするには
証明書認証ポリシーを作成したら、CA から Base64 形式でルート証明書をダウンロードしてインストールし、コンピュータに保存します。その後、ルート証明書をNetScaler Gateway にアップロードできます。
- 構成ユーティリティの [構成] タブのナビゲーションウィンドウで、[SSL] を展開し、[証明書] をクリックします。
- 詳細ペインで、[Install]をクリックします。
- [証明書-キーペア名] に、証明書の名前を入力します。
- 「証明書ファイル名」で「参照」をクリックし、リストから「アプライアンス」または「ローカル」を選択します。
- ルート証明書に移動し、[開く]、[インストール] の順にクリックします。
ルート証明書を仮想サーバーに追加するには
NetScaler Gateway にルート証明書をインストールしたら、仮想サーバーの証明書ストアに証明書を追加します。
重要:スマートカード認証のためにルート証明書を仮想サーバーに追加する場合は、次の図に示すように、 [CA 証明書の選択] リストボックスから証明書を選択する必要があります。
図1:ルート証明書を CA として追加する
-
構成ユーティリティの[構成]タブのナビゲーションペインで、[ NetScaler Gateway ]を展開し、[ 仮想サーバー]をクリックします。
-
詳細ペインで仮想サーバーを選択し、[ 開く] をクリックします。
-
[証明書]タブの[使用可能]で証明書を選択し、[追加]の横の一覧で[CA]をクリックし、[OK]をクリックします。
-
ステップ 2 を繰り返します。
-
[証明書] タブで、[SSL パラメーター] をクリックします。
-
[その他] で、[クライアント認証] を選択します。
-
[その他]の[クライアント証明書]の横にある[オプション]を選択し、[OK]を 2 回クリックします。
-
クライアント証明書を構成したら、Citrix Secure Accessクライアントを使用してNetScaler Gatewayにログオンして認証をテストします。複数の証明書がインストールされている場合は、正しい証明書を選択するように求めるプロンプトが表示されます。証明書を選択すると、ログオン画面が表示され、証明書から取得した情報が入力されたユーザー名が表示されます。パスワードを入力し、[ログイン] をクリックします。
ログオン画面の [User Name] フィールドに正しいユーザ名が表示されない場合は、LDAP ディレクトリ内のユーザアカウントとグループを確認します。NetScaler Gateway で定義されているグループは、LDAPディレクトリのグループと同じである必要があります。Active Directory で、ドメインルートレベルでグループを構成します。ドメインルートレベルにない Active Directory グループを作成すると、クライアント証明書が正しく読み取られないことがあります。
ユーザーおよびグループがドメインルートレベルにない場合、NetScaler Gateway のログオンページには、Active Directory で構成されているユーザー名が表示されます。たとえば、Active Directory に「ユーザー」という名前のフォルダーがあり、証明書には CN=Users と記載されています。ログオンページの [ユーザー名] に [ユーザー] という単語が表示されます。
グループおよびユーザーアカウントをルートドメインレベルに移動しない場合は、NetScaler Gateway で証明書認証サーバーを構成するときに、[ユーザー名]フィールドと[グループ名]フィールドを空白のままにします。