Linux Virtual Delivery Agent

LDAPS

LDAPS は、LDAP 通信が TLS/SSL を使用して暗号化される、Lightweight Directory Access Protocol (LDAP) のセキュアバージョンです。

  • デフォルトでは、クライアントとサーバーアプリケーション間の LDAP 通信は暗号化されません。LDAPS を使用すると、Linux VDA と LDAP サーバー間の LDAP クエリコンテンツを保護できます。

以下の Linux VDA コンポーネントは LDAPS に依存しています。

  • ブローカーエージェント: Delivery Controller™ への Linux VDA 登録
  • ポリシーサービス: ポリシー評価

  • LDAPS の構成には以下が含まれます。

  • Active Directory (AD)/LDAP サーバーで LDAPS を有効にする
  • クライアント使用のためにルート CA をエクスポートする
  • Linux VDA で LDAPS を有効/無効にする
  • サードパーティプラットフォーム用に LDAPS を構成する
  • SSSD を構成する
  • Winbind を構成する
  • Centrify を構成する
  • Quest を構成する

注:

LDAP サーバーの監視サイクルを設定するには、次のコマンドを実行します。デフォルト値は 15 分です。少なくとも 10 分に設定してください。

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent" -v "ListOfLDAPServersMonitorPeroid" -t "REG_DWORD" -d "0x0000000f" --force
<!--NeedCopy-->

AD/LDAP サーバーでの LDAPS の有効化

Microsoft 認証局 (CA) または非 Microsoft CA のいずれかから、適切にフォーマットされた証明書をインストールすることで、LDAP over SSL (LDAPS) を有効にできます。

ヒント:

  • ドメインコントローラーにエンタープライズルート CA をインストールすると、LDAPS は自動的に有効になります。

証明書のインストール方法と LDAPS 接続の検証方法の詳細については、「How to enable LDAP over SSL with a third-party certification authority」を参照してください。

  • 多層認証局階層を使用している場合、ドメインコントローラーでの LDAPS 認証に適切な証明書が自動的に提供されるわけではありません。

多層認証局階層を使用してドメインコントローラーの LDAPS を有効にする方法については、「LDAP over SSL (LDAPS) Certificate」の記事を参照してください。

クライアント使用のためのルート認証局の有効化

クライアントは、LDAP サーバーが信頼する CA からの証明書を使用する必要があります。クライアントの LDAPS 認証を有効にするには、ルート CA 証明書を信頼されたキーストアにインポートします。

ルート CA のエクスポート方法の詳細については、Microsoft サポート Web サイトの「How to export Root Certification Authority Certificate」を参照してください。

Linux VDA での LDAPS の有効化または無効化

Linux VDA で LDAPS を有効または無効にするには、次のスクリプトを (管理者としてログオンして) 実行します。

このコマンドの構文には以下が含まれます。

  • 提供されたルート CA 証明書を使用して LDAP over SSL/TLS を有効にする場合:

     /opt/Citrix/VDA/sbin/enable_ldaps.sh -Enable pathToRootCA
     <!--NeedCopy-->
    
  • チャネルバインディングで LDAP over SSL/TLS を有効にする場合:

     /opt/Citrix/VDA/sbin/enable_ldaps.sh -Enablecb pathToRootCA
     <!--NeedCopy-->
    

    注:

    チャネルバインディング用のルート CA 証明書は PEM 形式である必要があります。LDAPS を有効にしても Python3 仮想環境が正常に作成されない場合は、「Python3 仮想環境の作成」の手順に従って手動で作成してください。

    pip ツールを使用する際に発生する可能性のある SSL 接続エラーに対処するには、/etc/pip.conf ファイルに次の信頼済みホストを追加することを検討してください。 [global]

  • trusted-host = pypi.org files.pythonhosted.org

  • SSL/TLS なしで LDAP にフォールバックする場合:
/opt/Citrix/VDA/sbin/enable_ldaps.sh -Disable
<!--NeedCopy-->

LDAPS 専用の Java キーストアは /etc/xdl/.keystore にあります。影響を受けるレジストリキーは次のとおりです。

HKLM\Software\Citrix\VirtualDesktopAgent\ListOfLDAPServers

HKLM\Software\Citrix\VirtualDesktopAgent\ListOfLDAPServersForPolicy

HKLM\Software\Citrix\VirtualDesktopAgent\UseLDAPS

HKLM\Software\Policies\Citrix\VirtualDesktopAgent\Keystore

