LDAPSの構成
セキュアLDAP (LDAPS) を使用すると、Active Directory管理対象ドメインでセキュアLightweight Directory Access Protocolを有効にし、SSL (Secure Socket Layer)/TLS (Transport Layer Security) 経由で通信を提供できます。
- デフォルトでは、クライアントとサーバーアプリケーション間のLDAP通信は暗号化されていません。SSL/TLSを使用した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のいずれかから、適切にフォーマットされた証明書をインストールすることで、SSL経由のLDAP (LDAPS) を有効にできます。
ヒント:
ドメインコントローラーにEnterprise Root CAをインストールすると、SSL/TLS経由のLDAP (LDAPS) が自動的に有効になります。
証明書のインストール方法とLDAPS接続の確認方法について詳しくは、Microsoftサポートサイトのサードパーティ証明機関でSSL経由のLDAPを有効にする方法を参照してください。
- 多層(2層または3層など)の証明機関階層がある場合、ドメインコントローラーでのLDAPS認証に適した証明書が自動的に提供されるわけではありません。
多層証明機関階層を使用するドメインコントローラーでLDAPSを有効にする方法について詳しくは、Microsoft TechNetサイトのSSL経由のLDAP (LDAPS) 証明書の記事を参照してください。
クライアント使用のためのルート証明機関の有効化
クライアントは、LDAPサーバーが信頼するCAからの証明書を使用する必要があります。クライアントのLDAPS認証を有効にするには、ルートCA証明書を信頼されたキーストアにインポートします。
ルートCAのエクスポート方法について詳しくは、MicrosoftサポートWebサイトのルート証明機関証明書をエクスポートする方法を参照してください。
Linux VDAでのLDAPSの有効化または無効化
Linux VDAでLDAPSを有効または無効にするには、次のスクリプトを実行します(管理者としてログオンしている場合)。
このコマンドの構文には、以下が含まれます。
-
提供されたルートCA証明書を使用してSSL/TLS経由のLDAPを有効にする:
/opt/Citrix/VDA/sbin/enable_ldaps.sh -Enable pathToRootCA <!--NeedCopy--> -
チャネルバインディングを使用してSSL/TLS経由のLDAPを有効にする:
/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署名およびシーリングを使用してセキュアLDAPを構成する方法について説明します。
-
ヒント:
-
これらのソフトウェアコンポーネントのすべてが、セキュアLDAPを確保するためにSSLポート636を使用することを好むわけではありません。そしてほとんどの場合、LDAPS(ポート636のSSL経由LDAP)はポート389のSTARTTLSと共存できません。
SSSD
オプションに従って、ポート636またはポート389でSSSDセキュアLDAPトラフィックを構成します。詳しくは、SSSD LDAP Linux manページを参照してください。
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署名およびシーリングによってセキュア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にインポートされ、キーストアを保護するためにパスワードが設定されます。パスワードを忘れた場合は、スクリプトを再実行してキーストアを作成できます。