Active Directory RPC トラフィックを特定のポートに制限する方法
この記事では、Active Directory (AD) レプリケーション リモート プロシージャ コール (RPC) トラフィックを Windows Server の特定のポートに制限する方法について説明します。
適用対象:サポートされているすべてのバージョンの Windows Server
元の KB 番号: 224196
まとめ
既定では、Active Directory レプリケーション リモート プロシージャ コール (RPC) は、ポート 135 を使用して RPC エンドポイント マッパー (RPCSS) を介して使用可能なポートを介して動的に実行されます。 管理者は、この機能をオーバーライドし、すべての Active Directory RPC トラフィックが通過するポートを指定できます。 この手順では、ポートをロックダウンします。
詳細情報のレジストリ エントリを使用して使用するポートを指定すると、Active Directory サーバー側レプリケーション トラフィックとクライアント RPC トラフィックの両方がエンドポイント マッパーによってこれらのポートに送信されます。 Active Directory でサポートされているすべての RPC インターフェイスが、リッスンしているすべてのポートで実行されているため、この構成が可能です。
Note
この記事では、ファイアウォールの AD レプリケーションを構成する方法については説明しません。 レプリケーションをファイアウォール経由で動作させるには、追加のポートを開く必要があります。 たとえば、Kerberos プロトコルのポートを開く必要がある場合があります。 ファイアウォール経由のサービスに必要なポートの完全な一覧については、「 Service overview and network port requirements for Windows」を参照してください。
詳細
重要
このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前に、バックアップします。 その後、問題が起こった場合は、レジストリを復元できます。 レジストリのバックアップと復元方法の詳細は、「Windows のレジストリのバックアップおよび復元の方法」を参照してください。
RPC エンドポイントに接続すると、クライアント上の RPC ランタイムは、既知のポート (135) にあるサーバー上の RPCSS に接続します。 また、必要な RPC インターフェイスをサポートするサービスに接続するポートを取得します。 これは、クライアントが完全なバインディングを認識していないことを前提としています。 これは、すべての AD RPC サービスの状況です。
サービスは、起動時に 1 つ以上のエンドポイントを登録し、動的に割り当てられたポートまたは特定のポートを選択できます。
次のエントリのように、active Directory と Netlogon を port x で実行するように構成すると、標準の動的ポートに加えて、エンドポイント マッパーに登録されているポートになります。
レジストリ エディターを使用して、制限されたポートを使用する各ドメイン コントローラーで次の値を変更します。 メンバー サーバーはログオン サーバーとは見なされません。 そのため、NTDS の静的ポートの割り当てはメンバー サーバーには影響しません。
メンバー サーバーには Netlogon RPC インターフェイスがありますが、ほとんど使用されません。 たとえば、リモート構成の取得 ( nltest /server:member.contoso.com /sc_query:contoso.com
など) があります。
レジストリ キー 1
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
レジストリ値: TCP/IP ポート
値の型: REG_DWORD
値データ: (使用可能なポート)
新しい設定を有効にするには、コンピューターを再起動します。
レジストリ キー 2
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
レジストリ値: DCTcpipPort
値の型: REG_DWORD
値データ: (使用可能なポート)
新しい設定を有効にするには、Netlogon サービスを再起動します。
Note
DCTcpipPort
レジストリ エントリを使用し、TCP/IP Port
レジストリ エントリと同じポートに設定すると、NTDS\Parameters
で Netlogon エラー イベント 5809 が発生します。 これは、構成されたポートが使用中であることを示し、別のポートを選択する必要があります。
一意のポートがあり、ドメイン コントローラーで Netlogon サービスを再起動すると、同じイベントが発生します。 この動作は仕様によるものです。 これは、RPC ランタイムがサーバー ポートを管理する方法が原因で発生します。 ポートは再起動後に使用され、イベントは無視できます。
中間ネットワーク デバイスまたはソフトウェアを使用してドメイン コントローラー間のパケットをフィルター処理する場合、管理者は、指定されたポート経由の通信が有効になっていることを確認する必要があります。
AD レプリケーションと FRS レプリケーションは同じドメイン コントローラーでレプリケートされるため、ファイル レプリケーション サービス (FRS) RPC ポートも手動で設定する必要があります。 FRS RPC ポートでは、別のポートを使用する必要があります。
クライアントが Netlogon RPC サービスのみを使用するため、 DCTcpipPort
設定のみが必要であると想定しないでください。 クライアントは、SamRPC、LSARPC、ディレクトリ レプリケーション サービス (DRS) インターフェイスなどの他の RPC サービスも使用しています。 常に両方のレジストリ設定を構成し、ファイアウォールで両方のポートを開く必要があります。
既知の問題
ポートを指定すると、次の問題が発生する可能性があります。
- Windows Server 2008 R2 ベースのドメイン環境で NTDS と Netlogon の特定の静的ポートを設定した後のログオン時間が長い
- WINDOWS ベースのドメイン環境で NTDS の静的ポートを設定した後、AD レプリケーションが RPC の問題で失敗する
- Windows Server 2012 R2 または Windows Server 2008 R2 でクライアント RPC を DC トラフィックに制限した後、ログオンに失敗する
問題を解決するには、記事に記載されている更新プログラムをインストールします。
データ収集
Microsoft サポートからのサポートが必要な場合は、「 Active Directory レプリケーションの問題に TSS を使用して情報を収集する」に記載されている手順に従って情報を収集することをお勧めします。