シャドウセッション
シャドウセッション機能を使用すると、ドメイン管理者はイントラネット内でユーザーのICAセッションを表示できます。この機能はnoVNCを使用してICAセッションに接続し、RHEL 7.xおよびUbuntu 16.04でのみサポートされています。
注:
シャドウセッション機能を使用するには、Citrix Directorのバージョンが7.16以降である必要があります。
インストールと構成
依存関係
シャドウセッションには、python-websockifyとx11vncという2つの新しい依存関係が必要です。python-websockifyとx11vncの依存関係は、Ubuntu 16.04にLinux VDAをインストールすると自動的にインストールされます。RHEL 7.xでは、Linux VDAのインストール後にpython-websockifyとx11vncを手動でインストールする必要があります。
RHEL 7.xでpython-websockifyとx11vnc(x11vncバージョン0.9.13以降)をインストールするには、次のコマンドを実行します。
sudo yum install -y python-websockify x11vnc
<!--NeedCopy-->
python-websockifyとx11vncを解決するには、RHEL 7.xで次のリポジトリを有効にします。
-
Extra Packages for Enterprise Linux (EPEL)
EPELリポジトリは、
python-websockifyとx11vncの両方に必要です。EPELリポジトリを有効にするには、次のコマンドを実行します。sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E '%{rhel}').noarch.rpm <!--NeedCopy--> -
オプションのRPM
x11vncの一部の依存パッケージをインストールするためのオプションのRPMリポジトリを有効にするには、次のいずれかのコマンドを実行します。ワークステーションの場合:
subscription-manager repos --enable=rhel-7-workstation-optional-rpms <!--NeedCopy-->サーバーの場合:
subscription-manager repos --enable=rhel-7-server-optional-rpms <!--NeedCopy--> -
ポート
シャドウセッション機能は、Linux VDAからCitrix Directorへの接続を確立するために、6001~6099の範囲内で利用可能なポートを自動的に選択します。したがって、同時にシャドウできるICA®セッションの数は99に制限されます。特にマルチセッションシャドウイングの場合、要件を満たすのに十分なポートが利用可能であることを確認してください。
レジストリ
次の表に関連するレジストリを示します。
| レジストリ | 説明 | デフォルト値 |
|---|---|---|
| EnableSessionShadowing | シャドウセッション機能を有効または無効にする | 1 (有効) |
| ShadowingUseSSL | Linux VDAとCitrix Director間の接続を暗号化するかどうかを決定する | 0 (無効) |
-
レジストリ値を変更するには、Linux VDAで
ctxregコマンドを実行します。たとえば、シャドウセッションを無効にするには、次のコマンドを実行します。 -
/opt/Citrix/VDA/bin/ctxreg update -k “HKLM\Software\Citrix\VirtualDesktopAgent” -v “EnableSessionShadowing” -d 0x00000000
-
SSL
- Linux VDAとCitrix Director間のnoVNC接続はWebSocketプロトコルを使用します。シャドウセッションの場合、
ws://またはwss://のどちらが選択されるかは、前述の「ShadowingUseSSL」レジストリによって決定されます。デフォルトではws://が選択されます。ただし、セキュリティ上の理由から、wss://を使用し、各Citrix Directorクライアントと各Linux VDAサーバーに証明書をインストールすることをお勧めします。Citrixは、ws://を使用したLinux VDAシャドウセッションのセキュリティ上の責任を一切負いません。
サーバーおよびルートSSL証明書の取得
証明書は、信頼された認証局(CA)によって署名されている必要があります。
SSLを構成する各Linux VDAサーバーには、個別のサーバー証明書(キーを含む)が必要です。サーバー証明書は特定のコンピューターを識別するため、各サーバーの完全修飾ドメイン名(FQDN)を知っている必要があります。便宜上、ドメイン全体にワイルドカード証明書を使用することもできます。この場合、少なくともドメイン名を知っている必要があります。
各サーバーにサーバー証明書をインストールするだけでなく、Linux VDAサーバーと通信する各Citrix Directorクライアントに、同じCAからのルート証明書をインストールする必要があります。ルート証明書は、サーバー証明書を発行するのと同じCAから入手できます。オペレーティングシステムにバンドルされているCA、エンタープライズCA(組織がアクセスを許可しているCA)、またはオペレーティングシステムにバンドルされていないCAから、サーバー証明書とクライアント証明書をインストールできます。証明書の取得に必要な方法については、組織のセキュリティチームに相談してください。
重要:
- サーバー証明書の共通名(Common Name)は、Linux VDAサーバーの正確なFQDN、または少なくとも正しいワイルドカードとドメイン文字である必要があります。たとえば、vda1.basedomain.comまたは\*.basedomain.com。
- SHA1やMD5を含むハッシュアルゴリズムは、一部のブラウザがサポートするにはデジタル証明書の署名として弱すぎます。そのため、SHA-256が最小標準として指定されています。
各Citrix Directorクライアントへのルート証明書のインストール
シャドウセッションはIISと同じレジストリベースの証明書ストアを使用するため、IISまたはMicrosoft管理コンソール(MMC)の証明書スナップインを使用してルート証明書をインストールできます。CAから証明書を受け取ったら、IISでWebサーバー証明書ウィザードを再起動すると、ウィザードが証明書をインストールします。または、MMCを使用してコンピューター上の証明書を表示およびインポートし、証明書をスタンドアロンのスナップインとして追加することもできます。Internet ExplorerとGoogle Chromeは、オペレーティングシステムにインストールされている証明書をデフォルトでインポートします。Mozilla Firefoxの場合、証明書マネージャーの認証局タブでルートSSL証明書をインポートする必要があります。
各Linux VDAサーバーへのサーバー証明書とそのキーのインストール
サーバー証明書には「shadowingcert.\*」、キーファイルには「shadowingkey.\*」という名前を付けます(\*は形式を示すことができます。たとえば、shadowingcert.csrおよびshadowingkey.key)。サーバー証明書とキーファイルをパス /etc/xdl/shadowingssl の下に置き、制限されたアクセス許可で適切に保護します。名前またはパスが正しくないと、Linux VDAは特定の証明書またはキーファイルを見つけることができず、Citrix Directorとの接続障害を引き起こします。
使用方法
Citrix Directorから、ターゲットセッションを見つけ、セッションの詳細ビューでシャドウをクリックして、Linux VDAにシャドウ要求を送信します。

