質問者
2020年3月に予定されている、LDAP チャネルバインディングおよび LDAP の署名有効化に関する質問

質問
-
一度 Microsoft コミュニティにて質問致しましたが、technet のフォーラムの方が
より適切な情報が得られるとのコメントを頂き、改めて質問させて頂きます。
2020年初頭に、Active Directory ドメイン環境内の LDAP 通信の安全性を向上するために、
LDAP 署名、および LDAP チャネルバインディング(LDAPS 利用時)が既定で有効化されることになっています。
有効化される機能の設定を事前にテストするために、セキュリティ アドバイザリ ADV190023 が公開されており、
現在、これらの機能は既定では有効化されていませんが、構成を変更することで利用可能です。
そこで、以下のURLにある情報をもとに、構成を変更して有効化される機能の設定を事前にテストしました。
https://msrc-blog.microsoft.com/2019/10/02/ldapbinding/
その結果、記載内容とは異なる挙動がいくつか見られましたので、以下の通り質問させて頂きます。
本件について、可能でしたらマイクロソフト様の公式な見解を頂きたいと思います。
・質問1.LDAP 署名を有効にした後、構成変更の確認方法の手順1について
<資料>WINDOWS Server 2008 で LDAP 署名を有効にする方法
https://support.microsoft.com/ja-jp/help/935834/how-to-enable-ldap-signing-in-windows-server-2008
この「構成の変更を確認する方法」の手順1に、次のように記載されています。
> 1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。
> 次に「desk.cpl」と入力し、[OK] をクリックします。
これは、「desk.cpl」ではなく「ldp.exe」ではないでしょうか?
・質問2.LDAP 署名を有効にした後、構成変更の確認方法の手順6について
手順6で確認するエラーメッセージは、次のように記載されております。
> 次のエラーメッセージが表示された場合は、ディレクトリサーバーを正常に構成しました。
> Ldap_simple_bind_s() に失敗しました: 強力な認証が必要です
本件について、以下の環境では、
<環境>
AD サーバ:Windows Server 2008 Standard SP2
クライアント:Windows 10 Enterprise 2016 LTSB
クライアントに「リモートサーバー管理ツール(RSAT)」をインストールして「ldp.exe」を起動。
下に示すエラーメッセージが表示されました。
この場合、AD サーバの構成変更は成功していると考えてよろしいでしょうか?
-----------
res = ldap_simple_bind_s(ld, 'testuser', <unavailable>); // v.3
Error <49>: ldap_simple_bind_s() failed: 資格情報が無効です
Server error: 80090308: LdapErr: DSID-0C090404, comment: AcceptSecurityContext error, data 525, v1773
Error 0x80090308 この関数に提供されたトークンは無効です
-----------
・質問3.LDAP チャネルバインディング有効化の手順について
LdapEnforceChannelBinding レジストリ エントリの設定による SSL/TLS 接続の LDAP 認証の安全性の向上
https://support.microsoft.com/ja-jp/help/4034879/how-to-add-the-ldapenforcechannelbinding-registry-entry
この手順には、構成変更が成功したことを確認する方法が記載されておりませんでした。
資料「WINDOWS Server 2008 で LDAP 署名を有効にする方法」のように、
確認手順がありましたら教えて頂けますでしょうか?
・質問4.古い OS との互換性について
質問3の資料の「注:」の後に、次の記述がありました。
> 古いオペレーティング システム (Windows Server 2008 およびそれ以前)
> との互換性を保つために、この設定を 1 にすることをお勧めします。
Windows Server 2008 SP2 の場合、LdapEnforceChannelBinding レジストリエントリの値は2ではなく、1とすべきでしょうか?
以上、よろしくお願い致します。
すべての返信
-
この件ですが、まず実施時期について。セキュリティアドバイザリが2/4 PSTに更新され、3月の実施は見送られ、2020年後半に実施の予定に延期されたようです。
https://portal.msrc.microsoft.com/ja-JP/security-guidance/advisory/adv190023質問1
→ ldp.exe が正しいです。オリジナルの英語文書(URLのja-jpをen-usにして)をご覧ください。
質問2
→ ログオン中のドメインユーザーとは別のドメインユーザー(ドメインのAdministratorでも、一般ユーザーでもOK)の資格情報を入力してみてください。こちらのテスト環境では、ログオン中のユーザーの資格情報を入力した場合、LDAP署名の設定に関係なく「資格情報が無効です」と表示されました。。別の資格情報で試すと、LDAP署名を要求しない場合(現在の既定)の場合は「Authenticated as: 'ドメイン名\ユーザー名'」となり、LDAP署名を要求する設定に変更した場合は「ldap_simple_bind_s() failed: 協力な認証が必要です」となりました。
質問3
→ 何かしらのLDAPクライアントアプリケーションで試すしかないと思います。あるいは、クライアント PC 側に CVE-2017-8563 のセキュリティ更新が入っていることを確認するとか(累積更新なのでより新しいセキュリティ更新でOK)。LDAPSを使っていないなら(使っているなら証明書とかいろいろ設定したと思います)、LDAPチャネルバインディングの有効化は既存環境に影響しないと思います。
質問4
→ 以下のブログを見ると、LdapEnforceChannelBinding = 1 になるようです。- LDAP Channel Binding = 1 (after update)
- 編集済み Yamauchi KazuoMVP 2020年2月6日 8:03 追記
-
すでに見つけておいでかと思いますが、以下の文書に有効化は今年後半であると明記されていますのでお確かめください
[AD管理者向け] 2020 年 LDAP 署名と LDAP チャネルバインディングが有効化。確認を!
https://msrc-blog.microsoft.com/2019/10/02/ldapbinding/