O Active Directory utiliza uma série de portas para prover seus serviços. Destes serviços, o RPC utiliza portas dinâmincas, o que dificulta o serviço da equipe responsável por controlar quais portas podem ser trafegadas na rede.
Abaixo os procedimentos que utilizamos para fixar algumas dessas portas na replicação do Active Directory.
- Prós: Mais seguro que o RPC Dinâmico, pois utiliza apenas uma porta alta fixa
- Contras: É necessária uma modificação a nível de registro em todos os Controladores de Domínio.
Quando um cliente quer se comunicar com um serviço RPC, ele primeiro estabelece a conexão com o servidor utilizando-se o portmapper (porta 135) e o portmapper retorna o número da porta correspondente do RPC ao cliente e fecha a conexão. Finalmente, o cliente faz uma nova conexão ao servidor usando o número da porta que ele recebeu do portmapper.
É necessário também fixar um número de porta RPC para replicação. Você deve usar a partir da faixa 49152 – 65535 de acordo com o padrão IANA – Internet Assigned Numbers Authority (conforme links descrito nas referências).
Antes de iniciar será necessário definir as portas, neste exemplo utilizaremos as portas 51001, 51002 e 51003.(mas é sempre válido verificar antes se a porta que será utilizada já não é por padrão de um serviço específico ou se não está sendo utilizado em sua rede com outro objetivo). Para alterar as portas, abra o regedit do servidor Active Directory e adicione as seguintes chaves:
É necessário criar as seguintes chaves (todas serão do tipo REG_DWORD e devem possuir o valor informado em decimal):
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
Criar a chave REG_DWORD: DCTcpipPort com o valor decimal 51001 - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
Criar a chave REG_DWORD: TCP/IP Port com o valor decimal 51002 - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTFRS\Parameters
Criar a chave REG_DWORD: DCTcpipPort com o valor decimal 51003
Se você utiliza DFS-R, em vez de alterar a última chave listada acima, execute:
dfsrdiag StaticRPC /port:51003 /Member:<serverFQDN>
Se preferir fazer tudo de uma vez (inclusive reiniciar o servidor), abra o cmd como administrador e execute (copie e cole):
%SystemRoot%\System32\reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" /v "DCTcpipPort" /t REG_DWORD /d "00051001" /f
%SystemRoot%\System32\reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" /v "TCP/IP Port" /t REG_DWORD /d "00051002" /f
%SystemRoot%\System32\reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters" /v "RPC TCP/IP Port Assignment" /t REG_DWORD /d "00051003" /f
%SystemRoot%\System32\shutdown.exe -r -f -t 0
Após configurado, reinicie o servidor, teste se as portas TCP estão corretas (telnet) e a replicação. LEMBRANDO QUE É IMPORTANTE fazer esse procedimento em todos os controladores de domínio pois a comunicação é bidirecional.
É possível também adicionar essas chaves por GPO em toda a OU Domain Controllers, se preferir (e já tiver testado o procedimento com sucesso). Assim facilitará a rotina de segurança nos controladores de domínio, permitindo a criação de uma política de firewall dos DCs restringindo as conexões apenas nas portas necessárias (o suporte para o procedimento e a lista de portas pode ser consultado nas referências).
Fontes/Referências
https://technet.microsoft.com/pt-br/library/cc668484.aspx
https://blogs.technet.microsoft.com/luistog/2012/05/08/restricting-ad-replication-traffic-between-dcs-to-only-a-few-ports/
https://support.microsoft.com/en-us/help/224196/restricting-active-directory-rpc-traffic-to-a-specific-port
https://technet.microsoft.com/en-us/library/8daead2d-35c1-4b58-b123-d32a26b1f1dd
https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
Mais Informações
Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.
Entre em contato conosco pelo e-mail equipe@nvlan.com.br.