Windows ログオン前に常時接続の VPN を構成する
このセクションでは、詳細ポリシーを使用して Windows ログオンの前に Always On VPN を構成するための詳細をキャプチャします。
前提条件
- NetScaler Gateway および VPN プラグインのバージョンは 13.0.41.20 以降である必要があります。
- このソリューションが機能するには、NetScaler Advanced Edition以上が必要です。
- この機能は、高度なポリシーを使用してのみ設定できます。
- VPN 仮想サーバーが稼働している必要があります。
大まかな設定手順
Windows ログオン前の常時接続 VPN の構成には 、次の大まかな手順が含まれます。
- マシンレベルトンネルのセットアップ
- ユーザーレベルトンネルのセットアップ (オプション)
- ユーザー認証を有効にする
- VPN 仮想サーバーを構成し、CA 証明書をインストールし、証明書キーを仮想サーバーにバインドします。
- 認証プロファイルを作成する
- 認証仮想サーバーを作成する
- 認証ポリシーの作成
- ポリシーを認証プロファイルにバインドします。
マシンレベルトンネル
デバイス証明書をIDとして使用して、NetScaler Gateway に向けてマシンレベルのトンネルが確立されます。デバイス証明書は、クライアントマシンのマシンストアの下にインストールする必要があります。これは、[Windows ログオン前に常にオン] サービスにのみ適用されます。
デバイス証明書について詳しくは、 認証にデバイス証明書を使用するを参照してください。
重要:
NetScaler Gateway アプライアンスのVPN仮想サーバーが非標準ポート(443以外)で構成されている場合、マシンレベルのトンネルは意図したとおりに機能しません。
デバイス証明書を使用してマシンレベルトンネルをセットアップする
GUI を使用したデバイス証明書ベースの認証設定
- [ 構成 ]タブで、[ NetScaler Gateway]>[仮想サーバー]に移動します。
- NetScaler Gateway 仮想サーバーページで、既存の仮想サーバーを選択し、「編集」をクリックします。
-
「 証明書」で、「 CA 証明書」をクリックします。
-
「 CA 証明書のバインド 」ページで、「 CA 証明書の選択」 フィールドの横にある「 追加 」をクリックし、必要な情報を更新して、「 インストール」をクリックします。
-
VPN 仮想サーバーページで 、編集アイコンをクリックします。
-
[ 基本設定] セクションで、[ 詳細] をクリックします。
-
「 デバイス証明書用 CA 」セクションの横にある「 追加」をクリックし、「OK」をクリックします。
注:「 デバイス証明書を有効にする 」チェックボックスは選択しないでください。
-
CA 証明書を仮想サーバーにバインドするには、[証明書] セクションの [ CA **証明書** ] をクリックします。[ SSL 仮想サーバ CA **証明書のバインド] ページで [バインドの追加** ] をクリックします。
注:
- デバイス証明書のサブジェクトの共通名 (CN) フィールドは空にできません。デバイスが空の CN デバイス証明書でログインしようとすると、VPN セッションはユーザ名が「anonymous」として作成されます。IIP では、複数のセッションが同じユーザー名を持つ場合、以前のセッションは切断されます。したがって、IIP を有効にすると、共通名が空であるため、機能への影響に気付くでしょう。
- クライアントに発行されたデバイス証明書に署名できる可能性のあるすべての CA 証明書(ルートおよび中間)は、手順 4 および 5 の [ デバイス証明書の CA ] セクションと、仮想サーバの [ CA 証明書のバインド] セクションの下にバインドする必要があります 。CA 証明書を中間/下位とリンクする方法の詳細については、「 証明書のインストール、リンク、および更新」を参照してください。
- 複数のデバイス証明書が設定されている場合、有効期限が最も長い証明書が VPN 接続に対して試行されます。この証明書で EPA スキャンが正常に許可されると、VPN 接続が確立されます。この証明書がスキャンプロセスで失敗すると、次の証明書が使用されます。このプロセスは、すべての証明書が試行されるまで続きます。
-
CA 証明書バインディングページで 、証明書を選択します。
-
[Bind] をクリックします。
- 認証仮想サーバーを作成します。
- 「 VPN仮想サーバー 」ページで、「 詳細設定」>「認証プロファイル 」に移動し、「 追加」をクリックします。
- 「 認証プロファイルの作成 」ページで、認証プロファイルに名前を割り当て、「 作成」をクリックします。
- 認証仮想サーバーページで 、認証仮想サーバーに名前を割り当てます。 IP アドレスの種類を「 アドレス指定不可」として選択し、 「OK」をクリックします。
注:
認証仮想サーバーは常にDOWN状態のままです。
- 認証ポリシーを作成します。
- [ セキュリティ] > [AAA アプリケーショントラフィック] > [認証仮想サーバ] ページの [ 高度な認証ポリシー ] セクションで、認証ポリシーを選択し、[ バインドの追加] をクリックします。
- 「 ポリシー・バインディング 」ページで、「 ポリシーの選択 」フィールドの横にある「 **追加** 」をクリックします。
- 「 認証ポリシーの作成 」ページで。
- 詳細認証ポリシーに名前を割り当てます。
- [ アクションタイプ ] リストから [ EPA ] を選択します。
- [ アクション ] の横にある [ 追加] をクリックします。
- [認証 EPA アクションの作成] ページで、
- EPA アクションに名前を割り当てます。
- [ 式 ]
sys.client_expr("device-cert_0_0")
フィールドにと入力します。 -
[Create] をクリックします。
- 「 認証ポリシーの作成 」ページで、
- 認証ポリシーに名前を割り当てます。
- [ 式 ] フィールドに is_aoservice と入力します。
-
[Create] をクリックします。
- [ポリシーのバインド] ページで、[ 優先度 ] に 100 と入力し、[ バインド] をクリックします。
CLI を使用したデバイス証明書ベースの認証設定
-
VPN 仮想サーバーに CA 証明書をインストールします。
add ssl certkey ckp -cert t_CA.cer <!--NeedCopy-->
-
CA 証明書を VPN 仮想サーバーにバインドします。
bind ssl vserver <vServerName> -certkeyName <string> -ocspCheck ( Mandatory | Optional ) <!--NeedCopy-->
例
bind ssl vserver TestClient -CertkeyName ag51.xm.nsi.test.com -CA -ocspCheck Mandatory <!--NeedCopy-->
-
認証仮想サーバーを追加します。
add authentication authnProfile <name> {-authnVsName <string>} <!--NeedCopy-->
例
add authentication authnProfile always_on -authnVsName always_on_auth_server <!--NeedCopy-->
-
認証 EPA アクションを作成します。
add authentication epaAction <name> -csecexpr <expression> <!--NeedCopy-->
Example
``` add authentication epaAction epa-act -csecexpr
sys.client_expr("device-cert_0_0")
-defaultgroup epa_pass ``` -
認証ポリシーを作成する
add authentication Policy <name> -rule <expression> -action <string>
例:
add authentication Policy always_on_epa_auth -rule is_aoservice -action epa_auth
重要:
これで、マシンレベルのトンネルの設定は完了です。Windows ログオン後にユーザーレベルトンネルを設定するには、「 ユーザーレベルトンネル」のセクションを参照してください。
クライアントマシンでは、デバイス証明書は.pfx 形式です。Windows では.pfx 形式が認識されるため、.pfx 証明書は Windows マシンにインストールされます。このファイルには、証明書ファイルとキーファイルが含まれています。この証明書は、仮想サーバにバインドされているドメインと同じである必要があります。.pfx とサーバーの証明書とキーは、クライアント証明書ウィザードを使用して生成できます。これらの証明書を認証局で使用して、サーバー証明書とドメインを含むそれぞれの.pfx を生成できます。証明書.pfx は、コンピューターアカウントの個人用フォルダーにインストールされます。
show aaa session
コマンドは、NetScaler ADCアプライアンス上のデバイストンネルを表示します。
ユーザーレベルトンネル
GUI を使用してマシンレベルのトンネルをユーザーレベルのトンネルに置き換える
注: 式is_aoservice.not
は、NetScaler Gateway バージョン13.0.41.20以降から適用できます。
- ユーザー認証のポリシーを構成します。
- [ NetScaler Gateway] > [仮想サーバー ] に移動し、仮想サーバーを選択します。
- [ 詳細設定] で、[ 認証プロファイル] をクリックします。
- 認証プロファイルを設定します。
- [ 構成] > [セキュリティ] > [AAA アプリケーショントラフィック] > [認証仮想サーバー ] ページで、認証ポリシーを選択します。
-
[アクションの選択] で [ バインドの編集] をクリックし、ポリシーバインドの [ GoTo 式 ] を [ END ] ではなく [ NEXT 。
-
「 バインド 」をクリックし、「 認証ポリシー 」ページで認証ポリシーを選択し、「 バインドの追加」をクリックします。
-
[ポリシーのバインド] ページで、[ ポリシーの選択 ] の横にある [ 追加] をクリックします。
「 認証ポリシーの作成 」ページで。
- 作成する「認証なし」ポリシーの名前を入力します。
- アクションタイプを No_Authnとして選択します。
- [ 式 ] フィールドに is_aoservice.NOT と入力します。
- [Create] をクリックします。
-
「アクションを選択」で、「 バインドの編集」をクリックします。
- [ポリシーのバインド] ページで、[ 優先度 ] に 110と入力します。[ 次の係数の選択] の横にある [追加] をクリックします。
- [認証ポリシーラベル] ページで、ポリシーラベルのわかりやすい名前を入力し、ログインスキーマを選択して、[ 続行] をクリックします。
- [ポリシーの選択] で、[ 追加 ] をクリックし、LDAP 認証ポリシーを作成します。
- [ 作成] をクリックし、[ バインド] をクリックします。
- [ 完了] をクリックし、 [ バインド] をクリックします。
[認証ポリシー] ページの [ 次の要素 ] 列に、構成済みの次の要素ポリシーが表示されます。
- LDAP ポリシーを認証ポリシーの次の要素として設定できます。
- [認証ポリシーの作成] ページで、LDAP ポリシーの名前を入力します。
- [ アクションタイプ ] として [ LDAP] を選択します
- 設定済みの LDAP アクションとして Action を入力します。
注:
- ログインスキーマ XML ファイルの作成については、「 ログインスキーマ XML ファイル」を参照してください。
- ポリシーラベルの作成については、 ポリシーラベルの認証を参照してください。
- LDAP 認証ポリシーの作成については、「構成ユーティリティを使用してLDAP認証を構成するには」を参照してください。
CLI を使用してマシンレベルトンネルをユーザーレベルトンネルに置き換える
-
ポリシーを認証仮想サーバにバインドする
bind authentication vserver <name> -policy <name> -priority <positive_integer> -gotoPriorityExpression <expression>
例
bind authentication vserver alwayson-auth-vserver -policy alwayson-auth-pol -priority 100 -gotoPriorityExpression NEXT
-
アクションを
NO_AUTH
と式is_aoservice.not,
として持つ認証ポリシーを追加し、ポリシーにバインドします。add authentication Policy <name> -rule <expression> -action <string> bind authentication vserver <name> -policy <name> -priority <positive_integer> -gotoPriorityExpression <expression>
例
add authentication Policy alwayson-usertunnel-pol -rule is_aoservice.not -action NO_AUTHN bind authentication vserver alwayson-auth-vserver -policy alwayson-usertunnel-pol -priority 110
-
次の要素を追加し、ポリシーラベルを次の要素にバインドします。
add authentication policylabel <labelName> -loginSchema <string> bind authentication policylabel <string> -policyName <string> -priority <positive_integer> -gotoPriorityExpression <expression> -nextFactor <string>
例
add authentication policylabel user-tunnel-auth-label -loginSchema singleauth_alwayson bind authentication policylabel user -policyName alwayson-usertunnel-pol -priority 100
-
LDAP ポリシーを設定し、ユーザトンネルポリシーラベルにバインドします。
add authentication policy <name> -rule <expression> -action <string> bind authentication vserver <vserver_name> -policy <string> -priorit < positive integer> gotoPriorityExpression <string>
例
add authentication Policy LDAP_new -rule true -action LDAP_new bind authentication policylabel user-tunnel-auth-label -policyName LDAP_new -priority 100 -gotoPriorityExpression NEXT
クライアント側の設定
AlwaysOn, locationDetection, and suffixList registries
はオプションで、位置検出機能が必要な場合にのみ必要です。
レジストリキーエントリにアクセスするには、Computer>HKEY_LOCAL_MACHINE>SOFTWARE>Citrix>Secure Access Clientのパスに移動します。
レジストリキー | レジストリタイプ | 値と説明 |
---|---|---|
AlwaysOnService | REG_DWORD | 1 => マシンレベルのトンネルを確立するが、ユーザーレベルのトンネルは確立しない。2 => マシンレベルのトンネルとユーザーレベルのトンネルを確立する |
AlwaysOnURL | REG SZ | ユーザーが接続するNetScaler Gateway 仮想サーバーのURL。例: https://xyz.companyDomain.com 重要: 1 つの URL だけがマシンレベルのトンネルとユーザーレベルのトンネルを担当します。alwaysOnUrl レジストリは、サービスレベルコンポーネントとユーザーレベルのコンポーネントの両方が動作し、設計に基づいて別のトンネル、つまりマシンレベルのトンネルとユーザーレベルのトンネルを接続するのに役立ちます |
AlwaysOn | REG_DWORD | 1 => VPN 障害時にネットワークアクセスを許可する、2=> VPN 障害時にネットワークアクセスをブロックする |
AlwaysOnAllowlist | REG_SZ | マシンが厳密モードで実行されている間にホワイトリストに登録する必要がある IP アドレスまたは FQDN のセミコロン区切りのリスト。例: 8.8.8.8;linkedin.com
|
UserCertCAList | REG_SZ | カンマまたはセミコロンで区切られたルート CA 名のリスト。証明書の発行者名です。Always On サービスのコンテキストで使用され、カスタマーはクライアント証明書の選択元となる CA のリストを指定できます。例: cgwsanity.net;xyz.gov.in
|
locationDetection | REG_DWORD | 1 => 位置検出を有効にするには、0 => 位置検出を無効にする |
suffixList | REG SZ | セミコロンで区切られたドメインのリストで、位置検出が有効になっているときにいつでもマシンがイントラネット上にあるかどうかを確認する役割を果たします。Example: citrite.net,cgwsanity.net
|
これらのレジストリエントリの詳細については、「 Always On」を参照してください。
注:
常時接続サービスが構成されている場合、NetScaler Gateway仮想サーバーまたはNetScaler上で構成された常時接続プロファイルはクライアント側では無視されます。そのため、Always On サービスを設定するときは、必ず
locationDetection
VPN レジストリとAlwaysOn
VPN レジストリも有効にしてください。 ```