Active Directory: Configurare Windows Time Service

Windows Server

Prima o poi ad ogni sistemista capita di dover combattere con la questione degli orari dei computer della rete. La documentazione Microsoft in verità è ottima ed abbondante…. forse anche troppo abbondante, ecco il motivo di questo articolo, vediamo se riusciamo a fare un riassunto il più funzionale possibile.

Il servizio Time di Windows (W32Time) si occupa di mantenere sincronizzati gli orari dei computer in ambiente Microsoft. La questione è di vitale importanza per il corretto funzionamento di una rete Microsoft in quanto il protocollo di autenticazione Kerberos tollera, di default, una differenza di orario al massimo 5 minuti in fase di autenticazione, altrimenti la blocca.

2011_02_11_ntp-01

Figura 1 – Parametro di impostazione all’interno di una Group Policy

W32time è un’implementazione del protocollo NTP (Network Time Protocol) che, attraverso una serie di complessi algoritmi, assicura che gli orologi dei computer all’interno di una rete siano il più accurati possibile. L’ NTP è l’evoluzione del protocollo SNTP (Simple Network Time Protocol) che veniva utilizzato nelle versioni precendenti di Windows (es: Windows 2000) con cui garantisce perfetta interoperabilità.

Per fare questo nell’ambito di un dominio ADDS tutti gli orologi dei computer vengono sincronizzati con l’ora di un computer considerato autorevole, mentre i computer standalone sincronizzano, di default, con il server NTP Internet della Microsoft: time.windows.com. La sincronizzazione dell’orario NTP avviene ad intervalli prestabiliti e comporta il trasferimento di pacchetti NTP sulla rete. La porta utilizzata è la UDP 123 (la stessa dell’SNTP).

Windows Time Service

E’ un paccheto completo di sincronizzazione che supporta i cosiddetti Fornitori di Orario (Time Providers) che si occupano o di ottenere un orario accurato (dalla rete o da un HW apposito es: GPS) o di fornire l’orario agli altri computer della rete. Per cui il Windows Time Service consiste di due diversi componenti:

  • NtpServer: fornitore di orario in uscita, in grado di rispondere alle richieste dei client sulla rete
  • NtpClient: fornitore di orario in entrata, che ottiene dati sull’orario che sono utilizzati per sincronizzare l’orologio locale del computer

2011_02_11_ntp-02

Figura 2 – Archittetura del Servizio Orario di Windows

Il servizio si chiama W32Time e può essere fermato ed avviato tramite i comandi:

Net Stop w32time
Net Start w32time

La Gerarchia degli Orari

Ogni computer utilizza uno dei seguenti metodi per identificare il fornitore di orario con cui sincronizzarsi (per semplificare il discorso utilizziamo un’architettura a singolo dominio):

  • Se non è membro di un dominio si configura con la sorgente di orario esplicitamente indicata
  • Se è una macchina virtuale si sincronizza tramite i servizi di integrazione, almeno che non venga disabilitato, con l’orario del computer Host
  • Se è un client o un server membro di un dominio, di default, segue la gerarchia di AD e si sincronizza con il controller del proprio dominio che sta agendo come NTPServer
  • Se è un controller di dominio si sincronizza con il Domain Controller che detienene il ruolo FSMO di PDC Emulator (si può facilmente identificare usando il comando: Netdom Query Fsmo)
  • Se è il PDC Emulator si sincronizza con un server NTP esterno (o con un Time Server HW)

NB: Attenzione disabilitare sempre il time sync della virtual machine!

2011_02_11_ntp-03

Figura 3 – Gerarchia del Servizio Orario di Windows

Questa gerarchia trova riscontro nel concetto di Strato riportato, ad esempio, in risposta al comando W32tm /monitor (eseguire il comando come amministratore).

La Configurazione

Ricapitolando all’interno di un dominio abbiamo i normali client, i controllori di dominio ed in capo a tutti il DC che detiene il ruolo Fsmo di PDC Emulator, quindi i nostri obiettivi sono:

Configurare la sincronizzazione del PDC emulator con una sorgente esterna, dovete solo scegliere i Time Server da usare; vi consiglio di scegliere qualcosa di ridondante del tipo: 0.it.pool.ntp.org,0x8 1.it.pool.ntp.org,0x8 2.it.pool.ntp.org,0x8. Il valore specificato dopo il nome DNS 0x01 corrisponde al seguente schema:

* 0x01 Intervallo speciale
* 0x02 Usa solo per failback
* 0x04 Attivo Simmetrico
* 0x08 Client

Di default troveremo preimpostato time.windows.com, 0x09 dove 0x09=0x08 0x01

Configurare i client per sincronizzarsi automaticamente con il Dominio questa operazione non dovrebbe essere necessaria in quanto di default tutti i client di dominio si sincronizzano con AD.

Gli Strumenti di Configurazione

Innanzitutto specifichiamo gli strumenti che abbiamo a disposizione:

L’area di registro HKLM\SYSTEM\CurrentControlSet\Services\W32Time a cui accediamo tramite il comando Regedit.

2011_02_11_ntp-04

Figura 4 – Gestione via Registro

Parameters\Type: NTP per il PDCE o computer standalone, NT5DS per i computer
Config\AnnounceFlags:5 per il PDCE
NtpServer: time.windows.com,0x1 per i PDCE o computer standalone

Il modello amministrativo all’interno delle GPO: Computer-> Modelli amministrativi-> Sistema -> Servizio Ora di Windows

2011_02_11_ntp-05

Figura 5 – Gestione via GPO

Fondamentamentalmente lo usiamo per attivare e disattivare i componenti NTP Client e NTPO server. Attenzione in alcuni casi ho riscontrato che la Default Domain Policy disattivava l’NTP Server e Client!

Il comando w32tm: il tool “principe” che ci fornisce ottimi strumenti di configurazione che di analisi e debug. I comandi fondamentali:

w32tm /config /syncfromflags:domhier /update – Impone ad un client la sincronizzazione con il dominio
w32tm /config /manualpeerlist: servers /syncfromflags:manual /reliable:yes /update

Lista dei Server NTP

Impostare il PDCE per la sincronizzazione con i server NTP indicati (Es: w32tm /config /manualpeerlist:”0.it.pool.ntp.org,0x8 1.it.pool.ntp.org,0x8 2.it.pool.ntp.org,0x8″ /syncfromflags:manual /reliable:yes /update)

w32tm /stripchart /computer:serverNTP /samples: n /dataonly

Dove n è il numero di campionemanti effettuati. Questo comando riporta la differenza di orario con il server indicato nel parametro obiettivo.

w32tm /resync – Forza una sincronizzazione degli orari usato spesso con i parametri /rediscover e/o /nowait
w32tm /monitor – Esegue il monitoraggio della configurazione e lo stato della gerarchiain AD
w32tm /unregister – Elimina il Servizio Ora di Windows e tutte le sue configurazioni
w32tm /register – Abilita il Servizio Ora di Windows con le impostazioni di default

I comandi NET. E’ buona norma dopo avere apportato modifiche di configurazione fermare e riavviare il servizio.

Net Stop w32time – Ferma il Servizio Ora di Windows
Net Start w32time – Avvia il Servizio Ora di Windows

Per quanto possa sembrare banale come argomento, uno dei principali problemi che incorrono nelle realtà aziendali, piccole o grandi che siano, è proprio la mancanza di un corretto uso del protocollo NTP. Basti pensare che se Exchange Server perde l’allinamento con il Domain Controller, i suoi servizi vengono bloccati ed il server va in errore. Quindi è buona norma tenere i vostri computer, sempre sul pezzo.

Link Utili