LDAPS
LDAPSは、LDAP通信がTLS/SSLを使用して暗号化されるライトウェイトディレクトリアクセスプロトコル(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のどちらかから適切な形式の証明書をインストールして、SSL経由のLDAP(LDAPS)を有効にできます。
ヒント:
LDAPSは、ドメインコントローラーで会社のルートCAをインストールすると、自動的に有効になります。
証明書をインストールして、LDAPS接続を確認する方法について詳しくは、「How to enable LDAP over SSL with a third-party certification authority」を参照してください。
証明機関の階層に複数の層がある場合、ドメインコントローラーでLDAPS認証の適切な証明書を自動的に取得できません。
複数の証明機関の階層を使用してドメインコントローラーでLDAPSを有効にする方法について詳しくは、「LDAP over SSL (LDAPS) Certificate」を参照してください。
クライアントで使用するルート証明書(CA)の有効化
クライアントは、LDAPサーバーが信頼するCAの証明書を使用する必要があります。クライアントのLDAPS認証を有効にするには、ルートCA証明書を信頼済みのキーストアにインポートします。
ルートCAをエクスポートする方法について詳しくは、Microsoft Support Webサイトで「How to export Root Certification Authority Certificate」を参照してください。
Linux VDAマシンでLDAPSを有効化または無効化
Linux VDAでLDAPSを有効または無効にするには、(管理者としてログオンして)enable_ldaps.shスクリプトを実行します。非対話モードでenable_ldaps.shスクリプトを実行するには、次の変数を利用している環境にエクスポートします:
#CTX_LDAPS_KEYSTORE_PASSWORD=
#CTX_LDAPS_LDAP_SERVERS=
<!--NeedCopy-->
-
指定されたルート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を有効にしてもPython 3仮想環境が正常に作成されない場合は、「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
```
The Java keystore dedicated for LDAPS resides in /etc/xdl/.keystore. Affected registry keys include:
``` 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 ```
サードパーティのプラットフォームでLDAPSの構成
Linux VDAコンポーネントに加えて、VDAのさまざまなサードパーティのソフトウェアコンポーネントでは、SSSD、Winbind、Centrify、Questなどのセキュリティで保護されたLDAPが必要な場合もあります。以下のセクションでは、LDAPS、STARTTLSまたはSASL(署名とシール)によるセキュリティで保護されたLDAPを構成する方法について説明します。
ヒント:
これらすべてのソフトウェアコンポーネントで、SSLポート636を使用し、セキュリティで保護されたLDAPにすることが望ましいわけではありません。また、ほとんどの場合、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(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
また、セキュリティで保護されたLDAPは、SASL GSSAPI(署名およびシール)で構成できますが、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認証サービスはポート636のLDAPSをサポートしませんが、別の方法でポート389のセキュリティで保護された暗号化を提供します。
トラブルシューティング
この機能を使用すると、以下の問題が発生することがあります:
-
LDAPSサービスの可用性
AD/LDAPサーバーでLDAPS接続が使用可能であることを確認します。デフォルトでは、このポートは636です。
-
LDAPSを有効にするとLinux VDAの登録が失敗する
LDAPサーバーとポートが正しく構成されていることを確認します。最初にルートCA証明書をチェックして、AD/LDAPサーバーと一致することを確認します。
-
誤ったレジストリ変更
LDAPS関連のキーを誤って enable_ldaps.sh を使用せずに更新してしまうと、LDAPSコンポーネントの依存関係を損なう可能性があります。
-
LDAPトラフィックは、Wiresharkやその他のネットワーク監視ツールからSSL/TLSで暗号化されません
デフォルトでは、LDAPSは無効になっています。それを強制するには、/opt/Citrix/VDA/sbin/enable_ldaps.sh を実行します。
-
Wiresharkやその他のネットワーク監視ツールからのLDAPSトラフィックが存在しない
LDAP/LDAPSトラフィックは、Linux VDAの登録やグループポリシーの評価を行う際に発生します。
-
ADサーバーでLDP接続を実行してLDAPSの可用性を確認できない
IPアドレスの代わりに、AD FQDNを使用します。
-
/opt/Citrix/VDA/sbin/enable_ldaps.shスクリプトを実行してルートCA証明書をインポートできない
CA証明書のフルパスを指定して、ルートCA証明書の種類が正しいことを確認します。サポートされているJava Keytoolの種類の大半で対応しています。サポート一覧にない場合は、最初に種類を変更してください。証明書の形式の問題が発生した場合は、Base64で暗号化されたPEM形式の使用をお勧めします。
-
ルートCA証明書をKeytool一覧に表示できない
/opt/Citrix/VDA/sbin/enable_ldaps.sh
を実行してLDAPSを有効にすると、証明書が/etc/xdl/.keystoreにインポートされ、キーストアを保護するパスワードが設定されます。パスワードを忘れた場合は、スクリプトを再度実行して新しいキーストアを作成します。