LDAPS の設定
セキュア LDAP (LDAPS) を使用すると、Active Directory で管理されるドメインに対してセキュア軽量ディレクトリアクセスプロトコルを有効にし、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 のいずれかから、適切にフォーマットされた証明書をインストールすることで、LDAP over SSL (LDAPS) を有効にできます。
ヒント:
ドメインコントローラーにエンタープライズルート CA をインストールすると、LDAP over SSL/TLS (LDAPS) は自動的に有効になります。
証明書のインストール方法と LDAPS 接続の確認方法について詳しくは、Microsoft サポートサイトの「How to enable LDAP over SSL with a third-party certification authority」を参照してください。
- マルチティア (2 層または 3 層など) の認証機関階層がある場合、ドメインコントローラー上の LDAPS 認証に適した証明書が自動的に提供されるわけではありません。
マルチティア認証機関階層を使用してドメインコントローラーの LDAPS を有効にする方法については、Microsoft TechNet サイトの「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 仮想環境の作成」の手順に従って手動で作成してください。
-
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 の LDAP over SSL) はポート 389 の STARTTLS と共存できません。
SSSD
オプションに従って、ポート 636 またはポート 389 で SSSD セキュア LDAP トラフィックを設定します。詳しくは、SSSD LDAP Linux man ページを参照してください。
Winbind
Winbind LDAP クエリは ADS メソッドを使用します。Winbind はポート 389 の StartTLS メソッドのみをサポートします。影響を受ける構成ファイルは /etc/openldap/ldap.conf の ldap.conf と /etc/samba/smb.conf の smb.conf です。ファイルを次のように変更します。
ldap.conf:
TLS_REQCERT never
smb.conf:
ldap ssl = start tls
ldap ssl ads = yes
client ldap sasl wrapping = plain
<!--NeedCopy-->
あるいは、セキュア LDAP は SASL GSSAPI 署名およびシーリングによって設定できますが、TLS/SSL と共存することはできません。SASL 暗号化を使用するには、smb.conf の構成を変更します。
smb.conf:
ldap ssl = off
ldap ssl ads = no
client ldap sasl wrapping = seal
<!--NeedCopy-->
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にインポートされ、キーストアを保護するためのパスワードが設定されます。パスワードを忘れた場合は、スクリプトを再実行してキーストアを作成できます。