フェデレーション認証サービスを構成する
Linux VDAにログオンするユーザーを認証するために、フェデレーション認証サービス (FAS) を使用できます。Linux VDAは、FASログオン機能にWindows VDAと同じWindows環境を使用します。FASのWindows環境の構成については、「フェデレーション認証サービス」を参照してください。この記事では、Linux VDAに特化した追加情報を提供します。
注
Linux VDAは、セッション内動作ポリシーをサポートしていません。
Linux VDAは、FASサーバーとのデータ転送に短い接続を使用します。
Linux VDAは、ポート80のみを介してFASサーバーと通信します。
サポートされているディストリビューション
-
FASは、限られたLinuxプラットフォームとAD統合方法をサポートしています。次のマトリックスを参照してください。
ウィンバインド SSSD セントリファイ PBIS クエスト アマゾン リナックス 2 はい はい はい はい いいえ RHEL 8.10 はい はい はい はい はい RHEL 8.8 はい はい はい はい はい RHEL 8.6 はい はい はい はい はい RHEL 8.4 はい はい はい はい はい RHEL 8.3 はい はい はい はい はい RHEL 8.2 はい はい はい はい はい RHEL 8.1 はい はい はい はい はい RHEL 7.9 / CentOS 7.9 はい はい はい はい はい RHEL 7.8 / CentOS 7.8 はい はい はい はい はい ロッキー・リナックス 8.10/8.8/8.6 はい はい いいえ いいえ いいえ SLES 15.3 はい いいえ はい いいえ はい SLES 15.2 はい いいえ はい いいえ はい SLES 12.5 はい いいえ はい いいえ いいえ ウブントゥ 20.04 はい いいえ はい いいえ はい ウブントゥ 18.04 はい いいえ はい いいえ はい
Linux VDA で FAS を構成する
FAS サーバーを設定する
新規のLinux VDAインストールでFASを使用するには、ctxinstall.shまたはctxsetup.shを実行するときに、各FASサーバーのFQDNを入力します。Linux VDAはADグループポリシーをサポートしていないため、代わりにセミコロン区切りのFASサーバーのリストを指定できます。サーバーアドレスが削除された場合は、その空白を**\<none\>**というテキスト文字列で埋め、サーバーアドレスの順序を変更しないでください。
既存のLinux VDAインストールをアップグレードするには、
ctxsetup.shを再実行してFASサーバーを設定できます。または、次のコマンドを実行してFASサーバーを設定し、ctxvdaサービスを再起動して設定を有効にすることもできます。
sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "<Your-FAS-Server-List>" --force
service ctxjproxy restart
service ctxvda restart
ctxregを介してFASサーバーを更新するには、次のコマンドを実行します。
sudo /opt/Citrix/VDA/bin/ctxreg update -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -v "Addresses" -d "<Your-FAS-Server-List>"
service ctxjproxy restart
service ctxvda restart
証明書をインストールする
ユーザーの証明書を検証するには、ルートCA証明書とすべての中間証明書をVDAにインストールします。たとえば、ルートCA証明書をインストールするには、前のMicrosoft CA(AD上)からCA証明書を取得するの手順からADルート証明書を取得するか、ルートCAサーバー
http://CA-SERVER/certsrvからDER形式をダウンロードします。
注:
次のコマンドは、中間証明書を構成する場合にも適用されます。
次のようなコマンドを実行して、DERファイル(.crt、.cer、.der)をPEMに変換します。
sudo openssl x509 -inform der -in root.cer -out root.pem
次に、次のようなコマンドを実行して、ルートCA証明書を
opensslディレクトリにインストールします。
sudo cp root.pem /etc/pki/CA/certs/
注:
ルートCA証明書を**/root**パスの下に置かないでください。そうしないと、FASはルートCA証明書に対する読み取り権限を持ちません。
ctxfascfg.shを実行する
FASを構成するためにctxfascfg.shスクリプトを実行します。
sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
ctxfascfg.shをサイレントモードで実行できるように、環境変数が追加されます。
-
CTX\_FAS\_ADINTEGRATIONWAY=winbind \| sssd \| centrify \| pbis \| quest: Active Directory統合方法を示します。これは、
CTX_EASYINSTALL_ADINTEGRATIONWAYが指定されている場合にCTX_EASYINSTALL_ADINTEGRATIONWAYと等しくなります。CTX_EASYINSTALL_ADINTEGRATIONWAYが指定されていない場合、CTX_FAS_ADINTEGRATIONWAYは独自の値を設定します。 -
CTX\_FAS\_CERT\_PATH \=\<certificate path\>: ルート証明書とすべての中間証明書が保存されている完全なパスを指定します。
-
CTX_FAS_KDC_HOSTNAME: PBISを選択した場合のKey Distribution Center (KDC) のホスト名を指定します。
-
CTX_FAS_PKINIT_KDC_HOSTNAME: PKINIT KDCホスト名を指定します。特に指定がない限り、CTX_FAS_KDC_HOSTNAME と同じです。
適切なActive Directory統合方法を選択し、証明書の正しいパスを入力します(例:
/etc/pki/CA/certs/)。
スクリプトは、krb5-pkinitおよびpam\_krb5パッケージをインストールし、関連する構成ファイルを設定します。
制限事項
-
FASはまだロック画面をサポートしていません。セッションでロックボタンをクリックすると、FASを使用してセッションに再度ログオンすることはできません。
-
このリリースでは、Federated Authentication Service architectural overviewの記事にまとめられている一般的なFAS展開のみがサポートされており、Windows 10 Azure AD Joinは含まれていません。
トラブルシューティング
FASのトラブルシューティングを行う前に、Linux VDAが正しくインストールおよび構成されており、パスワード認証を使用して共通ストアで非FASセッションが正常に起動できることを確認してください。
非FASセッションが正常に動作する場合は、LoginクラスのHDXログレベルをVERBOSEに、VDAログレベルをTRACEに設定します。Linux VDAのトレースログを有効にする方法については、Knowledge Centerの記事CTX220130を参照してください。
FASサーバー構成エラー
FASストアからのセッション起動に失敗します。
/var/log/xdl/hdx.logを確認し、次のようなエラーログを見つけてください。
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_user: [Logon Type] Federated Authentication Logon.
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: entry
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: connect_fas: start connect to server 0
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: connect_fas0: failed to connect: Connection refused.
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: failed to connect to server [0], please confirm if fas service list is well configurated in condb
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: exit, 43
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_user: failed to validate fas credential
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: LoginBoxValidate: failed validation of user 'user1@CTXDEV.LOCAL', INVALID_PARAMETER
解決策
次のコマンドを実行して、Citrixレジストリ値「HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Citrix\\VirtualDesktopAgent\\Authentication\\UserCredentialService」が\<Your-FAS-Server-List\>に設定されていることを確認します。
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep "UserCredentialService"
既存の設定が正しくない場合は、前述のFASサーバーの設定の手順に従って再度設定してください。
CA証明書構成が正しくありません
FASストアからのセッション起動に失敗します。灰色のウィンドウが表示され、数秒後に消えます。
/var/log/xdl/hdx.log を確認し、次のようなエラーログを見つけてください。
2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: get_logon_certificate: entry
2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: check_caller: current process: pid [30656], name [/opt/Citrix/VDA/bin/ctxlogin]
2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: get_public_certificate: entry
2021-01-28 01:47:46.211 <P30656:S5> citrix-ctxlogin: query_fas: waiting for response...
2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: query_fas: query to server success
2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: get_public_certificate: exit
2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: fas_base64_decode: input size 1888
2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: fas_base64_decode: output size 1415
2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: get_logon_certificate: get logon certificate success
2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: cache_certificate: cache certificate success
2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: get_logon_certificate: exit, 0
2021-01-28 01:47:48.060 <P30656:S5> citrix-ctxlogin: validate_user: pam_authenticate err,can retry for user user1@CTXDEV.LOCAL
解決策
/etc/krb5.conf にルートCA証明書とすべての中間証明書を格納する完全なパスが正しく設定されていることを確認してください。完全なパスは次のようになります。
[realms]
EXAMPLE.COM = {
......
pkinit_anchors = DIR:/etc/pki/CA/certs/
......
}
既存の設定が正しくない場合は、前述の 証明書のインストール の手順に従って再度設定してください。
または、ルートCA証明書が有効であるかを確認してください。
シャドウアカウントマッピングエラー
FAS は SAML 認証によって構成されます。ADFS ユーザーが ADFS ログオンページでユーザー名とパスワードを入力した後、次のエラーが発生する可能性があります。
このエラーは、ADFS ユーザーが正常に検証されたものの、AD にシャドウユーザーが構成されていないことを示しています。
解決策
AD でシャドウアカウントを設定します。
ADFS が構成されていません
FAS ストアへのログオン試行中に次のエラーが発生します。
この問題は、FAS ストアが SAML 認証を使用するように構成されているにもかかわらず、ADFS 展開が不足している場合に発生します。
解決策
フェデレーション認証サービス用に ADFS IdP を展開します。詳細については、フェデレーション認証サービス ADFS 展開 を参照してください。
関連情報
-
一般的な FAS 展開については、展開アーキテクチャ の記事にまとめられています。
-
「ハウツー」記事は、フェデレーション認証サービスの詳細構成の章で紹介されています。
既知の問題
FASを使用している場合、非英語文字を含む公開デスクトップまたはアプリセッションを起動しようとすると失敗することがあります。
回避策
CAツールでManage Templatesを右クリックし、Citrix\_SmartcardLogonテンプレートをBuild from this Active Directory informationからSupply in the requestに変更します。