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 の設定
AD/LDAP サーバーでの LDAPS の有効化
Microsoft 認証局 (CA) または非 Microsoft CA のいずれかから、適切にフォーマットされた証明書をインストールすることで、SSL 経由の LDAP (LDAPS) を有効にできます。
ヒント:
ドメインコントローラーにエンタープライズルート CA をインストールすると、SSL/TLS 経由の LDAP (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 証明書を使用して 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 形式である必要があります。チャネルバインディングを有効にする前に、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 の SSL 経由 LDAP) はポート 389 の STARTTLS と共存できません。
-
SSSD
-
オプションに従って、ポート 636 またはポート 389 で SSSD セキュア LDAP トラフィックを設定します。詳細については、「SSSD LDAP Linux man page」を参照してください。
-
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-->
あるいは、SASL GSSAPI 署名とシーリングによってセキュア LDAP を構成することもできますが、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 またはその他のネットワーク監視ツールから SSL/TLS 経由で LDAP トラフィックが暗号化されていない
デフォルトでは、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 にインポートされ、キーストアを保護するためにパスワードが設定されます。パスワードを忘れた場合は、スクリプトを再実行してキーストアを作成できます。