セキュリティキーの管理
重要:
- この機能は、StoreFront 1912 LTSR CU2以降とともに使用する必要があります。
- Secure XML機能は、Citrix ADCおよびCitrix Gatewayリリース12.1以降でのみサポートされます。
注:
Web Studio(Webベース)とCitrix Studio(Windowsベース)の2つの管理コンソールを使用して、Citrix Virtual Apps and Desktopsの展開を管理できます。この記事ではWeb Studioのみを扱います。Citrix Studioについて詳しくは、Citrix Virtual Apps and Desktops 7 2212以前の同様の記事を参照してください。
この機能を使用すると、承認されたStoreFrontマシンおよびCitrix GatewayマシンのみがDelivery Controllerと通信できるようになります。この機能を有効にすると、キーが含まれていないすべての要求がブロックされます。この機能を使用して、内部ネットワークの攻撃から保護するセキュリティ層を追加します。
この機能を使用するための一般的なワークフローは次のとおりです:
-
Web Studioを有効にして機能設定を表示します。
-
サイトの設定を構成します。
-
StoreFrontの設定を構成します
-
Citrix ADCの設定を構成します。
Web Studioを有効にして機能設定を表示する
デフォルトでは、セキュリティキーの設定はWeb Studioから非表示になっています。Web 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」を参照してください。
サイトの設定を構成する
Web StudioまたはPowerShellを使用して、サイトのセキュリティキー設定を構成できます。
Web Studioを使用する
- Web 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の使用
以下は、Web 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に設定されている必要があります。