Windows Server で LDAP 署名を有効にする方法

この記事では、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、および Windows 10 で LDAP 署名を有効にする方法について説明します。

元の製品バージョン:   Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows 10 - すべてのエディション
元の KB 番号:   935834

まとめ

署名 (整合性検証) を要求しない簡易認証およびセキュリティ層 (SASL) LDAP バインドを拒否するようにサーバーを構成するか、クリア テキスト (非 SSL/TLS 暗号化) 接続で実行される LDAP 単純バインドを拒否することにより、ディレクトリ サーバーのセキュリティを大幅に向上できます。 SASL バインドには、ネゴシエート、Kerberos、NTLM、ダイジェストなどのプロトコルが含まれる場合があります。

署名されていないネットワーク トラフィックはリプレイ攻撃の影響を受けやすい。 このような攻撃では、侵入者が認証の試行とチケットの発行を傍受します。 侵入者は、チケットを再利用して正当なユーザーを偽装できます。 さらに、署名されていないネットワーク トラフィックは、侵入者がクライアントとサーバー間のパケットをキャプチャし、パケットを変更してサーバーに転送する man-in-the-middle (MIM) 攻撃の影響を受けやすくします。 この問題が LDAP サーバーで発生した場合、攻撃者は、LDAP クライアントからの偽造された要求に基づいてサーバーが決定を下す可能性があります。

[署名を要求する] オプションを使用しないクライアントを検出する方法

この構成変更を行った後、署名されていない SASL (ネゴシエート、Kerberos、NTLM、またはダイジェスト) LDAP バインドまたは非 SSL/TLS 接続を使用した LDAP 簡易バインドに依存するクライアントは動作を停止します。 これらのクライアントを識別するために、Active Directory ドメイン サービス (AD DS) またはライトウェイト ディレクトリ サーバー (LDS) のディレクトリ サーバーは、24 時間ごとに 1 回、概要イベント ID 2887 をログに記録して、このようなバインドが発生した数を示します。 このようなバインドを使用しないクライアントを構成することをお勧めします。 このようなイベントが長期に分かからなかった場合は、そのようなバインドを拒否するサーバーを構成することをお勧めします。

このようなクライアントを識別するために詳細な情報が必要な場合は、より詳細なログを提供するためにディレクトリ サーバーを構成できます。 この追加ログでは、クライアントが署名されていない LDAP バインドを作成しようとするときに、イベント ID 2889 が記録されます。 ログ エントリには、クライアントの IP アドレスと、クライアントが認証に使用しようとした ID が表示されます。 この追加ログを有効にするには 、16 LDAP インターフェイス イベント診断設定を 2 (基本) に設定します。 診断設定を変更する方法の詳細については、「Active Directory および LDS 診断イベント ログを構成 する方法」を参照してください

SSL/TLS 以外の接続で署名されていない SASL LDAP バインドまたは LDAP 簡易バインドを拒否するようにディレクトリ サーバーが構成されている場合、ディレクトリ サーバーは、このようなバインド試行が発生した場合に 24 時間ごとに 1 回、概要イベント ID 2888 を記録します。

DS に対して LDAP サーバーの署名を要求するようにディレクトリをAD方法

セキュリティ設定の変更に及ぼす可能性がある影響については、「セキュリティ設定とユーザー権限の割り当てを変更した場合、クライアント、サービス、およびプログラムの問題が発生する可能性がある 」を参照してください

注意

イベント ID 2889 の異常をログに記録する

サード パーティ製の LDAP クライアントを使用するアプリケーションでは、Windows が正しくないイベント ID 2889 エントリを生成する可能性があります。 これは、LDAP インターフェイス イベントをログに記録し、2 に等しい LDAPServerIntegrity 場合に 発生します。 シール (暗号化) の使用は MIM 攻撃に対する保護を満たしますが、Windows はイベント ID 2889 を記録します。

これは、LDAP クライアントが SASL と組み合わせてのみ組み合わせて使用する場合に発生します。 これは、サード パーティ製の LDAP クライアントと関連してフィールドに表示されています。

接続が署名とシールの両方を使用しない場合、接続セキュリティ要件チェックではフラグが正しく使用され、切断されます。 このチェックでは、エラー 8232 (ERROR_DS_STRONG_AUTH_REQUIRED)。

グループ ポリシーの使用

