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の構成

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
  • SSL/TLSを使用せずにLDAPにフォールバックします。
/opt/Citrix/VDA/sbin/enable_ldaps.sh -Disable

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

サードパーティのプラットフォームで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メソッドのみをサポートしています。影響を受ける構成ファイルは、ldap.conf および smb.conf です。ファイルを次のように変更します。

ldap.conf:
TLS_REQCERT never

smb.conf:
ldap ssl = start tls
ldap ssl ads = yes
client ldap sasl wrapping = plain

また、セキュリティで保護されたLDAPは、SASL GSSAPI(署名およびシール)で構成されますが、TLS/SSLと共存することはできません。SASL暗号化を使用するには、smb.conf 構成を変更します。

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にインポートされ、キーストアを保護するパスワードが設定されます。パスワードを忘れた場合は、スクリプトを再度実行して新しいキーストアを作成します。