セキュリティキーの管理
注:
この機能は、StoreFront 1912 LTSR CU2以降とともに使用する必要があります。
Secure XML機能は、Citrix ADCおよびCitrix Gatewayリリース12.1以降でのみサポートされます。
この機能を使用すると、承認されたStoreFrontマシンおよびCitrix GatewayマシンのみがCitrix Delivery Controllerと通信できるようになります。この機能を有効にすると、キーが含まれていないすべての要求がブロックされます。この機能を使用して、内部ネットワークの攻撃から保護するセキュリティ層を追加します。
この機能を使用するための一般的なワークフローは次のとおりです:
-
Studioを有効にして機能設定を表示します。
-
サイトの設定を構成します。
-
StoreFrontで設定を構成します。
-
Citrix ADCで設定を構成します。
Studioを有効にして機能設定を表示
デフォルトでは、セキュリティキーの設定はStudioから非表示になっています。Studioでそれらを表示できるようにするには、以下の手順でPowerShell SDKを使用します:
- Citrix Virtual Apps and Desktops PowerShell SDKを実行します。
- コマンドウィンドウで、次のコマンドを実行します:
-
Add-PSSnapIn Citrix*
。このコマンドは、Citrixスナップインを追加します。 Set-ConfigSiteMetadata -Name "Citrix_DesktopStudio_SecurityKeyManagementEnabled" -Value "True"
-
PowerShell SDKについて詳しくは、「SDKおよびAPI」を参照してください。
サイトの設定を構成する
StudioまたはPowerShellを使用して、サイトのセキュリティキー設定を構成できます。
Studioコンソールの使用
-
[Studio]>[設定]>[セキュリティキーの管理] に移動し、[編集] をクリックします。[セキュリティキーの管理] ウィンドウが開きます。
重要:
- 2つのキーを使用できます。XMLポートとSTAポートを介した通信に、同じキーまたは異なるキーを使用できます。一度に1つのキーのみを使用することをお勧めします。未使用のキーは、キーの交換にのみ使用されます。
- 既に使用中のキーを更新するために更新アイコンをクリックしないでください。クリックした場合、サービスが中断されます。
-
更新アイコンをクリックしてキーを生成します。
-
キーが必要な場所を選択します:
-
XMLポート経由の通信にキーが必須とする(StoreFrontのみ)。選択されている場合、XMLポート経由での通信を認証するためにキーを必要とするかを示します。StoreFrontは、このポートを介してCitrix Cloudと通信します。XMLポートの変更について詳しくは、Knowledge CenterのCTX127945を参照してください。
-
STAポート経由の通信にキーが必須とする。選択されている場合、STAポート経由での通信を認証するためにキーを必要とするかを示します。Citrix GatewayおよびStoreFrontは、このポートを介してCitrix Cloudと通信します。STAポートの変更について詳しくは、Knowledge CenterのCTX101988を参照してください。
-
-
[保存] をクリックして変更を適用し、ウィンドウを終了します。
PowerShellの使用
以下は、Studioの操作に相当するPowerShellの手順です。
-
Citrix Virtual Apps and Desktops Remote PowerShell SDKを実行します。
- コマンドウィンドウで、次のコマンドを実行します:
Add-PSSnapIn Citrix*
- 次のコマンドを実行してキーを生成し、Key1を設定します:
New-BrokerXmlServiceKey
Set-BrokerSite -XmlServiceKey1 <the key you generated>
- 次のコマンドを実行してキーを生成し、Key2を設定します:
New-BrokerXmlServiceKey
Set-BrokerSite -XmlServiceKey2 <the key you generated>
- 次のコマンドのいずれかまたは両方を実行して、通信の認証でキーを使用できるようにします:
- XMLポート経由での通信を認証するには、次を実行します:
Set-BrokerSite -RequireXmlServiceKeyForNFuse $true
- STAポート経由での通信を認証するには、次を実行します:
Set-BrokerSite -RequireXmlServiceKeyForSta $true
- XMLポート経由での通信を認証するには、次を実行します:
ガイダンスと構文について詳しくは、PowerShellコマンドのヘルプを参照してください。
StoreFrontでの設定の構成
サイトでの構成が完了したら、PowerShellを使ってStoreFrontで関連する設定を構成する必要があります。
StoreFrontサーバーで、次のPowerShellコマンドを実行します:
XMLポート経由での通信のキーを構成するには、次のコマンドを使用します。 [Set-STFStoreFarm | https://developer-docs.citrix.com/en-us/storefront-powershell-sdk/current-release/Set-STFStoreFarm.html]。例: |
$store = Get-STFStoreService -VirtualPath [Path to store]
$farm = Get-STFStoreFarm -StoreService $store -FarmName [Resource feed name]
Set-STFStoreFarm -Farm $farm -XMLValidationEnabled $true -XMLValidationSecret [secret]
<!--NeedCopy-->
次のパラメーターの適切な値を入力します:
Path to store
Resource feed name
secret
STAポート経由での通信のキーを設定するには、New-STFSecureTicketAuthority
およびSet-STFRoamingGateway
コマンドを使用します。例:
$gateway = Get-STFRoamingGateway -Name [Gateway name]
$sta1 = New-STFSecureTicketAuthority -StaUrl [STA1 URL] -StaValidationEnabled $true -StaValidationSecret [secret]
$sta2 = New-STFSecureTicketAuthority -StaUrl [STA2 URL] -StaValidationEnabled $true -StaValidationSecret [secret]
Set-STFRoamingGateway -Gateway $gateway -SecureTicketAuthorityObjs $sta1,$sta2
<!--NeedCopy-->
次のパラメーターの適切な値を入力します:
Gateway name
STA URL
Secret
ガイダンスと構文について詳しくは、PowerShellコマンドのヘルプを参照してください。
Citrix ADCでの設定の構成
注:
ゲートウェイとしてCitrix ADCを使用しない限り、Citrix ADCでこの機能を構成する必要はありません。Citrix ADCを使用する場合は、以下の手順に従ってください。
-
以下の前提条件の構成が既に設定されていることを確認してください:
- 以下のCitrix ADC関連のIPアドレスが構成されている。
- Citrix ADCコンソールにアクセスするためのCitrix ADC管理IP(NSIP)アドレス。詳しくは、「NSIPアドレスの構成」を参照してください。
- Citrix ADCアプライアンスとバックエンドサーバー間の通信を有効にするためのサブネットIP(SNIP)アドレス。詳しくは、「サブネットIPアドレスの構成」を参照してください。
- ADCアプライアンスにログインしてセッションを起動するためのCitrix Gateway仮想IPアドレスとロードバランサー仮想IPアドレス。詳しくは、「仮想サーバーの作成」を参照してください。
- Citrix ADCアプライアンスで必要なモードと機能が有効である。
- モードを有効にするには、Citrix ADC GUIで [System]>[Settings]>[Configure Mode] の順に移動します。
- 機能を有効にするには、Citrix ADC GUIで [System]>[Settings]>[Configure Basic Features] の順に移動します。
- 証明書関連の構成が完了している。
- 証明書署名要求(CSR:Certificate Signing Request)が作成されていること。詳しくは、「証明書の作成」を参照してください。
- サーバー証明書とCA証明書およびルート証明書がインストールされていること。詳しくは、「インストール、リンク、および更新」を参照してください。
- Citrix Virtual Desktops用にCitrix Gatewayが作成されていること。[Test STA Connectivity] ボタンをクリックして接続をテストし、仮想サーバーがオンラインであることを確認します。詳しくは、「Citrix Virtual Apps and Desktops用のCitrix ADCのセットアップ」を参照してください。
- 以下のCitrix ADC関連のIPアドレスが構成されている。
-
書き換えアクションを追加します。詳しくは、「書き換えアクションの構成」を参照してください。
- [AppExpert]>[Rewrite]>[Actions] の順に移動します。
- [Add] をクリックして、新しい書き換えアクションを追加します。アクションに「set Type to INSERT_HTTP_HEADER」という名前を付けることができます。
- [Type] で、[INSERT_HTTP_HEADER] を選択します。
- [Header Name] に「X-Citrix-XmlServiceKey」と入力します。
-
[Expression] に、引用符付きで「
<XmlServiceKey1 value>
」を追加します。XmlServiceKey1の値は、Desktop Delivery Controllerの構成からコピーできます。
- 書き換えポリシーを追加します。詳しくは、「書き換えポリシーの構成」を参照してください。
-
[AppExpert]>[Rewrite]>[Policies] の順に移動します。
-
[Add] をクリックして、新しいポリシーを追加します。
- [Action] で、前の手順で作成したアクションを選択します。
- [Expression] に、「HTTP.REQ.IS_VALID」を追加します。
- [OK] をクリックします。
-
-
負荷分散を設定します。STAサーバーごとに1つの負荷分散仮想サーバーを構成する必要があります。そうしない場合、セッションの起動が失敗します。
詳しくは、「基本的な負荷分散の設定」を参照してください。
- 負荷分散仮想サーバーを作成します。
- [Traffic Management]>[Load Balancing]>[Servers] の順に移動します。
- [Virtual Servers] ページで [Add] をクリックします。
- [Protocol] で、[HTTP] を選択します。
- 負荷分散仮想IPアドレスを追加し、[Port] で [80] を選択します。
- [OK] をクリックします。
- 負荷分散サービスを作成します。
- [Traffic Management]>[Load Balancing]>[Services] の順に移動します。
- [Existing Server] で、前の手順で作成した仮想サーバーを選択します。
- [Protocol] で [HTTP] を選択し、[Port] で [80] を選択します。
- [OK] をクリックし、[Done] をクリックします。
- サービスを仮想サーバーにバインドします。
- 以前に作成した仮想サーバーを選択し、[Edit] をクリックします。
- [Services and Service Groups] の [No Load Balancing Virtual Server Service Binding] をクリックします。
- [Service Binding] で、前に作成したサービスを選択します。
- [Bind] をクリックします。
- 以前に作成した書き換えポリシーを仮想サーバーにバインドします。
- 以前に作成した仮想サーバーを選択し、[Edit] をクリックします。
- [Advanced Settings] で [Policies] をクリックし、[Policies] セクションで [+] をクリックします。
- [Choose Policy] で [Rewrite] を選択し、[Choose Type] で [Request] を選択します。
- [Continue] をクリックします。
- [Select Policy] で、前に作成した書き換えポリシーを選択します。
- [Bind] をクリックします。
- [完了] をクリックします。
- 必要に応じて、仮想サーバーの永続性を設定します。
- 以前に作成した仮想サーバーを選択し、[Edit] をクリックします。
- [Advanced Settings] で、[Persistence] をクリックします。
- 永続性タイプを [Others] にします。
- 仮想サーバーによって選択されたサービスのIPアドレス(宛先IPアドレス)に基づいて、永続セッションを作成するには、[DESTIP] を選択します。
- [IPv4 Netmask] で、DDCと同じネットワークマスクを追加します。
- [OK] をクリックします。
- 他の仮想サーバーについても、これらの手順を繰り返します。
- 負荷分散仮想サーバーを作成します。
Citrix ADCアプライアンスが既にCitrix Virtual Desktopsにより構成されている場合の構成の変更
Citrix Virtual Desktopsを使用してCitrix ADCアプライアンスを既に構成している場合、Secure XML機能を使用するには、次の構成変更を行う必要があります。
- セッションを起動する前に、ゲートウェイのSecurity Ticket Authority URLを変更して、負荷分散仮想サーバーのFQDN(完全修飾ドメイン名)を使用します。
-
TrustRequestsSentToTheXmlServicePort
パラメーターがFalseに設定されていることを確認してください。デフォルトでは、TrustRequestsSentToTheXmlServicePort
パラメーターはFalseに設定されています。ただし、顧客がCitrix Virtual Desktops用にCitrix ADCを既に構成している場合は、TrustRequestsSentToTheXmlServicePort
がTrueに設定されています。
- Citrix ADC GUIで、[Configuration]>[Integrate with Citrix Products] の順に移動し、[XenApp and XenDesktop] をクリックします。
-
ゲートウェイインスタンスを選択し、編集アイコンをクリックします。
-
StoreFrontペインで、編集アイコンをクリックします。
-
[Secure Ticket Authority URL] を追加します。
- Secure XML機能が有効になっている場合、STA URLは負荷分散サービスのURLである必要があります。
- Secure XML機能が無効になっている場合、STA URLはSTAのURL(DDCのアドレス)である必要があり、DDCのTrustRequestsSentToTheXmlServicePortパラメーターはTrueに設定されている必要があります。