LDAP認証
他の種類の認証ポリシーと同様に、ライトウェイトディレクトリアクセスプロトコル (LDAP) 認証ポリシーは式とアクションで構成されます。認証ポリシーを作成したら、それを認証仮想サーバーにバインドし、プライオリティを割り当てます。バインドするときは、プライマリポリシーまたはセカンダリポリシーとして指定します。LDAP では、標準の認証機能に加えて、他の Active Directory (AD) サーバーで、ローカルに存在しないユーザーのユーザーアカウントを検索できます。この機能は、紹介サポートまたは紹介追跡と呼ばれます。
通常、認証時に認証サーバーのIPアドレスを使用するようにNetScalerを構成します。LDAP 認証サーバーでは、IP アドレスの代わりに LDAP サーバーの FQDN を使用してユーザーを認証するように ADC を設定することもできます。FQDN を使用すると、認証サーバが複数の IP アドレスのいずれかにあっても、常に 1 つの FQDN を使用する環境で、より複雑な認証、認可、および監査の設定を簡素化できます。IP アドレスではなくサーバーの FQDN を使用して認証を構成するには、認証アクションの作成時を除き、通常の構成プロセスに従います。アクションを作成するときは、ServerIP パラメータの代わりに ServerNameパラメータを使用し、IP アドレスの代わりにサーバの FQDN を使用します。
LDAP サーバの IP または FQDN を使用してユーザを認証するように ADC を設定する前に、IP アドレスではなく FQDN に対して認証するように認証、承認、および監査を設定すると、認証プロセスに追加の手順が追加されることを考慮してください。ADC はユーザーを認証するたびに、FQDN を解決する必要があります。非常に多くのユーザーが同時に認証を試みると、DNS ルックアップの結果として認証プロセスが遅くなる可能性があります。
LDAP リフェラルサポートはデフォルトで無効になっており、グローバルに有効にすることはできません。LDAP アクションごとに明示的に有効にする必要があります。AD サーバーが、参照 (GC) サーバーで使用されているものと同じbinddn credentials
を受け入れることを確認します。紹介サポートを有効にするには、紹介をフォローするように LDAP アクションを設定し、フォローする紹介の最大数を指定します。
紹介サポートが有効になっていて、NetScalerが要求に対するLDAP_REFERRAL応答を受信すると、認証、承認、および監査は、参照に含まれるActive Directory(AD)サーバーへの参照に従い、そのサーバーで更新を実行します。まず、認証、承認、および監査は DNS 内の参照サーバーを検索し、そのサーバーに接続します。紹介ポリシーで SSL/TLS が必要な場合は、SSL/TLS 経由で接続します。次に、 前のサーバで使用していたbinddn credentials
を使用して新しいサーバにバインドし、参照を生成したオペレーションを実行します。この機能はユーザーには透過的です。
LDAP 接続のポート番号は次のとおりです。
- 389 (セキュリティで保護されていない LDAP 接続の場合) (プレーンテキスト LDAP の場合)
- 636 セキュアな LDAP 接続 (SSL LDAP の場合)
- 3268 (Microsoft のセキュリティで保護されていない LDAP 接続の場合) (プレーンテキストのグローバルカタログサーバー用)
- 3269 (Microsoft セキュリティで保護された LDAP 接続の場合) (SSL グローバルカタログサーバー用)
次の表に、LDAP サーバのユーザ属性フィールドの例を示します。
LDAP サーバ | ユーザー属性 | 大文字と小文字を区別 |
---|---|---|
Microsoft Active Directory サーバー | sAMAccountName | 番号 |
Novell eDirectory | ou | はい |
IBM Directory Server | uid | はい |
Lotus Domino | CN | はい |
Sun ONE ディレクトリ (旧iPlanet) | uidかcn | はい |
次の表に、ベース DN の例を示します。
LDAP サーバ | ベース DN |
---|---|
Microsoft Active Directory サーバー | DC=citrix 、DC=ローカル |
Novell eDirectory | ou=users、ou=dev |
IBM Directory Server | cn=users |
Lotus Domino | OU=City、O=Citrix 、C=US |
Sun ONE ディレクトリ (旧iPlanet) | OU=People、dc=citrix 、dc=com |
次の表に、バインド DN の例を示します。
LDAP サーバ | バインド DN |
---|---|
Microsoft Active Directory サーバー | cn=Administrator、cn=Users、DC=citrix 、DC=local |
Novell eDirectory | cn=admin、o=citrix
|
IBM Directory Server | LDAP_dn |
Lotus Domino | cn=Notes Administrator、O=Citrix 、C=US |
Sun ONE ディレクトリ (旧iPlanet) | uid=admin,ou=Administrators, ou=TopologyManagement,o=NetscapeRoot |
一般的な認証ポリシーの設定の詳細については、「 認証ポリシー」を参照してください。ポリシールールで使用されるNetScaler式の詳細については、「 ポリシーと式」を参照してください。
CLI を使用して LDAP 認証サーバーを作成するには
コマンドプロンプトで、次のコマンドを入力します:
add authentication ldapAction <name> {-serverIP} <ip\_addr|ipv6\_addr|> | {-serverName <string>}}
例
add authentication ldapAction ldap_server -serverip 1.1.1.1 -serverName ldap_test
GUI を使用して LDAP 認証サーバーを作成するには
-
システム > 認証 > 基本ポリシー > LDAP > サーバ > 追加にナビゲートして下さい。
-
[認証 LDAP サーバの作成 ] ページで、LDAP サーバのパラメータを設定します。
-
[作成]をクリックします。
CLI を使用して認証ポリシーを有効にするには
add authentication ldappolicy <name> <rule> [<reqAction>]
例:
add authentication ldappolicy ldap-service-policy ns_true ldap_Server
GUI を使用して LDAP 認証ポリシーを作成するには
-
[ システム] > [認証] > [基本ポリシー] > [LDAP] > [ポリシー] > [追加]に移動します。
-
[認証 LDAP ポリシーの作成 ] ページで、LDAP ポリシーのパラメータを設定します。
-
[作成]をクリックします。
注
LDAP サーバ/ポリシーは、[ セキュリティ ] タブで設定できます。 セキュリティ > AAA-アプリケーショントラフィック > ポリシー > 認証 > 基本ポリシー > LDAP > サーバ/ポリシーに移動します。
CLI を使用して LDAP 参照サポートを有効にするには
コマンドプロンプトで、次のコマンドを入力します:
set authentication ldapAction <name> -followReferrals ON
set authentication ldapAction <name> -maxLDAPReferrals <integer>
<!--NeedCopy-->
例
set authentication ldapAction ldapAction-1 -followReferrals ON
set authentication ldapAction ldapAction-1 -maxLDAPReferrals 2
<!--NeedCopy-->
LDAP ユーザに対するキーベース認証のサポート
キーベース認証では、SSH を使用して LDAP サーバー内のユーザーオブジェクトに格納されている公開キーのリストを取得できるようになりました。ロールベース認証(RBA)プロセス中のNetScalerアプライアンスは、LDAPサーバーから公開SSHキーを抽出する必要があります。取得した公開キーは SSH と互換性があり、RBA メソッドを使用してログインできる必要があります。
「認証の追加 ldapAction」コマンドと「認証の設定 ldapAction」コマンドに新しい属性「sshPublicKey」が導入されました。この属性を使用することで、次のようなメリットが得られます。
- 取得した公開キーを格納でき、LDAP アクションはこの属性を使用して LDAP サーバーから SSH キー情報を取得します。
- 最大 24 KB の属性名を抽出できます。
注
LDAP などの外部認証サーバは、SSH キー情報の取得にのみ使用されます。認証目的では使用されません。
次に、SSH を介したイベントのフローの例を示します。
- SSH デーモンは、パスワードフィールドを空にして AAA_AUTHENTICATE 要求を認証、承認、および監査デーモンポートに送信します。
- LDAP が SSH 公開キーを格納するように設定されている場合、認証、承認、および監査は、他の属性とともに「sshPublicKey」属性で応答します。
- SSH デーモンは、これらのキーをクライアントキーで検証します。
- SSH デーモンはリクエストペイロードでユーザー名を渡し、認証、承認、監査は汎用キーとともにこのユーザーに固有のキーを返します。
sshPublicKey 属性を構成するには、コマンドプロンプトで次のコマンドを入力します。
-
add オペレーションでは、
ldapAction
コマンドの設定中に「sshPublicKey」属性を追加できます。add authentication ldapAction <name> {-serverIP <ip_addr|ipv6_addr|*> | {-serverName <string>}} [-serverPort <port>] … [-Attribute1 <string>] … [-Attribute16 <string>][-sshPublicKey <string>][-authentication off] <!--NeedCopy-->
-
set オペレーションでは、既に追加された LDAPaction コマンドに「sshPublicKey」属性を設定できます。
set authentication ldapAction <name> [-sshPublicKey <string>][-authentication off] <!--NeedCopy-->
LDAP 認証に対する名前と値の属性のサポート
LDAP 認証の属性に、一意の名前と値を設定できるようになりました。名前は LDAP アクションパラメータで設定され、名前はクエリーによって取得されます。この機能を使用することで、NetScalerアプライアンス管理者は次の利点を実現できます。
- 属性を (値だけでなく) 名前で記憶することで、管理者の労力を最小化
- 名前に関連付けられた属性値をクエリーするように検索機能を拡張します。
- 複数の属性を抽出するオプションを提供します。
NetScalerアプライアンスのコマンドプロンプトでこの機能を構成するには、次のように入力します。
add authentication ldapAction <name> [-Attributes <string>]
<!--NeedCopy-->
例
add authentication ldapAction ldapAct1 -attributes "company, mail"
<!--NeedCopy-->
エンドツーエンドの LDAP 認証の検証のサポート
NetScalerアプライアンスは、GUIを介してエンドツーエンドのLDAP認証を検証できるようになりました。この機能を検証するために、GUI に新しい「テスト」ボタンが導入されました。NetScalerアプライアンス管理者は、この機能を使用して次の利点を実現できます。
- フロー全体(パケットエンジン-NetScaler AAAデーモン-外部サーバー)を統合して、より優れた分析を実現
- 個々のシナリオに関連する問題の検証とトラブルシューティングにかかる時間を短縮
GUI を使用して LDAP エンドツーエンド認証のテスト結果を設定および表示するには、2 つのオプションがあります。
[システムから] オプション
- [ システム] > [認証] > [基本ポリシー] > [LDAP] に移動し、 [ サーバー ]
- 使用可能な LDAP アクションをリストから選択します 。
- [認証 LDAP サーバーの構成 ] ページで、[接続設定] セクションまで下にスクロールします。
-
[ ネットワーク接続のテスト ] をクリックして、LDAP サーバ接続を確認します。LDAP サーバへの接続が成功したことを示すポップアップメッセージを、TCP ポートの詳細と有効なクレデンシャルの認証情報とともに表示できます。
- エンドツーエンドの LDAP 認証を表示するには、[ エンドツーエンドログインテスト ] リンクをクリックします。
- [ エンドツーエンドログインテスト ] ページで、[ テスト] をクリックします。
- 認証ページで、有効な認証情報を入力してログインします。成功画面が表示されます。
- 認証に失敗すると、エラー画面が表示されます。
[認証] オプションから
- [ 認証] > [ダッシュボード] に移動し、使用可能な LDAP アクションをリストから選択します。
- [認証 LDAP サーバーの構成 ] ページの [ 接続設定] セクションには、2 つのオプションがあります。
- LDAP サーバ接続を確認するには、[ LDAP 到達可能性のテスト ] タブをクリックします。LDAP サーバへの接続が成功したことを示すポップアップメッセージを、TCP ポートの詳細と有効なクレデンシャルの認証情報とともに表示できます。
- エンドツーエンドの LDAP 認証ステータスを表示するには、[ エンドユーザー接続のテスト ] リンクをクリックします。
-
[ エンドユーザー接続のテスト ] ページで、[ テスト] をクリックします。
- 認証ページで、有効な認証情報を入力してログインします。成功画面が表示されます。
- 認証に失敗すると、エラー画面が表示されます。
LDAP 認証のための 14 日間のパスワード有効期限通知
NetScalerアプライアンスは、LDAPベースの認証で14日間のパスワード有効期限切れ通知をサポートするようになりました。この機能を使用すると、管理者はパスワードの有効期限のしきい値を日単位でエンドユーザに通知できます。14 日間のパスワード期限切れ通知は、セルフサービスパスワードリセット (SSPR) の前兆です。
(注)
パスワード期限切れ通知の最大値またはしきい値(日数)は 255 日です。
パスワード期限切れ通知のメリット
- ユーザーは自分でパスワードをリセットでき、管理者はパスワードの有効期限を日単位でエンドユーザーに柔軟に通知できます。
- エンドユーザーがパスワードの有効期限の追跡に依存する必要がなくなります。
- 有効期限が切れる前にパスワードを変更するようユーザに(日数に基づいて)VPN ポータルページへの通知を送信します。
注
この機能は LDAP ベースの認証方式にのみ適用され、RADIUS または TACACS には適用されません。
14 日間のパスワード通知について
NetScalerアプライアンスは、LDAP認証サーバーから2つの属性(Max-Pwd-Age and Pwd-Last-Set
)を取得します。
- Max-Pwd-Age。この属性は、パスワードが有効になるまでの最大時間を 100 ナノ秒間隔で示します。この値は、パスワードが設定されてからパスワードの有効期限が切れるまでに 100 ナノ秒の間隔を表す大きな整数として格納されます。
- Pwd-Last-Set. この属性は、アカウントのパスワードが最後に変更された日時を決定します。
NetScalerアプライアンスは、LDAP認証サーバーから2つの属性をフェッチすることにより、特定のユーザーのパスワードが期限切れになるまでの残り時間を決定します。この情報は、認証サーバでユーザクレデンシャルが検証され、通知がユーザに返送されるときに収集されます。
新しいパラメータ「pwdExpiryNotification」 がset aaa parameter
コマンドに導入されました。このパラメーターを使用することで、管理者はパスワードの有効期限の残り日数を追跡できます。これで、NetScalerアプライアンスは、パスワードの有効期限に関するエンドユーザーへの通知を開始できます。
注
現在、この機能は、LDAP 実装の Microsoft AD サーバーを持つ認証サーバーでのみ動作します。OpenLDAP ベースのサーバーのサポートは後から対象となります。
14 日間のパスワード期限切れ通知を設定するイベントのフローの例を次に示します。
- 管理者は、NetScalerアプライアンスを使用して、パスワードの有効期限(14日間)を設定します。
- ユーザーは HTTP または HTTPS リクエストを送信して、バックエンドサーバー上のリソースにアクセスします。
- NetScalerアプライアンスは、アクセスを提供する前に、LDAP認証サーバーで構成されているものを使用してユーザー資格情報を検証します。
- NetScalerアプライアンスは、このクエリとともに、2つの属性の詳細を取得するための要求を転送します(
Max-Pwd-Age and Pwd-Last-Set
)。 - パスワードの有効期限が切れるまでの残り時間に基づいて、有効期限の通知が表示されます。
- その後、ユーザは適切なアクションを実行してパスワードを更新します。
コマンドラインインターフェイスを使用して 14 日間の有効期限通知を構成するには
注
14 日間の有効期限の通知は、ICA プロキシではなく、クライアントレス VPN とフル VPN のユースケースに対して構成できます。
コマンドプロンプトで、次のコマンドを入力します:
set aaa parameter –pwdExpiryNotificationDays <positive_integer>
show aaa parameter
<!--NeedCopy-->
例
> set aaa parameter -pwdExpiryNotificationDays 14
Done
> show aaa parameter Configured AAA parameters EnableStaticPageCaching: YES EnableEnhancedAuthFeedback: NO DefaultAuthType: LOCAL MaxAAAUsers: Unlimited AAAD nat ip: None EnableSessionStickiness : NO aaaSessionLoglevel : INFORMATIONAL AAAD Log Level : INFORMATIONAL Dynamic address: OFF
GUI mode: ON
Max Saml Deflate Size: 1024 Password Expiry Notification Days: 14
<!--NeedCopy-->
GUI を使用して 14 日間の有効期限の通知を構成するには
- セキュリティ > AAA-アプリケーショントラフィック > 認証設定に移動します。
- [ 認証 AAA 設定の変更] をクリックします。
-
[AAA パラメータの設定] ページで、[ パスワード有効期限通知 (日)] フィールドに日数を指定します 。
-
「 OK」をクリックします。VPN ポータルページの右上隅に通知が表示されます。