接続が初期化されると、ICAセッションクライアント(Citrix Directorクライアントではない)に確認が表示され、ユーザーにセッションをシャドウする許可を求めます。

ユーザーがはいをクリックすると、Citrix Director側にウィンドウが表示され、ICAセッションがシャドウされていることを示します。
使用方法の詳細については、Citrix Directorドキュメントを参照してください。
制限事項
- シャドウセッションはイントラネット内でのみ使用するように設計されています。Citrix Gateway経由で接続する場合でも、外部ネットワークでは機能しません。Citrixは、外部ネットワークでのLinux VDAシャドウセッションに関するいかなる責任も負いません。
- シャドウセッションが有効になっている場合、ドメイン管理者はICAセッションを表示することのみが可能であり、書き込みや制御の権限はありません。
- 管理者がCitrix Directorからシャドウをクリックすると、ユーザーにセッションをシャドウする許可を求める確認が表示されます。セッションは、セッションユーザーが許可を与えた場合にのみシャドウできます。
- 前述の確認には20秒のタイムアウト制限があります。時間が経過すると、シャドウ要求は失敗します。
-
1つのICAセッションは、1つのCitrix Directorウィンドウで1人の管理者のみがシャドウできます。ICAセッションが管理者Aによってシャドウされており、その間に管理者Bがシャドウ要求を送信した場合、ユーザーの許可を得るための確認がユーザーデバイスに再表示されます。ユーザーが同意すると、管理者Aのシャドウ接続は停止し、管理者Bのために新しいシャドウ接続が確立されます。同じ管理者が同じICAセッションに対して別のシャドウ要求を送信した場合も同様です。
- セッションシャドウイングを使用するには、Citrix Director 7.16以降をインストールします。
- Citrix Directorクライアントは、ターゲットのLinux VDAサーバーに接続するために、IPアドレスではなくFQDNを使用します。そのため、Citrix DirectorクライアントはLinux VDAサーバーのFQDNを解決できる必要があります。
トラブルシューティング
セッションシャドウイングが失敗した場合は、Citrix DirectorクライアントとLinux VDAの両方でデバッグを実行します。
Citrix Directorクライアントでの操作
ブラウザの開発者ツールを使用して、コンソールタブで出力ログを確認します。または、ネットワークタブでShadowLinuxSession APIの応答を確認します。ユーザー権限取得の確認が表示されるにもかかわらず接続が確立できない場合は、Linux VDAのFQDNを手動でpingして、Citrix DirectorがFQDNを解決できることを確認します。wss://接続に問題がある場合は、証明書を確認してください。
Linux VDAでの操作
シャドウイング要求に応答して、ユーザー権限取得の確認が表示されることを確認します。表示されない場合は、vda.logファイルとhdx.logファイルで手がかりを探してください。vda.logファイルを取得するには、次の手順を実行します。
-
/etc/xdl/ctx-vda.confファイルを見つけます。vda.logの設定を有効にするには、次の行のコメントを解除します。Log4jConfig=”/etc/xdl/log4j.xml” -
/etc/xdl/log4j.xmlを開き、com.citrix.dmcの部分を見つけて、「info」を「trace」に次のように変更します。<!-- Broker Agent Plugin - Director VDA plugin Logger --> <logger name="com.citrix.dmc"> <level value="trace"/> </logger> <!--NeedCopy--> -
service ctxvda restartコマンドを実行して、ctxvdaサービスを再起動します。
接続確立中にエラーが発生した場合は、次の点を確認します。
- セッションシャドウイングがポートを開くのを妨げるファイアウォールの制限がないか確認します。
- SSLシナリオの場合、証明書とキーファイルが適切に命名され、正しいパスに配置されていることを確認します。
- 新しいシャドウイング要求のために、6001~6099の範囲で十分なポートが残っていることを確認します。