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.orgfiles.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 sign and seal を使用してセキュアな 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 (RHEL の場合) または /etc/ldap/ldap.conf (Ubuntu の場合) です。ファイルを次のように変更します。
-
smb.conf
ldap ssl = start tlsldap ssl ads = yesclient ldap sasl wrapping = plain -
ldap.conf
TLS_REQCERT never
または、SASL GSSAPI sign and seal を使用してセキュア LDAP を構成することもできますが、これは TLS/SSL と共存できません。SASL 暗号化を使用するには、smb.conf の構成を変更します。
ldap ssl = off
ldap ssl ads = no
client ldap sasl wrapping = seal
Centrify
Centrify はポート 636 の LDAPS をサポートしていません。ただし、ポート 389 でセキュアな暗号化を提供します。詳細については、「Centrify site」を参照してください。
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 またはその他のネットワーク監視ツールから SSL/TLS 経由で LDAP トラフィックが暗号化されていない
デフォルトでは、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にインポートされ、キーストアを保護するためのパスワードが設定されます。パスワードを忘れた場合は、スクリプトを再実行してキーストアを作成できます。