HKLM\Software\Citrix\VirtualDesktopAgent\EnableChannelBinding
<!--NeedCopy-->
  • サードパーティプラットフォームの LDAPS 構成

  • Linux VDA コンポーネントに加えて、VDA に準拠するいくつかのサードパーティソフトウェアコンポーネントも、SSSD、Winbind、Centrify、Quest など、セキュアな LDAP を必要とする場合があります。以下のセクションでは、LDAPS、STARTTLS、または SASL の署名と封印を使用してセキュアな LDAP を構成する方法について説明します。

  • ヒント:

  • これらのソフトウェアコンポーネントのすべてが、セキュアな LDAP を確保するために SSL ポート 636 を使用することを好むわけではありません。また、ほとんどの場合、LDAPS (ポート 636 の LDAP over SSL) はポート 389 の STARTTLS と共存できません。

SSSD

オプションに従って、ポート 636 またはポート 389 で SSSD セキュア LDAP トラフィックを構成します。詳細については、「SSSD LDAP Linux man page」を参照してください。

Winbind

Winbind LDAP クエリは ADS メソッドを使用します。Winbind はポート 389 で StartTLS メソッドのみをサポートします。影響を受ける構成ファイルは /etc/samba/smb.conf および /etc/openldap/ldap.conf (Amazon Linux 2、RHEL、Rocky Linux、CentOS、SUSE の場合) または /etc/ldap/ldap.conf (Debian および Ubuntu の場合) です。ファイルを次のように変更します。

  • smb.conf

    ldap ssl = start tls ldap ssl ads = yes client ldap sasl wrapping = plain

  • ldap.conf

    TLS_REQCERT never

または、SASL GSSAPI の署名と封印によってセキュアな LDAP を構成することもできますが、これは TLS/SSL と共存できません。SASL 暗号化を使用するには、smb.conf の構成を変更します。

ldap ssl = off ldap ssl ads = no client ldap sasl wrapping = seal

Centrify

Centrify はポート 636 での LDAPS をサポートしていません。ただし、ポート 389 でセキュアな暗号化を提供します。詳細については、「Centrify サイト」を参照してください。

Quest

Quest Authentication Service はポート 636 での LDAPS をサポートしていませんが、異なるメソッドを使用してポート 389 でセキュアな暗号化を提供します。

トラブルシューティング

この機能を使用すると、次の問題が発生する可能性があります。

  • LDAPS サービスの可用性

    AD/LDAP サーバーで LDAPS 接続が利用可能であることを確認します。ポートはデフォルトで 636 です。

  • LDAPS が有効な場合に Linux VDA の登録が失敗する

    LDAP サーバーとポートが正しく構成されていることを確認します。まずルート CA 証明書を確認し、AD/LDAP サーバーと一致していることを確認します。

  • 誤ってレジストリが不正に変更された

    enable_ldaps.sh を使用せずに誤って LDAPS 関連のキーを更新した場合、LDAPS コンポーネントの依存関係が破損する可能性があります。

  • Wireshark またはその他のネットワーク監視ツールを介して LDAP トラフィックが SSL/TLS で暗号化されていない

    デフォルトでは、LDAPS は無効になっています。強制するには /opt/Citrix/VDA/sbin/enable_ldaps.sh を実行します。

  • Wireshark またはその他のネットワーク監視ツールから LDAPS トラフィックがない

    LDAP/LDAPS トラフィックは、Linux VDA の登録とグループポリシーの評価が行われるときに発生します。

  • AD サーバーで ldp connect を実行して LDAPS の可用性を検証できなかった

    IP アドレスの代わりに AD の FQDN を使用します。

  • /opt/Citrix/VDA/sbin/enable_ldaps.sh スクリプトを実行してルート CA 証明書をインポートできなかった

    CA 証明書の完全なパスを提供し、ルート CA 証明書が正しいタイプであることを確認します。ほとんどの Java Keytool でサポートされているタイプと互換性があるはずです。サポートリストにない場合は、最初にタイプを変換できます。証明書形式の問題が発生した場合は、base64 エンコードされた PEM 形式をお勧めします。

  • Keytool -list でルート CA 証明書を表示できなかった

    /opt/Citrix/VDA/sbin/enable_ldaps.sh を実行して LDAPS を有効にすると、証明書は /etc/xdl/.keystore にインポートされ、キーストアを保護するためにパスワードが設定されます。パスワードを忘れた場合は、スクリプトを再実行してキーストアを作成できます。

LDAPS