LDAPSの構成
セキュリティで保護されたLDAP(LDAPS)によって、Active Directory管理対象ドメインにSSL(Secure Socket Layer)/TLS(Transport Layer Security)経由のセキュリティ保護されたLightweight Directory Access Protocolの通信を提供できます。
デフォルトで、クライアントとサーバーアプリケーション間の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)を有効にできます。
ヒント:
SSL/TLS経由のLDAP(LDAPS)は、ドメインコントローラーで会社のルートCAをインストールすると、自動的に有効になります。
証明書をインストールして、LDAPS接続を確認する方法について詳しくは、Microsoft Knowledgebaseのサポート技術情報で「How to enable LDAP over SSL with a third-party certification authority」を参照してください。
証明機関の階層に複数の層(2層または3層)がある場合、ドメインコントローラーでLDAPS認証の適切な証明書を自動的に取得できません。
複数の証明機関の階層を使用してドメインコントローラーでLDAPSを有効にする方法について詳しくは、Microsoft TechNet Webサイトで「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を有効または無効にするには、(管理者としてログオンして)次のスクリプトを実行します:
このコマンドの構文には次が含まれます。
-
指定されたルート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仮想環境が正常に作成されない場合は、「Python 3仮想環境の作成」の手順に従って手動で作成してください。
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を構成する方法について説明します。
ヒント:
これらすべてのソフトウェアコンポーネントで、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(RHELの場合)または /etc/ldap/ldap.conf(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にインポートされ、キーストアを保護するパスワードが設定されます。パスワードを忘れた場合は、スクリプトを再度実行して新しいキーストアを作成します。