Windows ログオン前に常時接続の VPN を構成する
このセクションでは、詳細ポリシーを使用して Windows ログオンの前に Always On VPN を構成するための詳細をキャプチャします。
前提条件
- NetScaler Gateway および VPN プラグインのバージョンは 13.0.41.20 以降である必要があります。
- ソリューションが機能するには、NetScaler ADC Advanced Edition以上が必要です。
- この機能は、高度なポリシーを使用してのみ設定できます。
- VPN 仮想サーバーが稼働している必要があります。
大まかな設定手順
Windows ログオン前の常時接続 VPN の構成には 、次の大まかな手順が含まれます。
- マシンレベルトンネルのセットアップ
- ユーザーレベルトンネルのセットアップ (オプション)
- ユーザー認証を有効にする
- VPN 仮想サーバを設定し、証明書キーを仮想サーバにバインドします。
- 認証プロファイルを作成する
- 認証仮想サーバーを作成する
- 認証ポリシーの作成
- ポリシーを認証プロファイルにバインドします。
マシンレベルトンネル
デバイス証明書をIDとして使用して、NetScaler Gateway に向けてマシンレベルのトンネルが確立されます。デバイス証明書は、クライアントマシンのマシンストアの下にインストールする必要があります。これは、[Windows ログオン前に常にオン] サービスにのみ適用されます。
デバイス証明書について詳しくは、 認証にデバイス証明書を使用するを参照してください。
重要:
NetScaler Gateway アプライアンスのVPN仮想サーバーが非標準ポート(443以外)で構成されている場合、マシンレベルのトンネルは意図したとおりに機能しません。
デバイス証明書を使用してマシンレベルトンネルをセットアップする
GUI を使用したデバイス証明書ベースの認証設定
- 「 構成 」タブで、「 NetScaler Gateway」>「仮想サーバー」に移動します。
- Citrix Gateway 仮想サーバーページで、既存の仮想サーバーを選択し、「 編集」をクリックします。
- 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 状態のままです。
- 認証ポリシーを作成します。
- [高度な認証ポリシー] で、認証ポリシーの内側をクリックします。
- [ポリシーのバインド] ページで、[ ポリシーの選択 ] の横にある [ 追加] をクリックします。
- 「 認証ポリシーの作成 」ページで、
- 事前認証ポリシーの名前を入力します。
- [ アクションタイプ ] リストから [ EPA ] を選択します。
- [ アクション ] の横にある [ 追加] をクリックします。
- [認証 EPA アクションの作成] ページで、
- 作成する EPA アクションの名前を入力します。
- [ 式 ]
sys.client_expr("device-cert_0_0")
フィールドにと入力します。 - [Create] をクリックします。
- 「 認証ポリシーの作成 」ページで、
- 認証ポリシーの名前を入力します。
- [ 式 ] フィールドに is_aoservice と入力します。
- [Create] をクリックします。
-
[ポリシーのバインド] ページで、[ 優先度 ] に 100 と入力し、[ バインド] をクリックします。
CLI を使用したデバイス証明書ベースの認証設定
-
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以降から適用できます。
- ユーザー認証のポリシーを構成します。
- Citix Gateway > 仮想サーバーに移動し 、[ 詳細設定]で[ 認証プロファイル]をクリックします。
- 認証プロファイルを設定します。
- [認証仮想サーバー] ページで、認証ポリシーの内側をクリックします。
-
[アクションの選択] で [ バインドの編集] をクリックし、ポリシーバインドの [ 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 仮想サーバーまたはCitrix ADC で構成された常時接続プロファイルはクライアント側で無視されます。そのため、Always On サービスを設定するときは、必ず
locationDetection
VPN レジストリとAlwaysOn
VPN レジストリも有効にしてください。 ```