You are on page 1of 3

Windows Time e NTP

Publicado por Juliano Sathler em fevereiro 23, 2012 Introduo Hoje gostaria de falar sobre um servio muito importante em uma estrutura de Active Directory e que as vezes ignorada por alguns administradores do Active Directory, o Windows Time. O objetivo aqui no descrever todas as chaves e valores (estas informaes podem ser obtidas no KB816042 ) e sim alertar para possiveis riscos relacionados a configurao incorreta deste servio. Observaes e recomendaes Windows time a implementao da Microsoft do protocolo NTP (utiliza a porta UDP/123) e utilizado para manter o horario (GMT) de todos os servidores e estaes de um dominio sincronizadas. O sincronismo da hora excencial em um ambiente de Active Directory por exemplo (e no apenas) devido ao uso do protocolo Kerberos. O principal risco que temos quando o Windows Time no esta devidamente configurado esta relacionado com a mudana brusca de data/hora (seja para mais ou para menos) pois neste caso podemos ter problemas no Active Directory, tais como:

Excluso definitiva dos objetos excluidos que estavam no periodo de tombstone; o Objetos excluidos no podero ser reanimados; o Caso algum dos objetos excluidos no tenha sido replicado para todos os DCs, o objeto ainda existir nos DCs no replicados causando inconcistncia no AD (lingering objects); o Expirao da senha de todos os usurios; o Problemas com Trusts (senhas podem perder o sincronismo);

A forma que o Windows Time sincroniza data/hora controlada pela chave Type localizada em HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters. Esta chave pode possuir os valores:

NTP: Sincroniza com uma fonte externa; NT5DS: Sincroniza com a hierarquia do dominio; NoSync: No sincroniza hora; AllSync: Sincroniza com a hierarquia e com a fonte externa;

A hierarquia do dominio utilizada pelo valor Type=NT5DS pode ser visualizada na imagem abaixo:

Como pode ser visto na imabem acima, o nico host que deve ter o valor Type=NTP o PDC Emulator do dominio raiz, os demais hosts do dominio devem ter a o valor type=NT5DS. Para configurar esta chave, pode-se utilizar o editor de registro ou o utilitrio w32tm:

Para utilizar a hierarquia do dominio (Type=NT5DS): o w32tm.exe /config /syncfromflags:domhier o w32tm.exe /config /update Para utilizar uma fonte externa (Type=NTP) o w32tm.exe /config /syncfromflags:manual /manualpeerlist:servidorntp.dominio.com.br o w32tm.exe /config /update

Com esta configurao definimos como os hosts iro sincronizar data/hora, porem no resolvemos o problema relacionado a mudana brusca de data/hora.

Para resolver este problema precisamos configurar as chaves MaxPosPhaseCorrection e MaxNegPhaseCorrection localizadas em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config . A partir do Windows Server 2008, estas chaves so definidas com o valor 172800 (decimal) ou seja, apenas alteraes menores ou iguais a 48 horas (acima ou abaixo da hora atual no host) sero aceitas, valores fora deste intervalo sero ignorados. Hosts com o Windows Server 2003 precisam ser manualmente ajustados (esta configurao tambem pode ser feita por GPO). Por fim precisamos configurar o PDCE para sincronizar com uma fonte externa que seja confivel. No Brasil temos o projeto www.ntp.br que pode ser utilizado para este sincronismo, para isso basta importar as chaves abaixo (salvar as linhas abaixo em um arquivo com a extenso .reg) e em seguida reiniciar o servio Windows Time. A porta UDP/123 dever estar aberta no firewall para permitir a comunicao com os servidores NTP externos. Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parame ters] NtpServer=a.ntp.br,01 b.ntp.br,01 c.ntp.br,01 Type=NTP [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config] MaxNegPhaseCorrection=dword:00000e10 MaxPosPhaseCorrection=dword:00000e10 AnnounceFlags=dword:00000005 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimePr oviders\NtpServer] Enabled=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimePr oviders\NtpClient] SpecialPollInterval=dword:00000e10 isso ai pessoal, ate a prxima.

You might also like