サーバー LDAP 署名要件を設定する方法

  1. [ファイル名を > 指定して実行]選択 し、「mmc.exe」と入力して 、[OK] を選択します
  2. [ファイルの > 追加と削除] スナップインを選択 し、[グループ ポリシー管理エディター] を選択して、[追加] を 選択します
  3. グループ ポリシー オブジェクト参照を > 選択します
  4. [グループ ポリシー オブジェクト の参照] ダイアログボックスで、[ドメイン 、US、 およびリンクされたグループ ポリシー オブジェクト] 領域の下の [既定のドメイン コントローラー ポリシー] を選択し 、[OK] を選択します。
  5. [完了] を選択します。
  6. [OK] を選択します。
  7. Select Default Domain Controller Policy Computer > Configuration > Policies Windows > Settings Security > Settings Local > Policies, and then select Security Options.
  8. [ドメイン コントローラー: LDAP サーバー署名 の要件] を右クリックし、[プロパティ] を選択 します
  9. [ドメイン コントローラー: LDAP サーバー 署名要件のプロパティ]ダイアログ ボックスで、[このポリシー設定の定義] を有効にし、[このポリシー設定の定義] ボックスの一覧で [署名が必要] を選択して 、[OK] を選択します。
  10. [設定の 変更の確認] ダイアログ ボックスで、[はい] を 選択します

ローカル コンピューター ポリシーを使用してクライアント LDAP 署名要件を設定する方法

  1. [ファイル名を > 指定して実行]選択 し、「mmc.exe」と入力して 、[OK] を選択します
  2. [ファイルの > 追加と削除] スナップインを選択します
  3. [スナップイン の追加と 削除] ダイアログ ボックスで、[ グループ ポリシー オブジェクト エディター] を選択し、[追加] を 選択します
  4. [完了] を選択します。
  5. [OK] を選択します。
  6. Select Local Computer Policy Computer > Configuration > Policies Windows > Settings Security > Settings Local > Policies, and then select Security Options.
  7. [ネットワーク セキュリティ : LDAP クライアント署名の要件] を右クリックし、[プロパティ] を 選択します
  8. [ネットワーク セキュリティ : LDAP クライアント署名 要件のプロパティ]ダイアログ ボックスで、一覧で [サインインが必要] を選択し 、[OK] を選択します。
  9. [設定の 変更の確認] ダイアログ ボックスで、[はい] を 選択します

ドメイン グループ ポリシー オブジェクトを使用してクライアント LDAP 署名要件を設定する方法

  1. [ファイル名を > 指定して実行]選択 し、「mmc.exe」と入力して 、[OK] を選択します
  2. [ファイルの > 追加と削除] スナップインを選択します
  3. [スナップイン の追加と 削除] ダイアログ ボックスで、[ グループ ポリシー オブジェクト エディター] を選択し、[追加] を 選択します
  4. [ 参照] を選択し、[既定の ドメイン ポリシー] (またはクライアント LDAP 署名を有効にするグループ ポリシー オブジェクト) を選択します。
  5. [OK] を選択します。
  6. [完了] を選択します。
  7. [閉じる] を選択します。
  8. [OK] を選択します。
  9. [既定のドメイン ポリシー コンピューター > の構成 > ] Windows 設定のセキュリティ > 設定 > のローカル ポリシー を選択し、[セキュリティ オプション]を選択します
  10. [ネットワーク セキュリティ : LDAP クライアント署名 要件のプロパティ]ダイアログ ボックスで、一覧で [サインインが必要] を選択し 、[OK] を選択します。
  11. [設定の 変更の確認] ダイアログ ボックスで、[はい] を 選択します

レジストリ キーを使用してクライアント LDAP 署名要件を設定する方法

重要

このセクションの手順の実行には注意が必要です。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 変更する前に、問題の発生に備えて復元用にレジストリのバックアップを作成してください。

既定では、Active Directory ライトウェイト ディレクトリ サービス (AD LDS) では、レジストリ キーは使用できません。 したがって、次のレジストリ サブキーの下に、REG_DWORD LDAPServerIntegrity のレジストリ エントリを作成する必要があります。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ <*InstanceName> *\Parameters

注意

プレースホルダーは <InstanceName> 、変更する LDS AD名前を表します。

構成の変更を確認する方法

  1. DS 管理ツールがインストールされているコンピューター ADサインインします。

  2. [ファイル名を > 指定して実行]選択 し、「ldp.exe」と入力して 、[OK] を選択します

  3. [接続 接続] を > 選択します

  4. [ サーバー] と [ ポート] で、ディレクトリ サーバーのサーバー名と SSL/TLS 以外のポートを入力し 、[OK] を選択します。

    注意

    Active Directory ドメイン コントローラーの場合、該当するポートは 389 です。

  5. 接続が確立された後、[接続バインド] > 選択します

  6. [ バインドの種類] で、[簡易バインド ] を選択します

  7. ユーザー名とパスワードを入力し 、[OK] を選択します。

    次のエラー メッセージが表示された場合は、ディレクトリ サーバーが正常に構成されています。

    Ldap_simple_bind_s() 失敗: 強力な認証が必要

関連情報