Monday, May 17, 2010

Restricting Active Directory replication traffic and client RPC traffic to a specific port

By default, Active Directory replication remote procedure calls (RPC) occur dynamically over an available port through the RPC Endpoint Mapper (RPCSS) by using port 135. This process is the same process as in Microsoft Exchange. As in Microsoft Exchange, an administrator can override this functionality and specify the port that all Active Directory RPC traffic passes through. This procedure locks the port down.

When you specify ports to use by using the registry entries that are mentioned in the below, both Active Directory server-side replication traffic and client RPC traffic are sent to these ports by the endpoint mapper. This configuration is possible because all RPC interfaces that are supported by Active Directory are running on all ports on which it is listening.

Note This article does not imply that replication can occur through a firewall. Additional ports must be opened to make replication work through a firewall. For example, additional ports must be opened for the Kerberos protocol.

When you connect to an RPC endpoint, the RPC runtime on the client contacts the RPC endpoint mapper (RPCSS) on the server at a well-known port (135) and obtains the port to connect to for the service supporting desired RPC interface. This assumes that the client does not know the complete binding. This is the case with all AD RPC services.

The service registers one or more endpoints when it starts, and has the choice of a dynamically assigned port or a specific port.

If you configure Active Directory and Netlogon to run at "port x" as in the following entry, this becomes the ports that are registered with the endpoint mapper in addition to the standard dynamic port.

Use Registry Editor to modify the following values on each domain controller where the restricted ports are to be used. Member servers are not considered to be logon servers. Therefore, static port assigment for NTDS and Netlogon has no effect on them.

Registry key 1
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
Registry value: TCP/IP Port
Value type: REG_DWORD
Value data: (available port)
Registry key 2
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
Registry value: DCTcpipPort
Value type: REG_DWORD
Value data: (available port)

Administrators should confirm that if any intermediate network devices or software is used to filter packets between domain controllers, that communication over the specified port is enabled. Both the replication and the netlogon should be set to use different ports.

Note When you use the DCTcpipPort registry entry, and you set it to the same port as the TCP/IP Port registry entry, you receive Netlogon error event 5809 under NTDS\Parameters. This indicates that the port configured is in use. In this case, you should remove the DCTcpipPort registry entry. You will receive the same event when you have a unique port, and you restart the Netlogon service on the domain controller. This is by design, and occurs because of the way the RPC runtime manages its server ports. The port for Netlogon is still being registered with the runtime, even when you stop the Netlogon service. The port will be used after the restart, and the event can be ignored.

If you are setting the Active Directory replication to a fixed port outside the range that is allowed for RPC ports to control access and logons through a firewall, the replication port and the dynamic RPC ports will have to be opened on the firewall to allow access and logons. This is because logon uses the Replication Port for user mapping.

You may want to set the Active Directory replication to a fixed port outside the range that is allowed for RPC ports. You may want to do this to control access and logons through a firewall. However, because of this, the replication and Netlogon port must be opened on the firewall. This is because the logon process uses the Replication Port for user mapping.

1 comment:

  1. I recommend Skype Call Recorder. Helps me a lot for recording interviews, podcasts

    ReplyDelete