1. Fondamenti di Windows 2000 e Windows 2003
In questa sezione verranno illustrate le principali caratteristiche di Windows 2000 e Windows 2003.
1.1 Caratterstiche dei sistemi operativi Windows 2000
Il sistema operativo Windows 2000 è l'evoluzione del vecchio sistema operativo Windows NT 4.0. Tant'è vero che il suo nome originario, cioè quello fornito dagli sviluppatori e non dall'ufficio marketing, era Windows NT 5.0. Il sistema operativo Windows 2000 è stato suddiviso, in base alle sue caratteristiche impostate all'atto dell'acquisto, nelle seguenti varianti:
- Windows 2000 Professional
- Windows 2000 Server
- Windows 2000 Advanced Server
- Windows 2000 Data Center
A parte la variante Windows 2000 Professional, realizzata per gli utenti finali, tutte le altre sono orientate al lato server ed è di quest'ultime che illustreremo le principali caratteristiche:
- Windows 2000 Server
- Supporta da uno a quattro processori.
- Gestisce fino a 4GB di RAM.
- Non supporta nativamente il Network Load Balancing.
- Non può essere utilizzato per realizzare cluster ad alta affidabilità.
- Esiste una Lista dei componenti Hardware Certificati (HCL in inglese), da parte della Microsoft.
- Non supporta il Winsock Direct per aumentare le prestazioni di rete.
- Supporta un elevato tempo di disponibilità in compatibilità con i livelli di qualità forniti dai vari componenti hardware certificati dagli OEM.
- Non supporta il Partizionamento Hardware (Hardware Partition).
- Non consente di specificare la quantità di memeoria e di processo dei perocessori da assegnare a ciascuna applicazione o servizio.
- Windows 2000 Advanced Server
- Supporta da uno fino a otto processori.
- Gestisce fino a 8GB di RAM.
- Supporta nativamente il Network Load Balancing.
- Può essere utilizzato per realizzare cluster a due nodi ad alta affidabilità.
- Esiste una Lista dei componenti Hardware Certificati (HCL in inglese), da parte della Microsoft.
- Supporta il Winsock Direct per aumentare le prestazioni di rete.
- Supporta un più elevato tempo di disponibilità rispetto a Windows 2000 Server a parità di compatibilità con i livelli di qualità forniti dai componenti hardware certificati dagli OEM.
- Non supporta il Partizionamento Hardware (Hardware Partition).
- Non consente di specificare la quantità di memeoria e di processo dei perocessori da assegnare a ciascuna applicazione o servizio.
- Windows 2000 Data Center
- Supporta da uno fino a trantadue processori.
- Gestisce fino a 64GB di RAM.
- Supporta nativamente il Network Load Balancing.
- Può essere utilizzato per realizzare cluster a quattro nodi ad alta affidabilità.
- Esiste una Lista dei componenti Hardware Certificati (HCL in inglese), da parte dei laboratori Windows Datacenter, in cui viene testata la completa affidabilità del sistema.
- Supporta il Winsock Direct per aumentare le prestazioni di rete.
- Fornisce il più elevato tempo di disponibilità rispetto a tutte le altre varianti di Windows 2000, a parità di compatibilità con i livelli di qualità forniti dai componenti hardware certificati dagli OEM.
- Supporta il Partizionamento Hardware (Hardware Partition).
- Consente di specificare la quantità di memeoria e di processo dei perocessori da assegnare a ciascuna applicazione o servizio.
Per avere informazioni sui file che vengono installati con i Support Tools basta consultare il documento Support Tools.
Licenze di Windows 2000
Windows 2000 mette a disposizione degli utenti due tipi di licenze:
- Per Server Licensing: Può accettera un numero massimo di connessioni contemporanee pari al valore indicato nella voce Per Server Licensing. Ogni client o server che si collega ad un server in cui è stato impostato questo tipo di licenza, consuma una licenza del server. Per gestire questo tipo di licenze si utilizza il programma Licensing Tool che si trova nel Control Panel
- Per Seat Licensing: Accetta un numero illimiato di connessioni contemporanee. Per gestire questo tipo di licenze si utilizza il Licensing Manager che si trova negli Administrative Tools.
Ogni client che accede ad un server Windows 2000 deve avere un tipo particolare di licenza chiamato Client Access License o più brevemente CAL. Nel caso delle Per Seat Licensing la licenza CAL deve essere in posseso o del client o del server che tenta di collegarsi, mentre nel caso delle Per Server Licensing è il server di rete che assegna o al client o al server che tenta di collegarsi una licenza CAL.
I profili in Windows 2000
A ciascun utente di un server o workstation su cui è installato Windows 2000, viene assegnato un profilo, ovvero la capacità di personalizzare l'ambiente in cui sta operando. L'utente è in grado di cambiare le seguenti impostazioni:
- Desktop Settings,
- Registry Settings,
- Profiles Directory,
- My Documents,
- Favorites
Tutte queste informazioni vengono archiviate all'interno del file NTUser.dat che di solito si trova all'interno della cartella Document and Settings\<AccountUtente>.
Il SAM di Windows 2000
Il SAM, ovvero il Security Accounts Mabager è il database locale di Windows 2000 in cui vengono conservati e gestiti gli account locali. Il SAM è conservato nel registry, ma viene implementato come semplice file all'interno della cartella %windir%\System32\Config. Facendo uso del comando del Resource kit di Windows 2000 Server, NTRights.exe, è possibile modificare le impostazioni locali della sicurezza (Local Security Policy). Queste impostazioni vengono disolito modificate facendo uso del omonimo tool grafico.
System State
Il System State di Windows 2000 è composto dai seguenti componenti:
- Registry
- Component Services Class Registration Database
- System Startup Files
- Certificate Service Database. Questo componente è presente solamente se il server svolge il ruolo di Certificate Server.
- Active Directory. Questo componente è presente solamente se il server svolge il ruolo di Domain Controller.
- Sysvol Folder. Questo componente è presente solamente se il server svolge il ruolo di Domain Controller.
Strumenti per la gestione di Windows 2000
Di seguito riportiamo alcuni degli strumenti più comuni nella gestione di Windows 2000.
Strumenti per la gestione della memoria
I Support Tools di Windows 2000 mettono a disposizione dell'Amministratore di Sistema i seguenti strumenti per la diagniosi dello stato della memoria:
- gflags.exe Strumento dotato d'interfaccia grafica.
- Poolmon.exe: Consente di vedere se sono presenti dei Memory Leaks. Strumento da riga di comando.
- Pmon.exe: Evidenzia le risorse utilizzate (CPU e Memoria) da ciascun processo attivo. Strumento da riga di comando.
- Pviewer.exe: Mostra i dettagli della memoria utilizzata da un processo, consente di cambiare la priorità con cui gira un processo, può uccidere l'esecuzione di un processo. Strumento dotato d'interfaccia grafica.
Strumenti per la gestione dei Device Driver Software
I sistemi operativi della Microsodft, a partire da Windows 2000 in poi, sono in grado di distingure se un Device Driver Software è firmato digitalmente o meno. Per determinare come si deve comportare il sistema operativo difronte ad un Device Driver non firmata digitalmente si devono ad andare selezionare le seguenti opzioni:
- Collegarsi alla macchina con un utente avente diritti amministrativi.
- Cliccare col pulsante destro del mouse sopra l'icona My Computer. Dal menu contestuale che si apre, selezionare la voce Properties.
- Entrare nella sezione Hardware.
- Cliccare sul pulsante Driver Signing.
- Selezionare una delle seguenti opzioni:
- Se non ci si vuole preoccupare se un Device Driver Software sia firmato digitalmente o meno, selezionare la voce Ignore - Install the Software Anyway and Don't Ask for my Approval.
- Se si vuole venire avvertiti ogni qual volta si sta installando un Device Driver Software non firmata digitalmente, allora bisogna selezionare la voce Warn - Prompt me Each Time to Choose an Action. Questa è l'impostazione di default.
- Se si desidera installare solamente dei Device Driver Software che sono firmati digitalmente, allora bisogna selezionare la voce Block - Never Install Unsigned Driver Software.
- Premere OK per confermare le impostazioni adottatte.
Conviene, a volte, controllare se tutto il software che si è deciso d'installare è Firmato Digitalmente. Per portare a termine questa analisi si possono utilizzare due approcci:
- Lanciare il comando SigVerif.exe.
- Sfruttare i Tools del System Information:
- Aprire la Computer Management console.
- Cliccare sopra la sigla System Information
- Dal menu Tools selezionare prima la voce Windows poi quella Driver Signing.
Entrambi i metodi lanciano la finestra di dialogo File Signature Verification. Cliccando sul pulsante Advanced si possono impostare i valori di logging dell'applicazione. Di default l'applicazione File Signature Verification crea un file di log chiamato SigVerif.txt.
1.2 Installazione di Windows 2000 e Windows 2003
Installazione automatica
I sistemi operativi Windows 2000 e superiori, mettono a disposizione dell'amministratore di sistema tutta una serie di strumenti per automatizzare la loro installazione su di un server. Esiste una versione opportunamente personalizzata di Windows XP, chiamata Windows PE che consente di realizzare installazioni particolarmente sofisticate dei sistemi operativi Windows 2000 e superiori. Per maggiori informazioni sulle capacità di Windows PE si possono consultare i documenti Windows PE User's Guide e Windows Deployment Sysprep and the Windows PE. Un documento che si rivela particolarmente utile ogni qual volta si decide d'installare in modo automatico i sistemi operativi Windows 2000 o superiori è il seguente Windows 2000 Unattended Setup. Per personalizzare il file Winnt.sif in base alla Lingua e alla codifica della Tastiera, si può consultare il documento LocaleID Input Locale and Language.
Di solito, quando si decide d'installare in modo automatico i sistemi operativi Windows 2000 o superiori, si procede nel seguente modo:
- Si crea un floppy disk contente il file Winnt.sif relativo alla particolare installazione automatica che si desidera effetture.
- Inserire il floppy disk all'interno del server che si desidera effettuare.
- Accendere il server ed inserire il cdrom contente la versione di Windows che si desidera installare.
In questo modo la procedura di setup del sistema operativo pesca le informazioni necessarie per l'installazione dal file Winnt.sif che si trova all'interno del floppy disk.
Installazione di Driver Plung and Play
Quando s'installa un driver Plugn and Play (PNP) vengono fornite in automatico le seguenti informazioni:
- Interrupt Request (IRQ) line number.
- Direct Memory Access (DMA) channels.
- Input/Output (I/O) port address.
- Memory Address Range.
Installazione di Windows 2003
Per avere maggiori informazioni su come viene realizzata un'installazione Unattened di Windows 2003 si può consultare i documenti How Unattended Installation Works e How Setup Works.
Se si sta eseguendo una migrazione a Windows 2003 partendo da Windows 2000 può tornare utile il seguente articolo Common mistake in configuring Windows 2003.
Per avere un'idea delle opzioni di boot che mette a disposizione Windows 2003 si può consultare il documento Boot INI Options Reference.
Le licenze di Windows 2003
Esistono diversi tipi di licenze di Windows 2003. La conoscenza di quale tipo di licenza di Windows 2003 si è in possesso è fondamentale per sapere come aggiornare le proprie copie di Windows 2003 alla versione R2. Le licenze disponibili di Windows 2003 sono:
- Retail: sono normalmente le copie che si acquistano in un negozio o da un distributore.
- Evaluation: sono copie le copie di valutazione che a seconda del prodotto possono, superato il periodo di valutazione del prodotto, o impedire l'accesso al log on, oppure riavviarsi periodicamente ogni ora.
- Volume Licensing Programs: è un tipo particolare di licenza che comprende le seguenti tipologie
di contratto:
- Select Licensing Program
- Enterprise Agreement Licensing Program
- Service Provider Licensing Agreement (SPLA) Program
- OEM: sono licenze fornite direttamente dal costruttore del hardware, di solito sono preinstallate sul dispositivo acquistato e se il fornitore è un Royalty OEM Vendors, questi è in grado di fornire versioni di Windows 2003 che non richiedono il Windows Product Activation. Questo tipo di licenze prendono il nome di System-Locked Preinstallation Product Keys.
Per maggiori informazioni su come risalire al tipo di licenza acquistata si può consultare la Knowledge Base KB889713
1.3 Domain Name System
Nel linguaggio dei DNS, il computer che chiede informazioni al server DNS viene chiamato DNS Resolver, mentre il server DNS prende il nome di Name Server.
I componenti su cui poggia una struttura basata su DNS sono:
- DNS Resolvers
- Name Server
- Domain Name Space
I prerequisiti per installare un DNS Server sono:
- Assegnare al server su cui si desidera installare il servizio DNS un indirizzo IP statico.
- Riempire il campo DNS Suffix for this connection col nome del DNS Domain Name che si desidera installare. Il campo DNS Suffix for this connection si trova all'interno del proprietà avanzate, nella sezione DNS, della configurazione del TCP/IP delle schede di rete del server.
Si osservi che sebbene non sia necessario, conviene configurare il file %SystemRoot%\system32\drivers\etc\Hosts con gli
indirizzi IP di tutti i server presenti nella LAN. Questo poichè i client Windows 2000 caricano all'interno della
loro DNS Cache, in modo permanente, tutte le informazioni contenute all'interno del file Hosts. Essendo
la DNS Cache interrogata prima dei DNS Server, ne segue che le informazioni contenute nel file Hosts possono
ridurre il traffico di rete e snellire la connessione ai server presenti all'interno della LAN. Per avere maggiori informazioni
sul ruolo che svolgono i DNS Server nel processo di risoluzione dei nomi in una LAN, si può consultare il documento
DNS in Name Resolution Designs. Per vedere il contenuto della
DNS Cache si può utilizzare il comando ipconfig /displaydns
Il valore della TTL che viene riportato
esprime per quanti secondi il record corrispondente rimmarrà nella DNS Cache. Eseguendo in sequenza due o più comandi
ipconfig /displaydns
si può osservare che il valore del campo TTL diminuisce.
Esistono tre tipi di DNS Query che un DNS Resolver può fare ad un Name Server:
- Recursive Query. Il Name Server s'incarica di restituire, dato un nome FQDN il suo Indirizzo IP. In questo caso il Name Server può arrivare alla risoluzione del nome FQDN da solo o in collaborazione con altri Name Server. Se il Name Server riesce a risolvere il nome utilizzando solamente le sue informazioni sulle zone DNS che ospita, si dice che il Name Server è autoritativo su quelle zone DNS.
- Iterative Query. Il Name Server può:
- Risolvere il nome FQDN se è o autoritativo sul DNS Domain a cui il nome FQDN appartiene oppure ha in cache l'indrizzi IP di quel nome FQDN.
- Restituire un un puntatore ad un'altro Name Server.
- Reverse Query. In questo caso il DNS Resolver chiede al Name Server di dirgli a quale Indirizzo IP corrisponde una dato nome FQDN.
In tutte e tre i tipi di DNS Query citate, la risposta del Name Server può essere anche un eventuale messaggio d'errore qualora non sia in grado di dare una risposta adeguata.
Le DNS Query vengono gestite dal servizio DNS Client sia sui DNS Resolver sia sui Name Server. Il DNS Client non si preoccupa invece della registrazione dinamica dei DNS Records (questa operazione viene svolta dal servizio DHCP Client).
I server DNS di Windows 2000 non possono essere inseriti in Network Load Balancing. Conviene poi che un server DNS sia anche Domain Controller. Visto il sistema di replica dei DNS non ha senso inserirli all'interno di un cluster ad alta affidabilità (sebbene ciò sia tecnicamente fattibile).
Per poter amministrare un server DNS bisogna appartenere a gruppi diversi a seconda della tipologia d'installazione del server DNS:
- Se il server DNS non è anche un Domain Controller per poter amministrare il servizio DNS bisogna appartenere al gruppo Administrators
- Se il server DNS è un Domain Controller per poter
amministrare il servizio DNS bisogna appartenere ad uno
dei seguenti gruppi:
- DNSAdmins
- Domain Admins
- Enterprise Admins
Con Windows 2000 sono possibili i seguenti tipi di zone:
- Standard Primary Zone
- Standard Secondary Zone
- Active Directory Integrated Zone. Solamente se è presente Active Directory e il server è anche Domain Controller.
All'interno di un file di zona sono possibili i seguenti tipi di record:
- SOA: Indica il punto d'origine dell'autorità del file di zona. Il record SOA è il primo record del file di zona. In esso sono contenuti dei parametri che vengono utilizzati dagli altri server DNS, come ad esempio per quanto tempo possono utilizzare un informazione oppure con quale frequenza devono provvedere ad un aggiornamento delle informazioni contenute nei loro file di zona. La sigla SOA sta per Start Of Autority.
- A (Address Record): Contengono l'associazione Nome Macchina -> Indirizzo IP. Questi record vengono anche chiamati Record Host.
- NS (Name Server Record): Contiene il nome del Name Server autoritativo per la zona a cui il file si riferisce.
- CNAME: Indicano nomi alternativi per le macchine registrate all'interno dei Record A. Questi record prendono anche il nome di Alias. La sigla CNAME sta per Canonical NAME.
- MX: Contengono il nome del Mail Server a cui le macchine che fanno riferimento alla zona, devono puntare. La sigla MX è l'acronimo del nome Mail eXchange.
- PTR: Sono i record utilizzati nelle zone inverse del dominio in-addr-arpa. Questi record contengono l'associazione Indirizzo IP -> Nome Macchina. La sigla PTR sta per PoinTeR.
- SRV: Contengono i riferimenti ai vari server che erogano i servizi che vengono messi a disposizione dei client di un dominio Active Directory. La sigla SRV corrisponde a SeRVice location records.
- HINFO: Contegono informazioni sul tipo di Hardware e il tipo di Sistema Operativo di un host. La sigla HINFO è l'acronimo per Host INFOrmation Records.
- WKS (Well Know Service): Contiene l'elenco dei servizi che sono supportati da un certo server, identificato in base al suo indirizzo IP. Tra i servizi che si possono elencare ci sono, ad esempio, il Telnet, Simple Mail Transfer Protocol.
Il servizio Net Logon si preoccupa di registrare i record SRV, ma non di registrare in modo dinamico i DNS records (questa operazione viene svolta dal servizio DHCP Client).
Per ciascuna zona, i server che gesticono il corrispondente file di zona assumono i seguenti nomi:
- Primary Server: sono i server che gestiscono la Standard Primary Zone.
- Secondary Server: sono i server che gestiscono la Standard Secondary Zone. Per ogni Primary Server possono esistere più Secondary Server.
- Master DNS Server: sono i server a cui i Secondary Server fanno riferimento per aggiornare il file di zona. Un Master DNS Server può essere sia un Primary Server o un Secondary Server. Un Secondary Server può avere più di un Master DNS Server.
Per maggiori informazioni sui DNS Server realizzati col sistema operativo Windows 2000 si può consultare il documento Windows 2000 DNS.
Root Zone
La Root Zone è la zona da cui nascono tutte le zone. La Root Zone è rappresentata dal
simbolo . e viene di solito omesso nei nomi FQDN, infatti di solito si preferisce
scrivere miocomputer.miodominio.net
piuttosto che miocomputer.miodominio.net
.
Quando s'installa il servizio DNS su una macchina Windows 2000 o superiore, viene anche creato il file %SystemRoot%\System32\DNS\cache.dns contenente l'elenco completo dei DNS autoritativi sulla Root Zone. I server che ospitano una copia della Root Zone prendono il nome di Root Name Server. Per vedere un esempio di file cache.dns cliccare qui.
Bisogna creare una Root Zone ogni qual volta ci si trova in una delle seguenti situazioni:
- La LAN che si sta amministrando non è collegata ad Internet.
- La LAN che si sta amministrando è collegata ad Internet attraverso un Proxy Server.
Cache File
Il file cache.dns deve sempre esistere in qualunqe implementazione di DNS. Il file cache.dns contiene, di solito:
- tutte le informazioni necessarie per risolvere le query sulle zone in cui il server DNS non è autoritativo;
- nomi ed indirizzi IP dei vari Root Name Server.
Per i DNS Server che non devono risolvere nomi di server Internet, il file cache.dns dovrebbere contenere solamente i nomi e gli indirizzi IP dei Name Server autoritativi dei vari Root Domain dell'Intranet aziendale.
Negative Caching
Un server DNS che non ospita nessuna zona si dice essere un Caching-Only Name Server. Prende il nome di Negative Caching la possibilità che ha un Caching-Only Name Server di conservare, per un tempo massimo di 15min, nomi FQDN di cui non riesce a risolvere l'indirizzo IP. In questo modo il Caching-Only Name Server, quando torna a ricevere query su quei particolari nomi FQDN, risponde direttamente in modo negativo al DNS Resolver, avanzando d'inoltrare la richiesta ai Name Server di riferimento. Per attivare il Negative Caching bisogna modificare la seguente chiave di registry: HKEY_Local_Machine\System\CurrentControlSet\Services\DNSCache\Parameters\NegativeCacheTime, impostando un valore compreso fra 1 (1sec) e 900 (900sec, cioè 15min). Il valore 0 significa che il Negative Caching non è abilitato.
Subnet Priotization
La Subnet Prioritization è una caratteristica dei DNS Server e dei DNS Client. Sui DNS Client basati su Windows 2000 il Subnet Prioritization è abilitato di default. Questa proprietà consente ad un DNS Client di ordinare gli Indirizzi IP che riceve in risposta delle DNS Query, in base alla loro sottorete di appartenenza, dando priorità agli Indirizzi IP che appartengono alla sua stessa sottorete. In questo modo il DNS Client tende ad usufruire dei servizi erogati dai server che appartengono alla sua stessa sottorete. Per disabilitare questa funzionalità bisogna modificare il Registry del DNS Client, introducendo la chiave PrioritizeRecordData (REG_WORD), con valore 0, all'interno della sottochiave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DnsCache\Parameters
La Subnet Prioritization può essere abilitata anche sui DNS Server selezionando la voce Enable Netmask Ordering che si trova all'interno della sezione Advanced, delle Properties del DNS Server. L'ordine con cui il DNS Server fornisce gli Indirizzi IP in risposta alle DNS Query che riceve dipende da come è stato configurato il DNS Server. Le impostazioni del DNS Server che condizionano l'ordine con cui gli Indirizzi IP vengono forniti ai DNS Client dipende da:
- Se il Round Robin è abilitato o meno (di default il Round Robin è abilitato).
- Dal valore della chiave di registry LocalNetPriority (REG_WORD) che si trova all'interno della sottochiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters. La chiave LocalNetPriority può assumere i valori 0 (disabilitata, quindi non è attivo il Round Robin) o 1 (abilitata, è attivo il Round Robin).
La Subnet Prioritization inibisce il funzionamento del Round Robin solamente se gli indirizzi IP da mettere in Round Robin non appartengono alla stessa sottorete, pertanto, in questi casi, se si desidera utilizzare il Round Robin bisogna disabilitare la Subnet Prioritization.
Per maggiori informazioni sulla Subnet Prioritization si può consultare il documento Windows 2000 DNS.
DNS Forwarding
Di solito il porcesso di risoluzione dei nomi avviene nel seguente modo:
- Un DNS Resolver interroga il suo primary Name Server inviandogli un nome FQDN di cui desidera avere l'indirizzo IP.
- Se il Name Server riesce a risolvre in autonomia la DNS Query restituisce l'informazione richiesta al DNS Resolver, atrimenti interroga il primo server della lista dei Root Hints. Ha così inizio una Iterative Query.
- A seguito della Iterative Query il Name Server o il DNS Resolver, a seconda della configurazione del Name Server, inizia una catena di DNS Query ai vari Name Server che compongono la struttura gerarchica del DNS Domain inserito nel FQDN richiesto dal DNS Resolver nella sua prima DNS Query.
Questo comporta che quando il Name Server non è autoritativo sulla zona a cui il nome FQDN richiesto dal DNS Resolver appartiene, viene generato, a seguito della Iterative Query, un cospiquo traffico di rete. Tipicamente questo traffico di rete viene prodotto quando un DNS Resolver chiede un indirizzo IP di un server pubblico, ovvero di un server presente in Internet. Se la banda con cui il Name Server o il DNS Resolver non è particolarmente veloce, si possono avere dei cali prestazionali abbastanza marcati. Per ovviare a questo, si può demandare ad un particolare Name Server la gestione delle Iterative Query. Questi particolari Name Server prendono il nome di DNS Forwarder. Per svolgere il ruolo di DNS Forwarder si prende di solito un Name Server pubblico. In questo modo il DNS Forwarder preoccupandosi di gestire l'Iterative Query consente di ridurre il consumo della banda, in quanto o il Name Server o il DNS Resolver si vedrà recapitare solamente la risposta della DNS Query originale. Quando in un Name Server si abilita l'utilizzo dei DNS Forwarder la risoluzione delle DNS Query avviene in maniera leggermente differente:
- Se la voce Do Not Use Recursion non è selezionata:
- Se il Name Server è autoritativo sulla zona DNS del nome FQDN provvede a dare direttamente una risposta alla DNS Query.
- Se il Name Server ha in cache la risposta, provvede a rispondere alla DNS Query.
- Vengono poi interrogati i DNS Forwarder. Il primo DNS Forwarder interrogato è quello che è in cima alla lista riportata nella sezione Forwarders delle Properties del Name Server nella DNS console che si trova all'interno degli Administrative Tools.
- Infine Vengono interrogati i Root Hints.
- Se la voce Do Not Use Recursion è selezionata (Slaving DNS Server):
- Se il Name Server è autoritativo sulla zona DNS del nome FQDN provvede a dare direttamente una risposta alla DNS Query.
- Se il Name Server ha in cache la risposta, provvede a rispondere alla DNS Query.
- Infine vengono interrogati i DNS Forwarder. Il primo DNS Forwarder interrogato è quello che è in cima alla lista riportata nella sezione Forwarders delle Properties del Name Server nella DNS console che si trova all'interno degli Administrative Tools.
L'operazione di blindare un DNS Server tramite la selezione dell'opzione Do Not Use Recursion prende il nome di Slaving DNS. Quando i DNS Server sono anche Domain Controller e le zone vengono integrate in Active Directory conviene sempre trasformare il server in un Slaving DNS per motivi di sicurezza. Per garantire però la possibilità ai client di navigare in Internet è bene garantire che le seguenti condizioni siano soddisfatte:
- Siano specificati almeno due DNS Forwarder.
- Il volre del campo Number of seconds before forwarder queries time out siamo impostato a 60 secondi.
Per maggiori informazioni sui DNS Forwarder si può leggere il documento Using Forwarders.
Boot File
Il Boot File è un file di configurazione caratteristico dell'implementazione BIND (Berkley Internet Name Daemon) del servizio DNS. Questo file contiene informazioni sugli host che necessitano di essere risolti al di fuori del dominio autoritativo. La sua implementazione in Windows 2000 ha come scopo quello di migliorare la compatibilità con le implementazioni BIND del servizio DNS. La struttura di un Boot File presenta le seguenti sezioni:
- Directory Command. Specifica la cartella in cui recuperare i vari file che vengono utilizzati all'interno del Boot File.
- Cache Command. Specifica il file utilizzato dal DNS Server per contattare i Root Name Server. Questa sezione e il file corrispondente devono sempre essere presenti.
- Primary Command. Specifica un dominio DNS per il quale il DNS Server è autoritativo e un Data-Base File che contiene i resource record per quel dominio (o in altri termini, il file di zona). All'interno di un Boot File ci possono essere più sezioni Primary Command.
- Secondary Command. Specifica un dominio DNS per il quale il DNS Server è autoritativo e una lista di indirizzi IP di Master DNS Server dai quali tentare di scaricare le informazioni sulla zona. Contiene anche le specifiche relative al file che contiene la caching zone. All'interno di un Boot File ci possono essere più sezioni Secondary Command.
Active Directory Integrated Zones
Accanto alle zone Standard Primary Zone e Standard Secondary Zone, Windows 2000 mette a disposizione una terza possibile zona chiamata Active Directory Integrated Zone. Affinchè un server DNS possa ospitare una Active Directory Integrated Zone si devono verificare le seguenti due situazioni:
- Deve essere in piedi Active Directory in Native Mode
- Il DNS server deve essere un Domain Control
Una Active Directory Integrated Zone viene conservata e mantenuta all'interno di Active Directory. I vantaggi di utilizzare una Active Directory Integrated Zone consistono in:
- Multi-Master Updates. Con Active Directory Integrated Zone, i cambiamenti effettuati utilizzando il protocollo di Dynamic Update possono essere fatti su un qualunque server che ospita l'Active Directory Integrated Zone, piuttosto che su un singolo server.
- Fault Tollerance. Tutte le Active Directory Integrated Zone sono zone primarie. Quindi, ciascun domain controller che ospita un'Active Directory Integrated Zone mantiene le informazioni di zona.
- Single Replication Topology. I trasferimenti di zona occorrono come parte delle repliche di Active Directory, eliminando la necessità di configurare cicli di replicazione differenti per le zone DNS ed Active Directory. In tal modo la replicazione delle zone DNS avviene sfruttando il File Replications Services.
- Secure Dynamic Update. Con le Active Directory Integrated Zones, si possono impostare permessi sulle zone e i record delle zone. Inoltre, gli aggiornamenti che utilizzano il protocollo di Dynamic Update possono venire solamente da computer autorizzati.
Solamente le Standard Primary Zone possono venire convertite in Active Directory Integrated Zone.
L'opzione Secure Dynamic Update è valida solamente per le Active Directory Integrated Zone e non anche per le altre tipologie di zone. Quando s'imposta la Secure Dynamic Update solamente i client che appartengono al dominio possono registrarsi dinamicamente sul DNS e solamente i client che originariamente avevano registrato il loro record nel DNS possono aggiornarlo.
Le zone DNS Active Directory Integrated Zone si trovano all'interno
della Organization Unit
OU=MicrosoftDNS,OU=System,DC=<NomeDominio>,DC=<SuffissoPrimario>
(ad esempio OU=MicrosoftDNS,OU=System,DC=homeworks,DC=local
).
Come salvare le Active Directory Integrated Zone
Il salvagtaggio delle Active Directory Integrated Zone non � semplice come per le Primary Zone o le Secondary Zone. Per svolgere il salvataggio delle Active Directory Integrated Zone si deve utilizzare il comando dnscmd.exe, che si trova all'interno dei Support Tools di Windows 2000/2003/XP. I Support Tools si trovano all'interno del cdrom d'installazione di Windows 2000/2003/XP. Il file d'installazione dei Support Tools cambia a seconda del sistema operativo in cui si opera (nel caso di Windows 2003 R2, i Support Tools si trovano nel primo cdrom d'installazione):
- Windows 2000: Per installare i Support Tools eseguire il file Support\Tools\Setup.exe
- Windows 2003/XP: Per installare i Support Tools eseguire il file Support\Tools\suptools.msi
In alternativa, i Support Tools si possono scaricare direttamente dal sito della Microsoft (www.microsoft.com)
Per eseguire il salvataggio di una Active Directory Integrated Zone basta eseguire il comando:
dnscmd <DomainController> /zoneexport <NomeZonaDNS> backup\<NomeZonaDNS>.dns.txt
Ad esempio:dnscmd /zoneexport homeworks.it backup\homeworks.it.dns.txt
oppure:dnscmd dc01.homeworks.it /zoneexport homeworks.it backup\homeworks.it.dns.txt
Il file backup\<NomeZonaDNS>.dns.txt viene creato all'interno della cartella %systemroot%\system32\dns del Domain Controller a cui il comando dnscmd.exe ha fatto riferimento. Il comando dnscmd.exe non � in grado di sovrascrivere un file esistente, pertanto, se si desidera inserire il salvataggio di una Active Directory Integrated Zone all'interno di uno script, ci si deve preoccupare di spostare o cancellare di volta in volta il file %systemroot%\system32\dns\backup\<NomeZonaDNS>.dns.txtPer maggiori informazioni si pu� leggere il documento DNS Backups Without the Baggage dal quale risulta pure possibile scaricare uno script per l'esecuzione del backup o il restore di una zona DNS integrata in Active Directory.
Dynamic Update Protocol
Il Dynamic Update Protocol è conforme a quanto contenuto nelle RFC 3007 e RFC 2136. Solamente i client che hanno Windows 2000 o versioni successive di windows, possono sfruttare il Dynamic Update Protocol. L'aggiornamento dinamico dei record A viene eseguito dal DHCP Client, anche quando l'indirizzo IP è statico. Il Dynamic Update Protocol viene attivato solamente sulle Zone DNS e non sui Domini DNS; pertanto se una zona DNS ha più sottodomini DNS, il dynamic update protocol può venire definito solamente sulla zona che ospita i vari domini DNS, col risultato che tutti i domini DNS della zona accetterenno gli aggiornamenti dinamici dei propri record.
L'aggiornamento dinamico del record A avviene, di solito, nelle seguenti circostanze:
- Al riavvio di una macchina.
- Quando la macchina cambia nome.
- Quando la macchina cambia indirizzo IP.
- Quando un client remoto attiva una connessione dial-up
- Quando viene forzata la registrazione al DNS tramite il comando
ipconfig /registerdns
Per motivi di sircurezza, conviene installare i server DHCP su macchine che non svolgono anche il ruolo di Domain Controller, quando i server DNS sono in Active Directory Integrated Zone. Per maggiori informazioni sui problemi che si possono avere quando il servizio DHCP viene svolto da un Domain Controller che è anche Name Server, si può consultare la Knowledge Base KB255134.
Per consentire ad un server DHCP di aggiornare i record A anche di macchine che non sono Windows 2000 o superiori, qualora i server DNS siano in Active Directory Integrated Zone, bisogna inserire il server DHCP all'interno del gruppo DnsUpdateProxy. I membri di questo gruppo possono aggiornare e rinfrescare tutti i record DNS appartenenti ai vari server che sono censiti nel gruppo.
Quando un client Windows 2000 o superiore, configurato per ricevere un indirizzo IP in modo dinamico via DHCP, non riesce a registrare dinamicamente il proprio Record A all'interno dei System Log's del Event Viewer compare un messaggio con le seguenti caratteristiche:
- Type: Warning
- Source: DNSApi
- Category: None
- Event: 11153
- Computer: Nome del computer che ha tentato la registrazione del Record A
Questo messaggio compare di solito quando il client non ha i permessi per registrare il proprio Record A. Per ovviare a questo bisogna verificare se i permessi di Dynamic Update del server DNS sono su Yes o su Only secure updates poichè in questo caso, solamente i client che appartengono alla foresta a cui appartiene il DNS possono registrare i propri Record A. Al contrario, quando un client riesce a registare il proprio Record A all'interno del Event Viewer (sia del client sia del Server) non compare nessuna segnalazione. Se il client riceve il proprio indirizzo IP in modo dinamico tramite un DHCP Server, la registrazione del PTR Record viene effettuata dal Servizio DHCP Server del DHCP Server.
I DHCP Client da Windows 2000 in poi, specificano, all'interno della richiesta di DHCPREQUEST il proprio FQDN (codice 81 Client FQDN Option), in questo modo risulta più appropriata la gestione della registrazione dei record A e PTR da parte del DHCP Server (per maggiori informazioni si consulti il documento KB191290). Per evitare problemi sulla proprietà dei record A e PTR conviene inserire il server DHCP all'interno del gruppo DnsUpdateProxy. Per essere sicuri che il DHCP Server elimini i record PTR corrispondenti a DHCP lease scadute, bisogna abilitare l'opzione Discard forward (name-to-address) lookups when lease expires all'interno delle opzioni del DHCP Server o dello Scope (per maggiori informazioni si consulti il documento KB306780).
Per avere maggiori informazioni su come impostare i vari parametri di un DHCP Client, si può consultare il documento Windows 2000 DNS. Quando un DNS Client registra il proprio Record A specifica anche il Time To Live (TTL) del record stesso (di default è di 20 minuti). Per cambiare il TTL del Record A bisogna aggiungere la seguente chiave nel registry del DNS Client:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DefaultRegistrationTTL
In questo modo si può modificare il valore di default del TTL che è specificato nel SOA Resource Record del Primary DNS Server a cui il DNS Client tenta di registrarsi.
Per sapere come integrare un DNS Server che supporta DNS Dynamic Update in un ambiente che non supporta il DNS Dynamic Update, si può consultare il documento KB255913 del TechNet.
Scavenge Records
Gli Scavenge Records sono quei record del DNS il cui TimeStamp, sommato all'intervallo di tempo di Refresh e di No-Refresh è inferirore alla data e ora correnti. Ciò si può verificare solamente per quei record del DNS che non vengono aggiornati o rinfrescati da molto tempo. Il termine molto tempo si riferisce all'intervallo di tempo che si ottiene sommando l'intervallo di tempo di Refresh con quello di No-Refresh, l'intervallo di tempo così ottenuto prende il nome di Scavenging Interval. Se viene abilitata la cancellazione degli Scavenge Records, allora periodicamente, il DNS provvede ad eliminare questi record. La presenza degli Scavenge Records può provocare delle incongruenze all'interno del database DNS, specie se questi records si riferiscono a computer che hanno IP dinamico, in quanto si possono presentare situazioni in cui l'indirizzo IP che avevano queste macchine, in seguito alla scadenza della lease del DHCP, viene assegnato ad altre macchine, col risultato che all'interno del DNS ci sono due computer con nomi diversi che portano allo stesso indirizzo IP.
Con i termini No-Refresh Interval e Refresh Interval intendiamo:
- No-Refresh Interval: è l'intervallo di tempo all'interno del quale un Record A del DNS non può
venire rinfrescato. Il compito di questo intervallo di tempo è quello di ridurre il numero di registrazione
in Active Directory che possono avvenire nel corso di una giornata lavorativa. Infatti, al momento del
riavvio, tutti i PC di una rete tentano di registrare in modo dinamico il proprio hostname nel loro
Primary DNS. Poichè il numero di queste registrazioni potrebbe essere molto elevato, questo comporterebbe
un aumento del carico di lavoro sui Domain Controller, sia a causa delle registrazioni in essere, sia per
la necessità di replicare il contenuto di Active Directory con gli altri Domain Controller
del dominio. Grazie a questo intervallo di tempo, si possono calmierare le registrazioni dinamiche dei vari PC della LAN
quando questi vengono riavviati. Ovviamente, però, un record A può ancora venire aggiornato, anche se si trova
all'interno di questo intervallo di tempo. Per farlo però bisogna prima cancellarlo e poi ri-registrarlo col comando
ipconfig /registerdns
- Refresh Interval: è l'intervallo di tempo all'interno del quale un Record A del DNS può venire
rinfrescato. Ovviamente, anche all'interno di questo intervallo di tempo, un record A può venire
ancora aggiornato. Questo intervallo di tempo deve essere più grande del massimo intervallo di tempo
di refresh degli altri servizi dei sistemi operativi Windows 2000 o superiori. Come schema generale si possono
prendere in considerazione i seguenti tempi:
- NetLogon: intervallo di refresh di 60min (1 ora)
- Clustering: intervallo di refresh da 15min a 20min
- DHCP Client: intervallo di refresh di 24 ore (1 giorno)
- DHCP Server: l'intervallo di refresh del DHCP Server è variabile in quanto corrisponde alla metà della vita di un indirizzo IP (Scope Lease Time). Pertanto se lo Scope Lease Time è di 14gg allora l'intervallo di refresh del DHCP Server sarà di 7gg.
Da quanto detto ne segue che lo Scavenging Interval deve essere uguale allo Scope Lease Time, per cui se ad esempio lo Scope Lease Time è di 14gg allora il Refresh Interval dovrà essere di 8gg e quindi il No-Refresh Interval sarà di 6gg (8gg +6gg = 14gg).
Per abilitare lo scavenging dei record scaduti si deve:
- All'interno delle Advanced Properties di un server DNS selezionare la voce Enable automatic scavenging of stale records. Impostare un'intervallo di tempo tra un'operazione di scavenging e l'altro specificando uno Scavenging Period.
- Per ciascuna zona impostare un No-Refresh Interval ed un Refresh Interval in modo opportuno.
Per sapere quando ha avuto luogo una procedura di Scavenging, bisogna consultare l'Event Viewer e controllare la presenza del evento 2501 (SymbolicName: DNS_EVENT_AGING_SCAVENGING_END).
Per maggiori informazioni sugli eventi del DNS di Windows 2000 si possono consultare i seguenti documenti:
Si ricordi che quando s'imposta lo scavengin dei record di una certa zona, si fa sì che i record di quella zona non siano più record standard, ovvero la presenza della data di creazione del record impedisce a questi record di essere condivisi con implementazioni del servizio DNS diverse da quelle Microsoft. Pertanto se una data zona primaria deve essere replicata su un server secondario BIND, non bisogna abilitare lo scavenging dei record scaduti.
Come impostare un client Windows 2000/XP per il dynamic update
Per configurare un client Windows 2000/XP per utilizzare il Dynamic Update del DNS basta procedere come indicato:
- Collegarsi al client con un utente avente diritti amministrativi.
- In Network and Dial-Up Connections fare click col pulsante destro del mouse sulla scheda di rete che si desidera configurare e selezionare poi la voce Properties.
- Nella finestra Properties evidenzioare la voce Internet Protocol (TCP/IP) e cliccare poi sul pulsante Properties.
- All'interno della finestra Internet Protocol (TCP/IP) Properties cliccare sul pulsante Advanced.
- All'interno della finestra Advanced TCP/IP Settings andare nella sezione DNS e
assicurarsi che siano selezionate una o l'altra delle seguenti voci:
- Register this connection's address in DNS. Abilita il client a registrare il proprio nome completo ed indirizzo IP all'interno del DNS.
- Use this connection's DNS suffix in DNS registration. Abilita la registrazione all' interno del DNS del nome del computer composto dal suo nome NetBIOS più il suffisso DNS specificato durante la connessione alla rete. Utilizzare questa opzione solamente se il suffisso DNS è diverso dal nome di dominio.
- Premere OK tre volte.
Quando si utilizza l'opzione Use this connection's DNS suffix in DNS registration il client registra oltre al record A anche il record PTR.
Record SRV registrati dai Domain Controller
Ogni Domain Controller registra all'interno dei server DNS dei Record SRV che servono ai vari client per identificare i vari servizi che mettono a disposizione i domain controller presenti nella rete. Come sappiamo, infatti, la struttura di active directory risulta alquanto articolata, col risultato che questa struttura, nella sua complessità, dovrà venire riprodotta fedelmente all'interno dei vari server DNS. La struttura di un record SRV è la seguente:
_service_.protocol.name ttl class SRV priority weight port target
Dove ciascun termine ha un significato ben preciso:
- service: indica il nome del servizio offerto dal particolare domain controller che ha registrato il record. Valori possibili sono ad esempio: ldap, kerberos.
- protocol: specifica qual'è il protocollo utilizzato dal servizio. Valori possibili sono: TCP, UDP.
- name: è il nome del dominio DNS in cui il servizio è operativo.
- ttl: è l'acronimo della sigla Time To Live ovvero il tempo di vita del record SRV. Questo è un campo standard di tutti i record presenti in un file di zona.
- class: identifica la classe della risorsa associata al servizio. Questo campo è un campo
standard per i record presenti in un file di zona. Di solito, il valore di questo
campo è IN per i sistemi in Internet. In generale però sono ammessi
i seguenti valori:
- IN in Internet.
- CS in CSNET (obsoleto e non più utilizzato).
- CH in CHAOS.
- HS in HESIOD.
- priority: indica la priorità del servizio. Più basso è questo vaolre, più il servizio è prioritario. I client si basano su questo valore per decidere a quale server rivolgere, per primo, le proprie richieste.
- weight: consente di realizzare un bilanciamento, seppur minimo, del carico di lavoro dei diversi domain controller che offrono il medesimo servizio. All'interno dello stesso dominio DNS possono essere presenti più domain controller che offrono il medesimo servizio. Può risultare che la priority dei vari domain controller risulti essere la stessa. Pertanto, i client scelgono, in modo casuale, il domain controller a cui rivolgersi fra quelli che hanno weight più alto. Ne segue che più alto sarà il vaolre di weight di un domain controller, più richieste riceverà quel domain controller.
- port: specifica su quale porta il servizio resterà in ascolto.
- target : è il nome FQDN del domain controller che offre il servizio.
Un esempio di record SRV potrebbe essere:
_ldap_tcp.home.lan 600 IN SRV 0 100 389 master.home.lan
I Domain Controller, al loro avvio, inseriscono i seguenti record facendo uso del servizio di Net Logon:
- Un Record A per associare al nome del domain controller un indirizzo IP.
- Tanti Record SRV quanti sono i servizi che il domain controller eroga.
Questi record vengono inseriti in modo dinamico sfruttando il Dynamic Update.
I record SRV standard, ovvero che valgono per tutti i domain controller, anche quelli che non sono windows 2000, che vengono inseriti di solito sono:
- _ldap._tcp.DnsDomainName. è il nome di un server LDAP che opera nel dominio DNS DnsDomainName.
- _gc._tcp.DnsForestName permette d'identificare il Global Catalog Server all'interno della foresta DnsForestName. Si osservi che il nome DnsForestName è il DNS Domain Name del Forest Root Domain. Questo record viene inserito solamente dai Global Catalog Server e solamente nei DNS del Forest Root Domain.
- _gc._tcp.SiteName._sites.DnsForestName. consente ad un computer client di individuare il Global Catalog Server che appartiene sia alla foresta DnsForestName, sia al sito SiteName. Questo record viene inserito solamente dai Global Catalog Server e solamente nei DNS del Forest Root Domain.
- _kerberos._tcp.DnsDomainName. identifica il Kerberos Domain Controller del dominio DnsDomainName. Questo record viene inserito da tutti i domain controller che eseguono Kerberos V5.
- _kerberos._tcp.SiteName._sites.DnsDomainName. Identifica un Kerberos Domain Controller che appartiene sia al dominio DnsDomainName, sia al sito SiteName. Questo record viene inserito da tutti i domain controller che eseguono Kerberos V5.
Si osservi che il nome SiteName è il Relative Distinguished Name del sito a cui il domain controller appartiene, esattamente così com'è inserito in Active Directory.
I record SRV che abbiamo elencato sono tutti i record SRV standard DNS che di solito si trovano in un file di zona. I domain controller Windows 2000 (e superiori) inseriscono, oltre ai record sopra citati, anche degli altri record SRV proprietari:
- _ldap.tcp.dc._msdcs.DnsDomainName.
- _ldap._tcp.SiteName._site.dc._msdcs.DnsDomainName.
- _ldap._tcp.gc._msdcs.DnsForestName.
- _ldap._tcp.SiteName._sites.gc._msdcs.DnsDomainName.
- _kerberos._tcp.dc._msdcs.DnsDomainName.
- _kerberos._tcp.SiteName._sites.dc._msdcs.DnsDomainName.
Per maggiori informazioni sui record SRV, si può consultare l'articolo RFC 2782.
Trasferimenti di Zona
Esistono due metodi possibili per trasferire le informazioni fra una zona primaria e una zona secondaria, a seconda della quantità di dati che vengono trasferiti.
- Incremental Zone Trasfer (IXFR): vengono trasferite solamente le differenze fra la zona primaria e la zona secondaria. Questo meccanismo di trasferimento dei dati è conforme alla RFC 1995. Se si desidera attivare trasfermineti di zona IXFR verso DNS Server basati su BIND, bisogna togliere il segno di selezione dalla voce BIND Secondaries che si trova nella sezione Advanced delle Properties del DNS Server.
- Full Zone Trasfer (AXFR): una copia completa e fedele della zona primaria va a sostituire il file di zona della zona secondaria.
I DNS server realizzati con Windows 2000 utilizzano il metodo dell'Incremental Zone Trasfer per trasferire i dati fra di loro. Ad ogni modo, però, sono in grado di ricorrere al meccanismo della Full Zone Trasfer se il Secondary Server non è in grado di utilizzare l'Incremental Zone Trasfer. Un trasferimento di zona ha luogo solamente se si verifica una delle due seguenti situazioni:
- Un Master DNS Server notifica ai vari Secondary Server che gestisce che ci sono delle modifiche al file di zona.
- Periodicamente un Secondary Server interroga i suoi Master DNS Server di riferimento per chiedergli se ci sono modifiche al file di zona.
- All'avvio del servizio DNS un Secondary Server interroga sempre i suoi Master DNS Server di riferimento per sapere se ci sono state modifiche al file di zona.
Le informazioni relative al trasferimento dei file di zona sono contenute all'interno del Record SOA.
Island DNS
Per maggiori informazioni sul problema degli Island DNS si può consultare la Knowledge Base: KB275278.
Prestazioni dei DNS
Quando si hanno molte Active Directory Integrated Zone, si possono porre seri problemi di performance del DNS, in particolare nella gestione delle eventuali repliche di zona. Per cercare di migliorare le prestazioni del DNS si può procedere nel seguente modo:
- Si stabilisce, in base alla struttura di Active Directory un Source DNS da cui far poi replicare tutti gli altri.
- Il Source DNS è l'unico DNS server che ha come Primary DNS se stesso, mentre tutti gli altri DNS Server hanno come Primary DNS il Source DNS.
- Tutti i DNS Server hanno come Secondary DNS un DNS Server diverso da loro stessi.
DNS Performance Counter
Quando s'installa il Domain Name System vengono aggiunti anche i seguenti Performance Counters:
- Overall DNS Server performance statistics.
- UDP o TCP counters.
- Dynamic Update and Secure Dynamic Update Counters.
- Memory Usage counters.
- Recursive Lookup Counters.
- WINS Lookup Counters.
- Zone Transfer Counters.
Modifiche alle Zone Primarie
Se una Primary Zone non è integrata in Active Directory, allora è possibile modificare manualmente il file di zona corrispondente. Per rendere però operative queste modifiche, bisogna riavviare il DNS Service:
net stop "Server DNS"
net start "Server DNS"
Le Primary Zone che non sono integrate in Active Directory vengono inserite nella chiave di registry HKLM\System\CurrentControlSet\Services\DNS\Zone.
Comandi utili
Talvolta possono tornare utili i seguenti comandi da eseguire sui client:
-
DNScmd.exe consente di svolgere dei compiti
amministrativi sul DNS server e di ottenere delle informazioni
sia sulla configurazione del DNS Server e sia sulle zone che il DNS Server ospita. Ad esempio:
-
dnscmd NameServer.DnsDomainName /Info
per ottenere informazioni sulla configurazione di un Name Server. -
dnscmd NameServer.DnsDomainName /ZoneInfo NomeZona
per ottenere informazioni sulla configurazione di una data zona DNS (NomeZona
). -
dnscmd NameServer.DnsDomainName /statistics
per ottenere informazioni di carattere statistico su un dato Name Server.
-
- ipconfig /displaydns per vedere il contenuto della cache DNS di un client.
- ipconfig /flushdns per cancellare il contenuto della cache DNS di un client.
- ipconfig /registerdns per forzare un client a registrarsi dinamicamente su di un server DNS. Il comando funziona solamente se il servizio DHCP Client è in esecuzione.
- net stop netlogon e net start netlogon per fermare e riavviare il servizio Net Logon e procedere al censimento dinamico del client all'interno dei server DNS.
- netdiag.exe consente di eseguire dei test sul DNS.
- nslookup.exe
consente di svolgere diverse operazioni sul server DNS.
Fra le possibili operazioni che si possono svolgere, le più interessanti sono:
- Utilizzando l'opzione ls si può simulare un trasferimento di zona fra un Primary DNS ed un Secondary DNS (a patto di lanciare il comando dal Primary DNS).
- Se si digitano in sequenza i comandi:
nslookup
eset debug
. Si possono realizzare DNS query nelle quali viene mostrato il TTL dei record. Tramite il TTL si può capire se il DNS Server ha dovuto interrogare un WINS Server per risolvere il nome. Se così fosse allora eseguendo due DNS query in rapida successione si dovrebbe notare che il TTL del record diminuisce ad ogni nuova DNS query.
set d2
si possono vedere tutti i messaggi che si scambiano il DNS Resolver e i Name Server.
1.4 Windows Internet Name Service
In una rete composta interamente da macchine dotate di sistema operativo Windows 2000 o superire non è necessario attivare un Windows Internet Name Service (WINS), sebbene sia consigliabile farlo. L'implementazione di WINS si rende assolutamente necessaria quando all'interno della rete sono presenti o sistemi operativi che si basano su NetBIOS o sistemi operativi antecedenti a Windows 2000 oppure applicazione che utilizzano solamente i Nomi NetBIOS, quest'ultima situazione �, oggigiorno, la pi� comune. Se si � deciso di mettere in piedi una rete con sistemi operativi Windows 2000 o superiori e si ha un unico Dominio di Active Directory ed un unico site, allora si pu� pensare di disabilitare il traffico NetBIOS dei client e dei server (prima di farlo, per�, conviene svolgere un'attenta fase di test). Per avere maggiori informazioni su come disabilitare il protocollo NetBIOS si pu� consultare la Knowledge Base KB299977 Per avere un'idea sulle conseguenze che si possono avere a causa della disabilitazione del protocollo NetBIOS, si pu� leggere il bellissimo articolo di Tim Rains Why you still run Windows Internet Naming Service (WINS). Se si desiderano invece maggiori informazioni sul servizio Windows Internet Name Service si possono consultare i documenti Windows Internet Name Service e Windows NT Browsing.
Si osservi che il sistema di stampa di Windows 2000/2003/XP, pu� prevedere l'utilizzo del protocollo NetBIOS, ad esempio quando la coda di stampa si basa sulla condivizione \\NomeServer\NomeStampante. In questi casi, la disabilitazione del protocollo NetBIOS non � possibile.
Il protocollo NetBIOS
Il protocollo NetBIOS utilizza le seguenti porte:
- Il NetBIOS Name Service utilizza le porte TCP 137 e UDP 137.
- Il NetBIOS Datagram Service utilizza la porta UDP 138.
- Il NetBIOS Session Service utilizza la porta TCP 139.
I nomi NetBIOS
I nomi NetBIOS presentano le seguenti caratteristiche:
- Possono essere lunghi al massimo 16 bytes:
- 15 bytes rappresentano il Nome NetBIOS vero e proprio.
- Il sedicesimo byte indica il servizio associato al Nome NetBIOS.
- Non hanno una struttura gerarchica: appartengono tutti ad uno stesso livello.
- Possono essere utilizzati solamente all'interno di una LAN o WAN Privata (non pubblica)
Alcuni servizi di Windows 2000 si basano sui Nomi NetBIOS, come ad esempio:
- Il servizio Server Service.
- Il Browsing della rete.
Si osservi che a partire dal sistema operativo Windows 2000 il Computer Name (o NetBIOS Name della macchina) e lo Host Name devono coincidere, infatti, essendo il DNS il meccanismo preferito da Windows 2000 per risolvere i nomi, non vi può essere distinzione fra i NetBIOS Name e gli Host Name. Per maggiori informazioni si può consultare il documento KB227410.
Registrazione dei Nomi NetBIOS
La registrazioni dei nomi NetBIOS può avvenire in due modalità:
- Broadcast. Il nome viene registrato nella NetBIOS Name Cache di ciascun computer della rete.
- Unicast. Il nome viene registrato in un NetBIOS Name Server (WINS è l'implementazione di casa Microsoft di un NetBIOS Name Server).
Il ciclo di vita di un Nome NetBIOS è il seguente:
- Name Registration. Avviene o quando un computer, con sistema operativo Windows 2000 o precedente, viene accesso; oppure, quando un applicativo che si basa su NetBIOS viene avviato. La registrazione va a buon fine solamente se il Nome NetBIOS da registrare non è stato già registrato in precedenza.
- Name Discovery. Quando un servizio o un applicativo che si basa su NetBIOS ricerca un particolare Nome NetBIOS.
- Name Release. Avviene quando o un computer, con sistema operativo Windows 2000 o precedente, viene spento; oppure, quando un applicativo che si basa su NetBIOS viene spento.
Tipologia di nodi NetBIOS
A seconda di qual'è il meccanismo utilizzato per risolvere i nomi NetBIOS, vengono individuate quattro tipologie di Nodi NetBIOS (i Nodi NetBIOS possono venire identificati con i computer su cui è installato un sistema operativo che si basa su NetBIOS per le comunicazioni via rete):
- B-Node (Broadcast Node). Eseguono conversioni di nomi NetBIOS in Indirizzi IP eseguendo delle richieste boradcast. Il corrispondente codice esadecimale è 0x1.
- P-Node (Peer-to-Peer Node). Per risolvere i nomi NetBIOS in indirizzi IP utilizzano esclusivamente un NetBIOS Name Server (come ad esempio WINS). Il corrispondente codice esadecimale è 0x2.
- M-Node (Mixed Node). E' una combinazione di B-Node e P-Node. Di default un M-Node si comporta come un B-Node. Il corrispondente codice esadecimale è 0x4.
- H-Node (Hybrid Node). E' una combinazione di B-Node e P-Node. Di default un H-Node si comporta come un P-Node. Il corrispondente codice esadecimale è 0x8.
Un client Windows 2000 si comporta di default come un B-Node, diventa un H-Node non appena gli viene configurato un WINS server a cui rivolgersi per risolvere i nomi NetBIOS. La chiave di registry che identifica il tipo di nodo NetBIOS è: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\NodeType (questa chiave non esiste di default, ma viene aggiunta quanto si modifica il comportamento del NetBT protocol driver di Windows 2000). I valori possibili per questa chiave di registro sono:
- 1. La macchina si comporta da B-Node.
- 2. La macchina si comporta da P-Node.
- 4. La macchina si comporta da M-Node.
- 8. La macchina si comporta da H-Node.
Per maggiori informazioni sulle chiavi di registry dei protocolli di rete consulatare la Knowledge Base KB120642.
Caratteristiche di WINS
Il servizio WINS offre i seguenti vantaggi:
- Riduce la necessità di richieste broadcast per risolvere i nomi NetBIOS in Indirizzi IP.
- Viene aggiornato dinamicamente dai vari client NetBIOS.
- Fornisce capacità di risoluzione di nomi fra reti e domini indipendenti (ma collegati fra loro).
- Un server WINS è in grado di gestire circa 1500 registrazioni di nomi contemporanee e 4500 query al minuto.
All'interno di WINS vengono registrati tutti i servizi che si basano su NetBIOS, pertanto è normale vedere comparire più volte il medesimo nome NetBIOS.
Come regola generale si dovrebbe installare un server WINS ogni 10.000 WINS Client. Il database utilizzato da WINS è un relational database engine a cui si accede con un Indexed Sequential Access Method (ISAM).
La comunicazione fra il NetBIOS Name Server e il NetBIOS Name Client avviene utilizzando le porte TCP e UDP 137. Per impostare, via DHCP, i parametri relativi al WINS Server nei WINS Client si devono utilizzare le seguenti scope options:
- 044 WINS/NBNS Servers. Viene utilizzata per specificare in un WINS Client l'indirizzo IP del Primary e Secondary WINS.
- 046 WINS/NBT Node Type. Viene utilizzata per specificare il tipo di nodo NetBIOS del WINS Client.
Affinché un WINS Server possa erogare il suo servizio di risoluzione dei nomi, bisogna che questi venga configurato come WINS Client di se stesso all'interno delle impostazioni della scheda di rete.
Name Refresh Request
Un WINS Client esegue tre tentativi per registare il proprio nome all'interno del Primary WINS Server. Se dopo questi tre tentativi non è riuscito a registarsi, tenta di rieseguire la procedura di registrazione altre tre volte ma col Secondary WINS Server, se questi è configurato. Se anche questi tre tentativi non sono andati a buon fine oppure se nessun Secondary WINS Server risulta configurato, il WINS Client tenta di registare il suo NetBIOS name via Broadcast. La resgistrazione del nome NetBIOS all'interno di un server WINS è temporanea. L'intervallo di tempo entro il quale il nome NetBIOS di una macchina è attivo (viene tradotto in indirizzo IP dal server WINS) prende il nome di Renewal Interval. Un WINS client segue la procedura indicata di seguito per rinnovare la propria registrazione all'interno del server WINS.
- Quando è trascosrso il 37.5% del Renewal Interval, il WINS Client spedisce, al Primary WINS Server una richiesta di rinnovo della propria registrazione.
- Se la richiesta va a buon fine il WINS Client ritenterà una nuova registrazione trascorsa la metà del TTL (Time-To-Live) del record. Il TTL è l'intervallo di tempo dopo il quale un record WINS può venire rinnovato.
- Se la richiesta non va a buon fine ripete la procedura di registrazione dopo 10 minuti. Se anche questo secondo tentativo non va a buon fine, ripete la procedura di registrazione ogni 10 minuti, sino ad un massimo di 1 ora. Se esiste un Secondary WINS Server tenta di rinnovare la registrazione sul Secondary WINS Server.
- Se il primo tentativo di registrazione sul Secondary WINS Server non è andato a buon fine ripete la procedura di registrazione ogni 10 minuti per un massimo di 1 ora. Se anche dopo questi tentativi, il WINS Client non è riuscito a registrarsi sul Secondary WINS Server, torna a tentare di registrarsi sul Primary WINS Server, seguendo la stessa procedura indicata al punto precedente.
- Questo palleggio fra il Primary WINS Server e il Secondary WINS Server continua sino a quando non scade il Renewal Interval.
- Se il WINS Client riesce a registrarsi il Renewal Interval viene fatto ripartire dalla data e ora della nuova registrazione.
- Se trascorso il Renewal Interval il WINS Client non è riuscito a registrarsi, i sui dati vengono messi a disposizione di altre macchine.
Stato di un record WINS
A seconda di come sia andata la procedura di Refresh di un record all'interno di una database WINS, sono possibili i seguenti tre stati:
- Active. Il record risulta attivo e pertanto il suo Nome NetBIOS viene convertito in Indirizzo IP.
- Released. Il record non è più attivo e pertanto il suo Nome NetBIOS non viene più convertito in Indirizzo IP. I record nello stato di Released non vengono cancellati dal database di un Server WINS
- Tombstone. Un record Released che non diventa in un certo intervallo (Extintion Interval) di tempo Active, passa allo stato di Tombstone e dopo un certo intervallo di tempo (Extintion Timeout) viene cancellato.
All'interno di un record sono contenute le seguenti informazioni:
- Record Name: il nome NetBIOS che è stato registrato.
- Type: il tipo di record che è stato registrato.
- Indirizzo IP: l'indirizzo IP relativo al Name registrato.
- Owner ID: un identificativo locale che identifica il WINS Server proprietario del record.
- State: indicato lo stato del record, Active, Released o Tombstone.
- Time Stamp: la data e ora che identificano lo stato del record.
- Static: indica se il record è statico ovvero non generato dinamicamente.
- Version ID: indica la versione del record. I record che hanno Version ID più alta sono più recenti di quelli che hanno Version ID più bassa.
Un record WINS può essere:
- Unique
- Group
- Domain
- Internet Group
- Multihomed
Manutenzione del database WINS
La manutenzione del databse di Server WINS è particolarmente importante per consentire:
- Una maggiore efficienza nelle risposte ai WINS Client.
- Una dimensione ragionevole del database.
- Una coerenza fra il contenuto dei vari database che appartengono ai diversi Server WINS della rete.
- Il corretto ripristino del database in caso di corruzione dello stesso.
Per ridurre la presenza di record imprecisi all'interno del database e per mantenere allineato il suo contenuto con quello degli altri database dei vari Server WINS presenti nella rete bisogna:
- Eliminare i record non più validi.
- Verificare il contenuto del database con quello degli altri database.
Eliminare i record non più validi
Per record non più valido intendiamo un record che non è stato più rinnovato all'interno di un certo intervallo di tempo. Questo intervallo di tempo è la somma di tre intervalli di tempo: Renewal Interval, Extinction Interval e Extinction Timeout. Dove:
- Renewal Interval. Rappresenta l'intervallo di tempo entro il quale un record Active deve venire rinnovato. Trascorso questo intervallo di tempo il record diventa Released. Il passaggio allo stato Released può essere od Esplicto, ad esempio quanto una macchina conclude con successo la propria procedura di shutdown, o Silente, ovvero quando il record non viene rinnovato all'interno del Renewal Interval. Quando lo stato Relased avviene in modo Esplicito il WINS Server che riceve questa richiesta diventa, qualora non lo fosse già, il proprietario del record. Il Time Stamp di un record Released è dato dalla somma del Current Time più l'Extinction Interval. Il Version ID del record Released non viene cambiato. Per motivi di consistenza, il Renewal Interval deve essere sempre più piccolo dell'intervallo DHCP Lease.
- Extinction Interval. Indica l'intervallo di tempo entro il quale un record Released ha l'occasione di tornare Active. Trascorso questo intervallo di tempo, i record Released che non sono diventati active, passano allo stato di Tombstone. Il Time Stamp di un record Tombstone è dato dalla somma del Current Time più l'Extinction Timeout. Il Version ID del record Tombstone viene aggiornato.
- Extinction Timeout. Rappresenta l'intervallo di tempo entro il quale un record Tombstone ha l'occasione di tornare Active. Trascorso questo intervallo di tempo, tutti i record Tombstone che non sono diventati Active vengono cancellati. Questo intervallo di tempo non deve essere inferiore al Renewal Interval.
I cicli che abbiamo indicato si riferiscono solamente ai record posseduti da un certo Server WINS. Per quanto riguarda i record Active che, seppur presenti nel database di un Server WINS, non sono di sua proprietà, fa fede un'altro intervallo di tempo, chiamato Verification Interval, trascorso il quale il Server WINS controlla che i record Active in questione siano ancora validi. Questo intervallo di tempo non può essere inferiore ai 24 giorni. Si tenga presente che questi record Active di cui il WINS server non risulta proprietario, vengono cancellati solamente se il server WINS, proprietario di questi record, conferma che i record in questione non sono più validi, in caso contrario, ossia che la riposta sia negativa o che non arrivi nessuna risposta (il server WINS risulta indisponibile), questi record non verranno cancellati, pertanto se un server WINS smette di funzionare, tutti i record di cui questi è proprietario non verranno mai cancellati, a meno che non sia un amministratore di sistema a farlo. In generale, un WINS server, cancella solamente i record di cui è proprietario, mai quelli di cui non è proprietario.
Per maggiori informazioni sulla gestione dei record dei database dei WINS Server si può consultare il documento WINS Database Files.
Per quanto riguarda invece i record Tombstone che vengono replicati da un Server WINS all'altro, trascorso l'Extinction Timeout, questi record, anche se non di proprietà del Server WINS, vengono eliminati.
Per mantenere coerenti i vari database dei diversi Server WINS che possono essere presenti all'interno di una LAN, bisogna mantenere in buono stato ciascun singolo database, in quanto i meccanismi di replica possono alterare in modo artificioso la coerenza di ogni singolo database coinvolto nel ciclo di replicazione.
Verificare il contenuto del database con quello degli altri database
Questo controllo permette di matenere allineati fra loro i diversi database dei vari Server WINS che sono presenti in una LAN. Questo controllo, per essere abilitato, ha bisogno che venga selezionata la voce Verify database consistency every all'interno della sezione Database Verification delle Properties di un Server WINS. Conviene, visto che questo processo di controllo è parecchio oneroso, sia in termini di cicli macchina sia in consumo di banda, eseguirlo durante i periodi di relativa tranquillità, come ad esempio la notte. Conviene schedulare questo controllo ogni 24 ore (ovvero una volta al giorno), avendo cura di specificare un Maximum number of records verified each period non troppo grande ne troppo piccolo in misura alle dimensioni del database del Server WINS. Se la linea che lega i vari Server WINS fra di loro è buona, conviene selezionare la voce Owner servers in luogo di quella Randomly selected patners. Nel controllo viene verificato che:
- Se i Version ID dei due record, quello locale del database e quello remoto, coincidono, viene aggiornato il Time Stamp del record locale.
- Se i Version ID dei due record, quello locale del database e quello remoto, non coincidono, il record locale viene marcato come tombstone e viene sostituito con quello remoto.
WINS Database Replication
Per motivi di ridondanza conviene installare in una rete almeno due Server WINS, configurandoli per aggiornarsi, l'uno con l'altro, i propri database di modo da rimanere, il quanto più possibile, allineati. Due Server WINS che replicano fra di loro il propri database vengono chiamati Partner. Per ridurre il traffico di rete, i due Partner non si scambiano l'intero database, ma solamente le variazioni che il database ha subito. I tempi e i modi con cui avvengono questi scambi dipendono dalla relazione di patnership che li lega. I metodi che hanno a disposizione due Server WINS per replicare fra di loro i propri database sono due:
- Pull Partner. Periodicamente, un Server WINS richiede, al proprio Partner, l'invio delle variazioni del suo database.
- Push Partner. Viene stabilita una soglia massima di cambiamenti al database, dopo il superamento della quale viene inviata a tutti i Server WINS Partner la richiesta di aggiornare il proprio database con le ultime modifiche. Le repliche di tipo Push non sono altro che repliche di tipo Pull ad invito (mandatorie).
Un Server WINS può essere contemporaneamente sia un Pull Partner sia un Push Partner, in questo caso si parla di Push/Pull Partner. Affinchè due Server WINS possano scambiarsi informazioni sui propri database bisogna che uno dei server sia configurato come Pull Partner e l'altro come Push Partner. Ne segue che i due server possono venire configurati entrambi come Push/Pull Partner l'uno dell'altro. Di default, due Server WINS quando diventano patner vengono configurati comePush/Pull Partner. Lo scambio d'informazioni sui database può avvenire solamente fra due Server WINS alla volta, per cui se più di due server WINS sono configurati come patner lo scambio d'informazioni sui database potrà avvenire a due a due.
I due WINS Partner, per individuarsi a vicenda all'interno della rete, utilizzano richieste multicast all'indirizzo 224.0.1.24. Se i due patner appartengono allo stesso segmento di rete, questo meccanismo d'individuazione, non è di solito causa di problemi; diversamente se i partner appartengono a segmenti di rete diversi, interconnessi tramite router, allora bisogna configurare i router per consentire il passaggio di richieste multicasting ad indirizzi noti, altrimenti i due server partner non riescono a percepire l'uno la presenza dell'altro.
Le Proprietà della cartella Replication Partners relativa alla Microsoft Management Console WINS, costituiscono le proprietà di default dei WINS Partners. Tra i vari parametri che si possono configurare vi sono le sezioni:
- Start Time. Specifica l'ora in cui partirà la Pull Replication.
- Replication Interval. Specifica l'intervallo di tempo che intercorre fra due Pull Replication consecutive.
- Number of Changes in Version ID Before Replication. Indica dopo quante modifiche al database si deve avviare una Push Replication.
Se si desidera replicare i dati dei database anche su Server WINS che non sono fra loro Partner, bisogna togliere il segno di selezione dalla voce Replicate only with Partner, che si trova all'interno della sezione General.
I record che vengono replicati tra due WINS Partner sono i seguenti:
- Tutti i record che sono nello stato Active vengono replicati.
- Tutti i record che sono nello stato Tombstone (o Extinct) vengono replicati.
Tutti i record che invece si trovano nello stato Released non vegnon replicati fra i vari WINS Partner. Per ovviare ad eventuali problemi di inconsistenza fra i database dei due WINS Partner a partire da Windows 2000 viene adotatto lo schema riportato di seguito per la gestione dei record allo scaderedel Renewal Interval:
- Se il Record Owner ID è uguale al WINS Server Owner ID del server che ha effettuato la registrazione, allora il record viene convertio in Released.
- Se il Record Owner ID è diverso dal WINS Server Owner ID del server che ha effettuato la registrazione, allora il record verrà controllato allo scadere del Verification Interval, interrogando il server WINS proprietario del record.
Durante le operazioni di replica dei record il Version ID del record non viene modificato. Mentre il Time Stamp del record replicato è dato dalla somma del Current Time relativo al momento in cui la replica ha avuto luogo (per il Pull Server), più la somma del Verification Interval. Si ricordi che tutte le repliche sono di tipo Pull. La replica Push non è altro che l'invito ad un Pull Partner ad eseguire la sua replica Pull. Lo Owner ID relativo ad WINS Server non viene mai replicato. Pertanto la Owner ID Table è puramente locale.
Scavenging di un database WINS
Periodicamente un server WINS esegue una pulizia dei propri record onde mantenere in ordine i dati che contiene. Questa pulizia avviene su tutti i record che sono presenti sul database WINS, siano essi di sua propietà o meno. L'intervallo con cui viene eseguito lo scavenging (pulizia) del database è pari alla una volta e mezzo il Renewal Interval, pertanto se il Renewal Interval è di sei giorni, lo Scavenging Interval sarà di nove giorni. Fa eccezione a questa regola il primo Scavenging Interval che è pari a metà del Renewal Interval. Lo Scavenging Interval ha inzio a partire dal momento in cui il Servizio WINS viene avviato. Conviene poi evitare di riavviare o fermare il Servizio WINS all'interno del primo Scavenging Interval. Durante il primo ciclo di scavenging vengono eseguite tutte le operazioni di pulizia tranne quella di cancellazione dei record Tombstone. I record Tombstone potranno venire cancellati dopo tre giorni dall'avvio del Servizio WINS. Le operazioni che vengono svolte durante l'esecuzione di un ciclo di scavenging sono:
- Owned active name for which the renewal interval has not expired: Unchanged
- Owned active name for which the renewal interval has expired: Marked released
- Owned release name for which the extinction interval has not expired: Unchanged
- Owned released name for which the extinction interval has expired: Marked extinct
- Owned extinct name for which the extinction timeout has not expired: Unchanged
- Owned extinct name for which the extinction timeout has expired: Deleted
- Replica of extinct name for which the extinction timeout has expired: Deleted
- Replica of active name for which the verification interval has not expired: Unchanged
- Replica of active name for which the verification interval has expired: Revalidated
- Replica of extinct or deleted name: Deleted
Come ripristinare un database WINS
Prima di procedere con il ripristino di una database WINS, bisogna avere a disposizione un backup valido del database WINS. I passi da seguire per recuperare il database sono:
- Controllare qual'è il percorso in cui il database WINS viene salvato. Per ottenere questa informazione bisogna controllare il campo Default Backup Path che si trova all'interno della sezione General, nelle Properties del Server WINS.
- Fermare il servizio WINS.
- Copiare tutti i file che si trovano all'interno della cartella %windir%\system32\wins, o più in generale quella specificata all'interno della casella di testo Database Path, in una cartella temporanea.
- Eliminare tutti i file contenuti nella cartella %windir%\system32\wins, o più in generale quella specificata all'interno della casella di testo Database Path.
- Copiare i file relativi al backup del database all'interno della cartella specificata al primo punto (Default Backup Path). Si ricordi che il backup del database viene sempre inserito all'interno della cartella Wins_bak.
- Eseguire il Restore del database. Controllare il messagio a video per verificare che sia andato tutto bene. Il servizio WINS verrà avviato in automatico.
Impostazioni Avanzate
Tra le varie impostazioni avanzate di un Server WINS, le più importanti sono sicuramente le seguenti:
- Log Detailed Events to Windows Event Log. Questa opzione consente di registrare, con un dettaglio notevole, l'intera attività del Server WINS. Poichè ovviamente queste informazioni richiedono un certo sforzo da parte del sistema, conviene abilitare queste registrazioni solamente in caso di verifica del funzionamento del Server WINS stesso. Bisogna poi tenere conto delle dimensioni del System Log, poichè i dati che vengono registrati in questo modo possono compromettere le registrazioni effettuate in assenza della abilitazione.
- Enable Burst Handling. Questa opzione controlla il grado di efficienza di un Server WINS.
Valori possibili sono:
- Low. Da abilitare solamente se la LAN possiede un numero basso di client che utilizzano NetBIOS. La coda di Burst è pari a 300 richieste.
- Medium. E' l'impostazione di default. La coda di Burst è pari a 500 richieste.
- High. Va abilitato solamente se all'interno esiste un numero elevato (superiore ai 5000 client) di client che utilizzano NetBIOS. La coda di Burst è pari a 1000 richieste.
- Use Computer Names that are Compatible with LAN Manager. Questa opzione deve essere sempre selezionata se all'interno della LAN sono presenti dei sistemi operativi di casa Microsoft. Questa opzione vincola la lunghezza dei Nomi NetBIOS a 15 bytes.
WINS e DNS
Risulta possibile e necessario, se in una rete sono presenti macchine con sistema operativo antecedente a Windows 2000, far convivere i Server DNS con i Server WINS. In queste circostanze conviene far diventare i Server DNS autoritativi di una certa zona, dei WINS Client dei Server WINS. In questo modo i NetBIOS Name dei Server DNS autoritativi vengono registrati all'interno dei Server WINS. Per ciascun client della rete l'unico sistema disponibile come name services è quello fornito dai Server DNS. In questo modo, anche i client con sistema operativo antecedente a Windows 2000, utilizzano solamente i server DNS per la conversione dei nomi di computer, siano essi FQDN o NetBIOS, in indirizzi IP. Nell'utilizzo simultaneo dei Server DNS e dei Server WINS bisogna tenere conto che:
- Solamente i Server DNS autoritativi di una zona possono diventare dei WINS Client.
- Se si vuole che i client registrino i propri Nomi NetBIOS sui Server WINS bisogna che su ciascun client che utilizza i servizi basati su NetBIOS venga configurato almeno un Server WINS nelle sue impostazioni di rete.
- Poich� i client Windows 2000 o superiori, non utilizzano servizi basati su NetBIOS, conviene,
qualora ci� fosse possibile:
- disabilitare l'utilizzo di NetBIOS su TCP/IP
- non configurare alcun Server WINS nelle sue impostazioni di rete.
- Quando un Server DNS diventa il WINS Client di un Server WINS, viene creato un DNS Resurce Record Non Standard. Questo fa sorgere dei problemi se il Server DNS autoritativo della zona non è un server Windows NT 4.0, Windows 2000 o superiore. All'interno della Properties della zona in cui è stato abilitato il WINS Lookup, nella sezione WINS, selezionare la voce Do not replicate this record per evitare che questo resurce record venga replicato anche su DNS Non-Microsoft.
Per consentire ad un Server DNS Non-Microsoft di essere autoritativo su di una zona in cui si desidera abilitare un Server DNS ad essere WINS Client di un Server WINS, conviene procedere nel seguente modo:
- Creare un zona DNS priva di Host Records e abilitare solamente questa zona per il WINS Lookup. Per esempio se il primary DNS domain è home.lan, si potrebbe chiamare questa zona in cui è abilitato il WINS lookup col nome di wins.home.lan.
- Specificare su tutti i client della rete che lo necessitano, all'interno delle Advanced TCP/IP Properties, nella sezione DNS, nel campo Append these DNS suffixes (in order) il nome della zona creata al punto precedente, ovvero facedno riferimento al nostro esempio: wins.home.lan.
Per vedere se l'indirizzo IP viene rilascaito dal Server DNS o dal Server WINS si può osservare il
Time to Live del record restituito da una query eseguita col comando nslookup
(per vedere il Time to Live si deve abilitare l'opzione di debug: set debug
).
Se si osserva il Time to Live di due query consecutive e si nota che nella seconda query
il Time to Live del record risulta diminuito, allora vuol dire che l'indirizzo IP viene fornito dal
Server WINS. Si osservi infine che le rispote alle query fornite dal Server DNS sono autoritative
anche nel caso che questi consulti il Server WINS per ottenere la risposta.
WINS Proxy
Quando all'interno di una rete o di un segmento di rete sono presenti della macchine che si basano su NetBIOS ma che non sono WINS Client, per ridure il traffico broadcast generato da queste macchine, conviene installare un WINS Proxy. Un sistema operativo che si basa su NetBIOS ma che non è un WINS Client si comporta nel seguente modo:
- NetBIOS Name Registration. Esegue una registrazione via Broadcast all'interno della NetBIOS Name Cache di ciscun computer della rete.
- NetBIOS Name Resolution. Avviene eseguendo una NetBIOS Name Resolution Request via Broadcast, a meno che il Nome NetBIOS che cerca non lo aveva all'interno della NetBIOS Name Cache.
Compito del WINS Proxy è quello di ridurre il traffico boradcast che si genere col modo di operare indicato nei due punti precedenti. Un WINS Proxy si comporta nel seguente modo:
- NetBIOS Name Registration. Il WINS Proxy intercetta le richieste broadcast di NetBIOS Name Registration delle macchine che utilizzano NetBIOS ma che non sono WINS Client ed interroga il WINS Server per veirifcare che il Nome NetBIOS utilizzato non sia già stato registrato in precedenza da un'altra macchina. Il WINS Proxy verifica l'esistenza del nome, non lo registra.
- NetBIOS Name Resolution. Intercetta le richieste broadcast di NetBIOS Name Registration delle macchine che utilizzano NetBIOS ma che non sono WINS Client ed interroga prima la sua NetBIOS Name Cache per rispondere alla macchina che ha effettuato la NetBIOS Name Resolution, poi il Server WINS.
Per configurare una macchina con sistema operativo Windows 2000 per funzionare come WINS Proxy si deve modificare la chiave di registry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\EnableProxy; (questa chiave non esiste di default) i valori ammessi sono due:
- 0, la macchina non funziona da WINS Proxy.
- 1, la macchina funziona da WINS Proxy.
Per maggiori informazioni sulle chiavi di registry dei protocolli di rete consulatare la Knowledge Base KB120642.
Raccomandazioni sulla configurazione dei WINS
Quando si configura un WINS Server si dovrebbero osservare le seguenti regole:
- Nelle impostazioni di rete del WINS Server impostare il WINS Server stesso come Primary WINS ed non impostare alcun Secondary WINS.
- Ridurre al minimo il numero di WINS Server. Come lienee genarali si tenga presente che,
- Un WINS Server con una CPU 486 da 66MHz e sistema operativo Windows NT 4.0 è in grado di gestire tranquillamente un carico pari a 750 richieste di risoluzioni di nomi in un minuto.
- Un singolo WINS Server è in grado di gestire senza problemi LAN o WAN composte da 10000 utenti. Ovvero è in grado di supportare sino a 1500 registrazioni di nomi al minuto e sino a 4500 risoluzioni di nomi al minuto.
- Per motivi di ridondanza, conviene sempre avere un Secondary WINS. Un Secondary WINS può stare tranquillamente in un LAN diversa da quella del Primary WINS.
- Le operazioni di rete svolte da un WINS Server sono estremamente efficienti, portano via circa dai 100B ai 110B. In particolare un operazione di risoluzioni di nomi comporta un consumo di banda pari a 214B pertanto una semplice connessione a 56Kbps consente di svolgere circa 1900 operazioni di risoluzioni di nomi in un minuto!
- Se si devono utilizzare più di due WINS Server conviene adottare una struttura ad Hub and Spoke: per ogni segmento di LAN esiste uno ed un solo WINS Server che svolge il ruolo di Primary Server. Per il segmento di LAN col maggior numero di client viene installato un secondo WINS Server che svolge il ruolo di Secondary WINS per tutti i segmenti di LAN presenti nella WAN. Ciascun Primary WINS è in configurazione Push/Pull col Secondary WINS. Tutti i WINS Server della WAN eseguono solamente repliche di tipo Pull. Gli intervalli di replica dei database sono legati alle varie caratteristiche di ciascun segmento di LAN. Come valori di riferimento, due WINS Partner che replicano attraverso un link lento dovrebbero replicarsi ogni 30 minuti, due WINS Partner che replicano attraverso un link veloce possono replicarsi ogni 15 minuti. In generale una organizzazione non dovrebbe avere più di 14 WINS Server.
- Non installare i servizi di WINS sui Domain Controller a meno che la LAN non ha meno di 50 utenti.
- Non installare i servizi di WINS su server che hanno più di un indirizzo IP assegnato (Multihomed).
- Non creare record statici a meno che non sia assolutamente necessario.
- Il Renewal Interval deve essere sempre più piccolo della DHCP Lease di un indirizzo IP.
- Eseguire almeno una volta al mese un operazione di Offline Compaction dei database dei
WINS Server. Per svolgere questa operazione utilizzare il comando Jetpack.exe.
Un seplice script per compattare il database WINS potrebbe essere:
CD %SYSTEMROOT%\SYSTEM32\WINS NET STOP WINS JETPACK WINS.MDB TMP.MDB NET START WINS
Per maggiori informazioni su come eseguire il design di una struttura di WINS Server si può consultare il documento Windows Internet Name Service Design.
Comandi utili
Di seguito vengono indicati alcuni comandi utili per la gestione dei Server WINS:
- JetPack.exe: consente di compattare in modo manuale il database di un Server WINS.
- netsetup.exe: lancia il Network Setup Wizard per la configurazione delle schede di rete.
- nbtstat.exe: permmette di ottenre informazioni sui record NetBIOS.
- nblookup.exe: consente di fare delle query sui server WINS. Il comando nblookup.exe fa parte del Resource Kit di Windows 2000, ma pu� essere anche scaricato come programma a parte.
- Browcon.exe (NetBIOS Browsing Console): � uno strumento di analisi avanzata del protocollo NetBIOS. Questo comando, scritto da Tim Rains, pu� venire scaricato qui.
1.5 Active Directory
Active Directory presenta le seguenti strutture logiche:
- Forest
- Domain Tree
- Domain
Le Forest sono insiemi di Domain Tree, i Domain Tree sono insiemi di Domain.
Caratteristiche:
- Tutti i Domain Tree di una Forest, condividono il medesimo Schema. Una Forest è uno spazio di nomi DNS disgiunto. Per maggiori informazioni sullo Schema di Active Directory si può consultare il documento Active Directory Schema.
- I Domain Tree di una Forest hanno nomenclature differenti, in accordo col le loro strutture di dominio. I server e i client di un Domain Tree hanno nomi DNS contigui.
- Tutti i Domain di una foresta condividono il medesimo Global Catalog.
- I Domain di una Forest operano in modo indipendente l'uno dall'altro, ma la Forest abilita comunicazioni traversali tra i vari Domain. Tutti i server e i client di un Domain appartengono allo stesso Dominio DNS.
- Relazioni di fiducia biunivoche esistono fra i vari Domain e Domain Tree di una Forest.
Viene chiamato Forest Root Domain il primo dominio creato in una foresta. Vengono chiamati Top-Level Domain i primi Domain creati per ciascun Domain Tree. Dalla definizione appena data si evince che un Forest Root Domain è anche un Top-Level Domain ma che un Top-Level Domain non è detto che sia un Forest Root Domain.
Il Forest Root Domain si distingue dagli altri domini in quanto alcuni Operation Master Role devono appartenere a questo dominio, ovvero i ruoli di Schema Operations Master e di Domain Naming Master. Non solo, ma alcuni gruppi di amministrazione di Active Directory vengono creati solamente all'interno del Forest Root Domain, tra questi gruppi ci sono gli Enterprise Admins Group e gli Schema Admins Group. Più in generale, tutto il database di un dominio di Active Directory viene conservato all'interno del file %SystemRoot%\NTDS\NTDS.dit.
Per avere un'idea di come vengono individuati i Domain Controller da parte di un client, si può leggere la Knowledge Base: KB247811.
Scelta dei nomi dei Domini
Per la scelta dei nomi da assegnare ai domini di Active Directory si dovrebbero seguire i seguenti criteri di scelta:
- Comprare, se già non è stato fatto, un dominio da InterNIC. In questo modo si avrebbe un dominio ufficiale ma non registrato e non registrabile in futuro.
- Creare un sottodominio di un dominio ufficiale già esistente, ad esempio se il dominio pubblico fosse miodominio.com si potrebbe creare il dominio aziendale chiamato azienda.miodominio.com. Anche in questo modo si avrebbe un dominio ufficiale ma non registrato.
Il primo criterio dovrebbe essere preferito al secondo, il quale è da considerarsi un ripiego qualora il primo criterio non fosse applicabile.
Migrazione da Windows 2000 a Winows 2003
Per avere un'idea di quelle che sono le operazioni da non fare quando si migra da Windows 2000 a Windows 2003 si può consultare il documento Common Mistake Upgrading Windows 2000 to Windows 2003.
Oggetti di Active Directory
Active Directory è composta dai seguenti oggetti:
- User
- Contact
- Group
- Shared Folder
- Printer
- Computer
- Domain Controller
- Organizational Unit
Gli oggetti di Active Directory possono venire spostati da un dominio di Active Directory ad un'altro dominio di Active Directory oppure all'interno dello stesso dominio di Active Directory. Per spostare un oggetto all'interno del dominio a cui appartiene, si può utilizzare l'Active Directory Users and Computers console, mentre per spostare un oggetto da un dominio ad un'altro si deve utilizzare il comando MoveTree.exe dei Support Tools. Per maggiori informazioni sul comando MoveTree.exe si può consultare la Knowledge Base: KB238394. Quando si utilizza il comando MoveTree.exe i collegamenti con le vecchie Group Policy Object viene conservato, in questo modo però, l'oggetto spostato nel nuovo dominio preleverà le GPO dai suoi vecchi Domain Controller.
Quando un utente o un gruppo viene spostato in un nuovo dominio, gli viene assegnato un nuovo SID, mentre il suo vecchio SID viene aggiunto alla SIDHistory dell'utente. Compito della SIDHistory è quello di conservare le credenziali dell'utente. La SIDHistory è disponibile solamente se il dominio di Active Directory è in Native Mode.
Per quanto riguarda i Domain Controller, questi possono essere spostati da un Site ad un'altro, tutti tranne il First Domain Controller, ovvero il Domain Controller che ha creato il Default-Fist-Site-Name.
In generale, quando si sposta una oggetto di Active Directory all'interno di uno stesso dominio, valgono le seguenti regole:
- I permessi assegnati direttamente all'oggetto spostato restano validi anche nella nuova posizione dell'oggetto.
- L'oggetto spostato perde i permessi che ereditava dalla sua vecchia posizione ed eredita quelli della nuova posizione.
- Possono venire spostati più oggetti contemporaneamente.
Per rendere sicuro l'ambiente di un Domain Control si può consultare il documento Deploying Secure Domain Controllers.
Active Directory viene suddivisa in Partizioni:
- Domain Partition: contiene la replica di tutti gli Oggetti definiti all'interno del Dominio.
- Configuration Partition: contiene la Topologia della Foresta.
- Schema Partition: contiene lo Schema di Active Directory. Viene replicata su tutti i Domain Controller di una stessa Foresta: ovvero, ogni Domain Controller della foresta ne possiede una copia.
- Application Partitions: contiene tutti gli oggetti svincolati dalla sicurezza
ma che di solito vengono utilizzati dalle applicazioni degli utenti. Viene
replicata su tutti i Domain Controller di una stessa Foresta ovvero,
ogni Domain Controller della foresta ne possiede una copia. Questa partizione
è una novità di Windows 2003. Questa partizione viene utilizzata disolito da
Windows 2003 per replicare le informazioni contenute nel DNS quando
questi viene configurato per essere integrato in Active Directory. Le partizioni
che vengono create di default quando si attiva un DNS che vanno a finire in questo
tipo di partizione sono:
- DomainDNSZone
- ForestDNSZone
Delega del Controllo degli Oggetti di Active Directory
Per meglio venire incontro alle esigenze delle grandi aziende, la Microsoft ha implementato in Active Directory la possibilità di delegare il controllo degli oggetti di Active Directory. Per delega del controllo degli oggetti di Active Directory s'intende:
- Assegnare ad un utente o gruppi di utenti i permessi per cambiare le proprietà di un particolare contenitore.
- Assegnare ad un utente o gruppi di utenti i permessi per creare, modificare, o cancellare alcune tipologie di oggetti in una specifica Organizational Unit o contenitore.
- Assegnare ad un utente o gruppi di utenti i permessi per modificare alcune proprietà di oggetti ben specifici di una specifica Organizational Unit o contenitore.
Quando si delega il controllo di un'oggetto di Active Directory conviene tenere ben presente le seguenti regole generali:
- Assegnare la delega a livello di Organizational Unit o contenitori ogni qual volta è possibile farlo.
- Per delegare il controllo degli oggetti di Active Directory conviene utilizzare il
Delegation of Control Wizard. Il Delegation of Control Wizard mette a disposizione
degli amministratori di rete i seguenti modelli di delega:
- Create, Read and Manage User Accounts
- Reset Passwords on User Accounts
- Read All User Information
- Create, Delete and Manage Groups
- Modify the Membership of a Group
- Manage Group Policy Links
- Registrare, in un apposito documento, le modifiche apportate al controllo amministrativo degli oggetti di Active Directory. In questo modo risulta possibile risalire alle persone che si occupano di alcuni aspetti amministrativi relativi alla gestione di Active Directory.
- Seguire le esigenze delle Business Unit per delegare loro compiti amministrativi.
La delega del controllo di alcuni oggetti di Active Directory risulta particolarmente importante per bilanciare i carichi amministrativi e per decentrallizare l'amministrazione di Active Directory. Per avere maggiori informazioni su come delegare il controllo di un oggetto di Active Directory si può consultare la Knowledge Base KB315676.
Operation Master Role
Non tutte le operazioni che si svolgono all'interno di Active Directory possono venire svolte sfruttando il Multi-Master Replication Model. Per queste particolari operazioni (come ad esempio l'aggiunta o la rimozione di un dominio da una foresta) si adotta il più consueto metodo del Single Master Operation Model ovvero le operazioni in questione vengono svolte solamente da un singolo Domain Controller. A quei Domain Controller che hanno il compito di amministrare queste particolari operazioni si assegna il nome di Operation Master Role. Quando un Domain Controller è un Operation Master Role, tutte le operazioni riconducibili ad un particolare ruolo, vengono svolte sempre ed esclusivamente dal Domain Controller che ricopre quel particolare Operation Master Role. Tutti i Domain Controller possono ospitare un Operation Master Role. Lo Operation Master Role può essere spostato da un Domain Controller ad un'altro in un qualunque momento, anche quando il titolare del Operation Master Role è indisponibile. Un Domain Controller può ospitare più di un Operation Master Role alla volta.
I possibili Operatione Master Role sono:
- Schema Operations Master: è il domain controller a cui viene affidato il compito di gestire gli aggiornamenti dello schema all'interno di una Foresta. All'interno di una foresta può esistere solamente un domain controller che ha il ruolo di Schema Operations Master.
- Domain Naming Master: è il domain controller a cui viene assegnato il processo per aggiungere o di rimuovere un dominio all'interno di una foresta. All'interno di una foresta può esistere solamente un domain controller che ha il ruolo di Domain Naming Master.
- RID Master: è il domain controller a cui è stato assegnato il compito di allocare sequenze di Relative Identifiers (RID) a ciascun domain controller in un Dominio. All'interno di un Dominio può esistere solamente uno ed un solo domain controller che ha il ruolo di RID Master.
- Primary Domain Controller Emulator: è il dominio controller a cui è affidato il compito di simulare un Primary Domain Controller su Windows NT 4.0 per tutti quei client che non fanno uso di un sistema Windows 2000 o superiore e di fornire allo stesso tempo un database con cui sincronizzare i vecchi Backup Domain Controller eventualmente presenti all'interno della rete. All'interno di un Dominio può esistere solamente uno ed un solo domain controller che ha il ruolo di Primary Domain Controller Emulator. Il Primary Domain Controller Emulator è anche il Domain Controller a cui vengono inoltrate, di preferenza, le notifiche sui cambiamenti delle password degli utenti. Per questo motivo, un Domain Controller, prima di rifiuatare l'autenticazione di un utente che ha sbagliato password, consulta il Primary Domain Controller Emulator.
- Infrastructure Operations Master: è il domain controller a cui stato assegnato il compito di gestire l'associazione fra utenti e gruppi, amministrando l'appartenenza degli utenti ai gruppi quando avvengono dei cambiamenti in queste releazioni e replicando tali cambiamenti sugli altri doamin controller del dominio. All'interno di un Dominio può esistere solamente uno ed un solo domain controller che ha il ruolo di Infrastructure Operations Master.
Per convenzione, il primo Domain Controller installato di una foresta svolge i seguenti Operation Master Role:
- Schema Operations Master
- Domain Naming Master
Per convenzione, il primo Domain Controller installato di un dominio svolge i seguenti Operation Master Role:
- RID Master
- Primary Domain Controller Emulator
- Infrastructure Operations Master
Per sapere come collocare gli Operation Master Server all'interno di una foresta di Active Directory si può consultare la Knowledge Base KB223346.
Come individuare gli Operation Master Server
Gli Operation Master Role si dividono in ruoli di Foresta e in ruoli di Dominio. Per individuare i ruoli di Dominio:
- RID Master
- Primary Domain Controller Emulator
- Infrastructure Operations Master
basta procedere come segue:
- Aprire la console di Active Directory Users and Computers.
- Cliccare col pulsante destro del mouse sul nome del dominio di Active Directory ed aprire la voce Operation Masters
- All'interno della sezione RID si trova il nome del server che svolge il ruolo di RID Master.
- All'interno della sezione PDC si trova il nome del server che svolge il ruolo di Primary Domain Controller Emulator.
- All'interno della sezione Infrastructure si trova il nome del server che svolge il ruolo di Infrastructure Operations Master.
Per individuare i ruoli di Foresta:
- Schema Operations Master
- Domain Naming Master
basta procedere come segue:
- Per vedere quale server copre il ruolo di Domain Naming Master bisogna:
- Aprire la console Active Directory Domains and Trust.
- Cliccare col pulsante destro del mouse sopra il nome del dominio di Active Directory di cui si vuole conoscere Domain Naming Master, aprire poi la voce Operation Master
- Nella finsetra Change Operations Master viene riportato il nome del server che svolge il ruolo di Domain Naming Master.
- Per individuare il server che svolge il ruolo di Schema Operations Master bisogna:
- Aprire la Microsoft Management Console.
- Aggiungere lo snap-in Active Directory Schema.
- Cliccare col pulsante destro del mouse sul nome dell'Active Directory Schema e selezionare la voce Operation Master.
- All'interno della finestra Change Schema Master si trova il nome del server che svolge il ruolo di Schema Operations Master.
La cartella SYSVOL
La cartella SYSVOL è una cartella di sistema condivisa presente all'interno di tutte le strutture gerarchiche delle cartelle ospitate all'interno di tutti i Domain Controller. Questa cartella condivisa contiene i file, come i logon, logoff, startup e shutdown scripts, le informazioni di Group Policy, che vengono poi replicati fra i vari domain controller. Il SYSVOL usa lo stesso metodo di Active Directory per replicarsi, ovvero una particolare caratteristica del file system NTFS 5.0 di Windows 2000, pertanto questa cartella, può essere e deve essere collocata solamente su partizioni NTFS. La caratteristiche citata è il File Replication Service (FRS). Per maggiori informazioni sul FRS si può consultare la Knowledge Base KB296944. Per avre invece maggiori informazioni sulla replicazione di Active Directory si può consultare il documento Active Directory Replication.
Global Catalog
Il primo domain controller che s'installa all'interno di una foresta, svolge sempre il ruolo di Global Catalog Server.
Gli oggetti del Global Catalog sono le varie risorse di rete come ad esempio le stampanti, gli utenti ... Gli attributi sono le possibili caratteristiche che possono avere le varie risorse di rete, come ad esempio il Nome o Cognome di un utente o il Modello o Location di una stampante. Le proprietà sono le istanze (valori) di ciascun attributo.
Il Global Catalog contiene una replica completa di tutti gli attributi degli oggetti di Active Directory definiti all'interno del dominio a cui il Global Catalog Server appartiene e una replica parziale di tutte gli attributi degli oggetti definiti negli altri domini.
All'interno del Global Catalog sono elencati tutti i nomi di tutti gli Universal Group, Global Group e Domain Local Group, non che tutti i membri degli Universal Group, ma non quelli dei gruppi Global Group e Domain Local Group. Il Global Catalog svolge principalmente un ruolo di consultazione. É sempre buona norma che per ogni sito esista almeno un Global Catalog Server. Il Global Catalog viene parzialmente replicato su tutti i domain controller di una foresta.
Per ogni Foresta esiste un solo Global Catalog, ovvero tutti i domini di una foresta condividono lo stesso Global Catalog.
Il Global Catalog svolge due ruoli chiave, all'interno della struttura di Active Directory:
- Abilita il Network Logon fornendo informazioni sugli appartenenti dei vari Universal Group ad un Domain Controller quando un processo di logon viene avviato.
- Abilita il processo di reperimento delle informazioni di Active Directory indipendentemente da quale dominio, all'interno della foresta, contiene realmente l'informazione. Una volta che l'informazione è stata ottenuta, si potrà contattare il Domain Controller che contiene l'oggetto interessato, per ottenere maggiori informazioni. Per eseguire la ricerca delle informazioni, Windows 2000 utilizza il protocollo Lightweight Directory Access Protocol (o più brevemente LDAP). Per maggiori informazioni sulla ricerca delle informazioni contenute in Active Directory, si può consultare il documento Name Resolution in Active Directory.
Se durante la fase di logon, il Global Catalog Server non è raggiungibile, un utente può solamente collegarsi localmente al computer su cui opera; fanno eccezione i membri del gruppo Domain Admins, i quali, anche in assenza del Global Catalog Server, sono in grado di fare un logon in rete. Per ridondanza, possono esistere più di un Global Catalog Server all'interno di una Forest.
Il Global Catalog contiene e replica le seguenti informazioni:
- Le Schema Information di una Forest.
- Le Configuration Information di tutti i Domain o Domain Tree di una Forest.
- Un sottoinsieme di tutte le proprietà degli oggetti di Active Directory in una Forest. Queste informazioni vengono replicate solamente fra i vari Global Catalog Server di una Forest.
- Tutti gli oggetti di Active Directory e tutti gli attributi, relativi al Domain a cui il Global catalog Server appartiene, che sono stati istanziati (ovvero tutte le Proprietà).
Per aggiungere dei nuovi attributi al Global Catalog si può consultare la Knowledge Base KB313992. Si ricordi però che quando si aggiungono dei nuovi attributi al Global Catalog viene scatenata una sincronazzazione globale di tutti gli oggetti imagazzinati nel Global Catalog fra tutti i Domini di una Foresta. Il meccanismo di replica del Global Catalog verte sulla cossidetta Replicazione per Attributi, in quanto, solamente le Proprietà che, fra un ciclo di replicazione e il successivo, sono cambiate di valore vengono replicate. In questo modo viene ridotta la quantità di dati da trasferire fra un Global Catalog Server ed un'altro.
Per sapere come creare, spostare o rimuovere il Global Catalog da un Domain Controller si può consultare la Knowledge Base KB313994.
Restricted Group
I Restricted Group si rivelano particolarmente utili quando si vogliono popalare i Local Group di alcune o tutte le workstation presenti in un dato dominio di Active Directory, infatti, grazie a questo strumento ed ad una Group Policy Object si possono modificare tutti i Local Group delle workstation di dominio senza ricorrere ad alcun script o programma esterno. Per avere maggiori informazioni su come utilizzare i Restricted Group si può consultare il documento Restricted Group Tables.
Replicazioni di Active Directory
Per replicare le informazioni contenute in Active Directory, quest'ultime vengono suddivise in modo logico, in tre insiemi principali:
- Schema Information contiene le informazioni sugli oggetti che si possono creare in Active Directory e quali attributi possono avere. Queste informazioni sono le stesse per tutti i Domain e Domain Tree della Forest.
- Configuration Information contiene le informazioni relative alla particolare implementazione di Active Directory messa in piedi, come ad esempio la struttua dei Domain o la topologia di replicazione. Questi dati sono gli stessi per tutti i Domain e Domain Tree di una Forest.
- Domain Data contiene tutti gli oggetti di un Domain. Queste informazioni sono caratterisitiche di ciascun Domain. Un sottoinsieme delle proprietà di ciascun oggetto relativo al Domain viene copiata all'interno del Global Catalog.
Pertanto:
- Le Schema Information vengono replicate su tutti i domain controller della Forest.
- Le Configuration Information vengono replicate su tutti i domain controller della Forest.
- I Domain Data vengono replicati su tutti i domain controller di uno stesso Domain.
Il sistema di replica di Active Directory, basandosi su un sistema Multi-Master, prende il nome di Replica a Perdita di Convergenza, in quanto, lo stato del sistema composto dai vari domain controller di una Foresta, cerca di raggiungere uno Stato di Equilibrio Coerente, che se continua a cambiare nel tempo, tende a diventare uno stato in divenire e mai in essere. Sebbene la replicazione ha l'effetto di sincronizzare tutti i domain controller di una Foresta, il processo di replica avviene solamente fra due domain controller alla volta. La replicazione di Active Directory fra un Domain Controller e l'altro, verte sul File Replication Services (FRS) che è una caratteristica della versione 5.0 del New Technology File System. Per maggiori informazioni sul FRS si possono consultare la Knowledge Base KB296944 e il documento How FRS Works. Per avre invece maggiori informazioni sulla replicazione di Active Directory si possono consultare i documenti Active Directory Replication e Active Directory Replication Model. Per conoscere il ruolo svolto dai DNS Server nel processo di replicazione di Active Directory si può consultare il documento How DNS Support Active Directory. Per sapere quali strumenti mette a disposizione Windows 2003 per gestire eventuali problemi di replicazione di Active Directory fra due o più Site, si può consultare il documento Troubleshooting Guidelines for Branch Office.
Terminologia
Di segutio vengono elencati alcuni dei termini utilizzati per descrivere la replicazione di Active Directory.
- Originating Update sta ad indicare un modifica, un aggiornamento o una cancellazione avvenuta sul database di Active Directory, causata da un utente o da un amministratore di rete.
- Replicated Update è il processo di aggiornamento del database di un Domain Controller da parte di un altro Domain Controller.
- Replication Latency è l'intervello di tempo che deve trascorrere affinchè un Domain Controller che ha ricevuto un cambiamento al suo database di Active Directory, possa comunicare ad un altro Domain Controller di iniziare a sincronizzare il suo database con il proprio. Di default questo intervallo è pari a 5 minuti.
- Change Notification è la notifica con cui un Domain Controller invita un'altro Domain Controller a sincronizzare il suo database con il proprio.
- Urgent Replication è il termine che identifica una replicazione urgente. In questo
tipo di replicazione, il Domain Controler in cui è stato modificato il database di Active Directory,
classifica la modifica come sensibile e notifica immediatamanete, non aspettando l'intervallo di
tempo della Replication Latency, a tutti i Domain Controller del dominio di sincronizzare il
loro database con il proprio. Vengono considerati sensibili i seguenti cambiamenti:
- Gli Account Lockout, ovvero quando ad un utente viene bloccato l'accesso al dominio.
- Qualunque modifica alla Local Security Authority, meglio nota come Local Security Policy.
- Quando viene cambiato il server che copre il ruolo di RID Master.
Sites
La struttura di una foresta di Active Directory è composta da Sites. Per ogni foresta di Active Directory esiste almeno un Site, il cui nome di default è Default-First-Site-Name. Il primo Domain Controller che viene installato crea il Default-First-Site-Name. Tutti i successivi Domain Controller vengono creati all'interno del Default-First-Site-Name se:
- il Default-First-Site-Name è l'unico Site esistente;
- l'indirizzo IP del Domain Controller appena realizzato appartiene alla sottorete a cui corrisponde Default-First-Site-Name;
- l'Indirizzo IP del Domain Controller appena realizzato non appartiene a nessuno dei Site di cui è composta la foresta di Active Directory.
In tutti gli altri casi il Domain Controller creato viene inserito un Site diverso da quello del Default-First-Site-Name. Più in generale, un Domain Controller viene inserito all'interno del Site corrispondente alla sottorete di appartenenza del suo Indirizzo IP.
Per Site s'intende un insieme di server che sono ben connessi fra loro in termini di velocità e costo di banda. Tipicamente un collegamaneto basato su tecnologia LAN viene considerato un collegamento veloce e a basso costo, mentre un collegamento basato sulle tecnologie WAN viene considerato un collegamento lento e a costo elevato. Il costo di un collegamento di rete viene valutato in termini puramente economici, ovvero, se la linea utilizzata è flat, a consumo a canone mensile o annuale, oppure è semplicemente gratuita. In quest'ottica, infatti, le LAN sono di solito di proprietà dell'azienda e quindi non soggette ad alcun costo aggiuntivo rispetto a quelli di manutenzione e potenziamento, col risultato che le LAN sono da considerarsi delle reti a basso costo; tipicamente, invece, le reti WAN sono composte da linee di collegamento che appartengono a società di terze parti rispetto all'azienda a cui la WAN fa riferimento, col risultato che l'azienda per utilizzare queste lienee deve pagare una certa cifra di denaro, spesso assai superiore al costo di una normale linea LAN, proprio per questo motivo le WAN vengono considerate più care delle LAN.
Poichè la connessione fra i vari Domain Controller che compongono un Sites è buona, la replicazione di Active Directory avviene per Notification ogni qual volta si verificano delle modifiche in Active Directory.
Per gestire i Sites di una foresta di Active Directory bisogna utilizzare l'Active Directory Sites and Service console degli Administrative Tools di Windows 2000. Il nome Default-Fist-Site-Name può essere tranquillamente cambiato in base agli standard di un'azienda.
Ad ogni Sites restano associate una o più sottoreti. I computer di una rete, utilizzano le informazioni sulle sottoreti che compongono un Sites per individuare quali sono i Domain Controller che appartengono al proprio Sites di appartenenza. In tal modo, i computer della rete riducono i tempi di Logon e Logoff, in quanto si collegano a Domain Controller con i quali hanno una buona connessione. Le informazioni relative alle sottoreti che compongono un Sites vengono utilizzate anche dai Domain Controller per stabilire il miglior percoso di replicazione.
Affinchè la replicazione di Active Directory possa avvenire fra due Sites diversi, bisogna creare, fra i due Sites un Site Link. A differeza fra quanto avviene fra i Domain Controller che compongono un Sites, la replicazione di Active Directory fra Sites diversi avviene solamente in maniera schedulata. I Site Link vengono creati in base al numero di tecnologie WAN che sono utilizzate per collegare i vari Sites. Pertanto, se si utilizza una sola tecnologia WAN per collegare due o più Sites, basterà creare un solo Site Link per collegare i vari Sites fra loro. Quando s'installa il Primo Domain Controller di una foresta di Active Directory, l'Active Directory Installation Wizard provvede a creare un Site Link di default chiamato DEFAULTIPSITELINK. Una volta terminata l'installazione del primo Domain Controller della foresta, si può procedere a rinominare DEFAULTIPSITELINK. Accanto al DEFAULTIPSITELINK possono venire creati altri Site Link in base alle necessità aziendali.
Tecnologie di replicazione di Active Directory
I Site Link hanno a disposizione due tecnologie per replicare Active Directory:
- Replicazione Via IP: in questo meccanismo di replicazione viene utilizzato il servizio di
Replication Procedure Call (RPC). Questo meccanismo di replica gode delle seguenti
proprietà:
- Consente la replica fra Domain Controller che apprtengono al medesimo Sites (replica Intrasite).
- Consente la replica fra Domain Controller che apprtengono a Sites diversi legati fra loro da un Site Link (replica Intersite).
- Consente di schedulare i meccanismi di replicazione di Active Directory.
- Replicazione Via SMTP: sfrutta il protocollo SMTP per replicare le informazioni di
Active Directory. Questo meccanismo di replica gode delle seguenti proprietà:
- Consente la replica fra Domain Controller che apprtengono a Sites diversi legati fra loro da un Site Link (replica Intersite).
- Non consente di schedulare i meccanismi di replicazione di Active Directory in quanto il protocllo SMTP è fondamentalmente asincrono.
Proprietà di un Site Link
I Site Link godono delle seguenti proprietà:
- Site Link Cost: indica il costo, in termini d'efficienza, di un Site Link. Se si possiedono due linee basate su tecnologia WAN che collegano gli stessi Sites, bisogna creare due Site Link differenti per collegare i due Sites fra loro: uno per ogni linea di connessione. Windows 2000 pretende di sapere quale delle due linee di connessione deve privilegiare quando dovrà replicare il contenuto di Active Directory fra un Sites e l'altro. Per fornire questa informazione al sistema operativo, a ciscun Sites Link viene assegnato un peso rappresentato dal Site Link Cost. Più basso è il valore del Site Link Cost, più alta è la priorità del Site Link. Per default tutti i Site Link hanno costo pari a 100.
- Replication Frequency: indica l'intervallo di tempo, in minuti, che deve attendere Active Directory prima di potersi collegare per vedere se ci sono aggiornamenti da effettuare. Questo intervallo non può essere inferiore ai 15 muniti ne superiore ai 10080 minuti (sono i minuti contenuti in una settimana).
- Replication Availability: indica la finestra temporale all'interno della quale può avvenire
la replicazione di Active Directory. Conviene impostare la Replication Availability solamente se
le seguenti condizioni sono soddisfatte:
- Il Site Link utilizza una connessione schedulata.
- Il protocollo SMTP non è utilizzato come meccanismo di replicazione di Active Directory.
- La replicazione di Active Directory avviene direttamente fra due Domain Controller, senza passare attraverso replicazioni intermedie con altri server, come può succedere attraverso alcune dorsali di rete.
- Non è stata selezionata l'opzione Ignore Schedule.
Come creare un Site Link
Per creare un Site Link basta procedere nel seguente modo:
- Aprire l'Active Directory Sites and Services console che si trova all'interno degli Administrative Tools.
- Espandere la cartella Inter-Sites Transports. Cliccare col pulsante destro del mouse sopra o la cartella IP o la cartella SMTP a seconda della tipologia di Site Link che si desidera creare. Dal menu contestuale che si apre selezionare la voce New Site Link. In questo modo si aprirà la finestra New Object - Site Link.
- Nella casella di testo Name inserire il nome che dovrà avere il Site Link.
- Dalla finestra Sites Not In This Site Link selezionare due o più Sites che dovranno venire collegati dal Sites Link. Premere il pulsante Add per aggiungere i Sites selezionati all'interno della finestra Sites In This Site Link.
- Confermare le scelte effettuate premendo il pulsante OK.
Per aggiungere o togliere Sites ad un Sites Link, oppure per modificare le proprietà di un Site Link basta andare ad editare le Properties del Sites Link.
Site Link Bridges
Di default tutti i Site Link di una foresta di Active Directory formano un agglomerato in termini di Site Link Cost, nel senso che è come se fra tutti i Sites della foresta di Active Directory esistesse un Site Link, anche se fra alcuni Sites non esiste un vero e proprio Site Link. Per maggiori informazioni si può osservare il seguente schema. Ovviamente questa configurazione ha senso se la rete è completamente routable, ovvero a partire da un Sites qualunque posso raggiungere via IP tutti gli altri Sites. In questo modo, il meccanismo di replicazione di Active Directory può costruire, in autonomia ed in modo automatico, la sua topologia di replicazione. Se la rete non è completamente routable ci si deve preoccupare che tutti i Sites siano raggiungibili per la replicazione di Active Directory. Infatti, in questo caso, non è più possibile affidarsi al meccanismo di replica di Active Directory per far costruire la topologia di replicazione, ma bisogna provvedere manualmente. Per stabilire qual'è la topologia di replicazione si deve provvedere a creare dei Site Link Bridge. I Site Link che componogono il Site Link Bridge godono della proprietà transitiva, ovvero i pacchetti IP ad essi legati possono venire instradati all'interno di tutti i Sites che essi collegano. Ciò non è vero per i Site Links che non appartengono al Site Link Bridge. Il costo di ciascuno di questi Site Links viruali è dato dalla somma dei Site Link Costs dei Site Links che devono venire utilizzati per realizzarli. Per poter creare i Site Link Bridge bisogna disabilitare l'opzione Bridge All Site Links. Infine, i Site Links che compongono un Site Link Bridge devono avere almeno un Site in comune, altrimenti il Site Links Bridge perde di significato.
Come creare un Site Link Bridge
Per creare un Site Link Bridge basta procedere come segue:
- Aprire l'Active Directory Sites and Services console che si trova all'interno degli Administrative Tools.
- Espandere la cartella Inter-Sites Transports. Cliccare col pulsante destro del mouse sopra o la cartella IP o la cartella SMTP a seconda di dove si vuole creare il Site Link Bridge. Dal menu contestuale che si apre selezionare la voce Properties, in questo modo si aprirà la finestra di dialogo Properties.
- Togliere il segno di selezione dall'opzione Bridge All Site Links.
- Confermare la scelta effettuata premendo il pulsante OK.
- Cliccare col pulsante destro del mouse sopra o la cartella IP o la cartella SMTP a seconda di dove si vuole creare il Site Link Bridge. Dal menu contestuale che si apre selezionare la voce New Site Link Bridge per aprire la finestra di dialogo New Objects - Site Link Bridge.
- Nella casella di testo Name inserire il nome che dovrà avere il Site Link Bridge.
- Dalla finestra Sites Links Not In This Site Link Bridge selezionare due o più Sites Links che dovranno comporre il Sites Link Bridge. Premere il pulsante Add per aggiungere i Sites Links selezionati all'interno della finestra Sites Links In This Site Link Bridge.
- Confermare le scelte effettuate premendo il pulsante OK.
Preferred Bridgehead Server
Nei suoi processi di replicazione fra Sites, Active Directory utilizza la seguente tecnica (tanto per fissare le idee, chiameremo i due Sites col nome di A e B):
- Un Domain Controller del Site A sceglie un Domain Controller del Site B.
- Il Domain Controller del Site A inizia a replicare il suo contenuto col Domain Controller del Site B scelto in precedenza.
Il Domain Controller del Site B in cui il Domain Controller del Site A replica il suo contenuto prende il nome di Bridgehead Server. Se non si è scelto diversamente, tutti i Domain Controller di un Site possono svolgere il ruolo di Bridgehead Server. Questa situazione può risultare limitante nelle seguenti condizioni:
- I due Sites sono separati da un Firewall.
- La capacità di banda dei Domain Controller di un Site non sono identiche: ci sono Domain Controller collegati a linee più velociti ed altri a linee più lente.
Per tutte queste situazioni si può fissare uno o più Domain Controller come Preferred Bridgehead Server. In questo modo, solamente i Domain Controller che sono considerati Preferred Bridgehead Server vengono utilizzati come Bridgehead Server. Il Domain Controller che fra quelli che compongono i Preferred Bridgehead Server viene utilizzato come Bridgehead Server, prende il nome di Active Preferred Bridgehead Server. Si può impostare, fra i vari Preferred Bridgehead Server, quale di loro dovrà essere considerato l'Active Preferred Bridgehead Server predefinito. Se per qualche motivo, nessun Preferred Bridgehead Server dovesse essere disponibile, Active Directory sceglierà uno qualunque degli altri Domain Controller presenti all'interno del Sites, per replicare i contenuti di Active Directory fra i due Sites.
Come impostare i Preferred Bridgehead Server
Per impostare i Preferred Bridgehead Server si può procedere come segue:
- Aprire l'Active Directory Sites and Services console che si trova all'interno degli Administrative Tools.
- Espandere la cartella Sites. Espandere la cartella corrispondente al Sites in cui si desidera creare i Preferred Bridgehead Server.
- Espandere la cartella Server. Cliccare col pulsante destro del mouse sopra il nome del Domain Controller che si desidera aggiungere ai Preferred Bridgehead Server. Dal menu contestuale che si apre, selezionare la voce Properties per aprire la finestra di dialogo Properties.
- Dalla finestra Transports Available For Inter-Site Data Transfer selezionare o la voce IP o la voce SMTP a seconda di quale meccanismo di replicazione il server deve essere considerato un Preferred Bridgehead Server. Cliccare sul pulsante Add per aggiungere la voce selezionata all'interno della finestra This Server Is A Preferred Bridgehead Server For The Following Transports.
- Premere il pulsante OK due volte per confermare le scelte effettuate.
Knowledge Consistency Checker
Il Knowledge Consistency Checker (KCC) è un servizio di Windows 2000 che gira solamente sui Domain Controller e si preoccupa di svolgere le seguenti operazioni:
- Valuta il Site Link Cost di ciascun Site Link.
- Controlla se tutti i Domain Controller della foresta di Active Directory sono disponibili.
- Crea tutti i Connection Object che legano i vari Domain Controller fra di loro.
- Rimuove i Connection Object che non sono più necessari.
- Aggiunge i nuovi Domain Controller allo schema di replicazione di Active Directory.
- Toglie i Domain Controller su cui è stata eseguita una procedura di demote dallo schema di replicazione di Active Directory.
Come controllare la replicazione di Active Directory
Per controllare se il meccanismo di replicazione di Active Directory funziona correttamente, si può utilizzare la tecnica seguente:
- Aprire l'Active Directory Sites and Services console che si trova all'interno degli Administrative Tools.
- Espandere la cartella Sites. Espandere la cartella corrispondente al Sites in cui si desidera eseguire il test di replicazione di Active Directory.
- Espandere la cartella Server. Fare doppio clic col mouse sul nome del Domain Controller da cui si desidera lanciare il test di replicazione di Active Directory.
- Cliccare col pulsante destro del mouse sopra la voce NTDS Settings, dal menu contestuale che si apre selezionare prima la voce All Tasks Menu e poi quella Checking Replication Topology. In qeusto modo viene avviato il test di replicazione di Active Directory.
- Se a video compare il messaggio Active Directory Has Checked The Replication Topology vuol dire che il test è andato a buon fine. In caso contrario, compare a video una segnalazione d'errore riportante la causa del problema.
Relazioni di fiducia in Active Directory
All'interno di Active Directory esiste una implicita relazione biunivoca di fiducia tra i vari Domain di un Domain Tree e tutti i Top-Level Domain dei vari Domain Tree che compongono la Forest. Poiché all'interno di Active Directory viene utilizzato Kerberos come meccanismo di autenticazione, ovvero una Forest costituisce un Realm Kerberos, ed essendo l'autenticazione Kerberos transitiva, la relazione di fiducia all'interno di Active Directory gode della proprietà trasitiva. Ciò significa che se tre Domain, A, B e C appartengono al medesimo Domain Tree ed hanno le seguenti relazioni biunivoche di fiducia: A<->B e B<->C allora vale anche la relazione A<->C. Pertanto, un utente di A può accedere alle risorse sia di B sia di C e viceversa. In questo modo, un utente di un Domain può accedere a tutte le risorse di una Forest.
Active Directory prevede poi la presenza di una relazione unidirezionale, esplicità e non transitiva di fiducia nei seguenti casi:
- Fra un Domain Windows 2000 ed un Domain Windows NT.
- Fra un Domain Windows 2000 di una Forest ed un altro Domain Windows 2000 di un'altra Forest.
- Fra un Domain Windows 2000 ed un MIT Kerberos V5 Realm. Consentendo ad un utente del Realm di accedere alle risorse di rete del Domain Windows 2000.
Per poter creare le relazioni di fiducia sopra elencate, il server che svolge il ruolo di Primary Domain Controller Emulator deve essere disponibile.
Zone create da Active Directory
Quando s'installa Active Directory la procedura d'installazione provvedere a creare delle opportune zone DNS che servono al corretto funzionamento di Active Directory. Per poter creare queste zone, qualora il servizio DNS fosse già attivo, l'aggiornamento dinamico della zona DNS su cui opererà Active Directory deve essere abilitato. Le Forward Lookup Zone che vengono create sono:
- _msdcs.forest_root_domain_name (ad esempio
_msdcs.sede.miazienda.it
) - forest_root_domain_name (ad esempio
sede.miazienda.it
)
All'interno della zona forest_root_domain_name devono risultare presenti le seguenti due zone DNS:
- DomainDnsZones
- ForestDnsZones
Non viene invece creata alcuna Reverse Lookup Zone.
Livelli di Dominio e di Foresta
Per avere un'idea di quelli che sono le novità sui Livelli di Dominio e di Foresta in Active Directory di Windows 2003 si può consultare il documento: How Active Directory Functional Levels Work. I possibili Livelli di Dominio di Windows 2003 sono:
- Windows 2000 Mixed (Default) (Livello 0). Questo è il livello di default quando si crea una nuova foresta con Windows 2003 o si aggiorna un dominio Windows 2000 che era in mixed-mode. Il corrispondente Livello di Foresta è Windows 2000.
- Windows 2000 Native (Livello 0). Questo è il livello successivo al Windows 2000 Mixed. Se si aggiorna un dominio Windows 2000 in native-mode questo è il livello di dominio a cui si giunge. Il corrispondente Livello di Foresta è Windows 2000.
- Windows Server 2003 (Livello 2). Questo è il livello più alto e può essere impostato solamente quando tutti i Domain Controller sono su Windows 2003. Il corrispondente Livello di Foresta è Windows Server 2003.
- Windows Server 2003 Interim (Livello 1). Questo livello è disponibile solamente quando si migra un NT Domain ad un Active Directory Domain su Windows 2003. In questo livello tutti i Domain Controller devono essere o su Windows NT o su Windows 2003, non si possono avere Domain Controller su Windows 2000. Questo per la diversa gestione delle group membership di Windows 2000: in Windows 2000 non si possono avere gruppi con più di 5000 utenti. Il corrsipondente Livello di Foresta è il Windows Server 2003 Interim.
I Livelli di Foresta di Windows 2003 sono:
- Windows 2000 (Default) (Livello 0)
- Windows Server 2003 Interim (Livello 1)
- Windows Server 2003 (Livello 2)
Quando si alza il Livello di Foresta, tutti i successivi Domini erideteranno il livello di dominio corrispondete a quel particolare livello di foresta, pertanto se si passa al livello di foresta Windows Server 2003 allora tutti i successivi domini avranno come Livello di Dominio quello Windows Server 2003.
Per poter alzare il Livello di Dominio bisogna appartenere al gruppo dei Domain Admins. L'operazione d'innalzamento va eseguita sul Primary Domain Controller Emulator. L'operazione d'innalzamento del livello di dominio è irreversibile. Per alzare il livelo di dominio si deve utilizzare come strumento Active Directory Users and Computers.
Per poter alzare il Livello di Foresta a Windows Server 2003 bisogna che:
- Tutti i Domain Controller siano su Windows 2003.
- Tutti gli Active Directory Domain devono essere, come Livello di Dominio, o in Windows 2000 Native o in Windows Server 2003
Per sapere come innalzare il Livello di Foresta o il Livello di Dominio si può consultare la Knowledge Base KB322692.
Una volta innalzato il livello di foresta a Windows Server 2003 tutti gli Active Directory Domain vengono portati a livello di dominio Windows Server 2003. Per alzare il Livello di Foresta si deve utilizzare l'Active Directory Domains and Trusts e bisogna far parte del gruppo Enterprise Admins. L'operazione d'innalzamento del livello di foresta è irreversibile. L'operazione d'innalzamento del Livello di Foresta va eseguita sul Domain Controller che ricopre il ruolo di Schema Operations Master.
Per sapere quali sono i livelli di dominio e foresta con cui un Domain Controler è compatibile, si possono consultare gli attributi msDSBehaviorVersion della classe nTDSDSA interrogoando le impostzioni dell'oggetto NTDS con la seguente query LDAP:
cn=NTDS Settings,cn=<ServerName>,cn=<servers>,cn=<sites>,cn=configuration,dc=<DomainName>,dc=<ForestRootDomainName>
L'assenza di questi attributi significa che la macchina sta eseguendo, come sistema operativo, Windows 2000, mentre l'assenza dell'oggetto NTDS sta a significare che sulla macchina è stato installato il sistema operativo Windows NT.
Per conoscere qual'è il Livello di Dominio si può consultare l'attriuto msDSBehaviorVersion della classe domainDNS eseguendo una query LDAP del tipo:
dc=<DomainName>,dc=<ForestRootDomainName>
L'assenza dell'attributo va interpretata come livello 0 (ovvero Windows 2000 mixed o Native).
Per conoscere qual'è il Livello di Foresta si può consultare l'attriuto msDSBehaviorVersion della classe crossRefContainer eseguendo una query LDAP del tipo:
cn=partitions,cn=configuration,dc=<DomainName>,dc=<ForestRootDomainName>
L'assenza dell'attributo va interpretata come livello 0 (ovvero Windows 2000 mixed o Native).
Per eseguire queste query si può utilizzare il comando ldp.exe:
- Eseguire il comando ldp.exe.
- Dal menu File selezionare la voce BIND ed eseguire il processo d'autenticazione ad Active Directory.
- Dal menu View selezionare la voce Tree ed eseguire le query LDAP da svolgere.
Active Directory Object
Esistono molti Active Directory Object. Alcuni dei più significativi Active Directory Object sono:
- LostAndFound. Tutti gli oggetti il cui contenitore genitore è mancanate, vengono messi nell'Active Directory Object LostAndFound. Gli oggetti il cui contenitore genitore è mancanate prendono il nome di Oggetti Orfani.
- ForeignSecurityPrincipals. Contiene i Foreign Security Principal che provengono dalle relazioni di fiducia con i Domini di Active Directory esterni. Questi Foreign Security Principal vengono inseriti in ForeignSecurityPrincipals per facilitarne l'accesso alle risorse condivise di Active Directory.
- System Container. Contiene gli oggetti legati ai System Services, come ad esempio il Distributed File System (DFS), il File Replication Service (FRS) o l'Internet Protocol Security (IPSec).
Struttura fisica di Active Directory
La struttura fisica di Active Directory è composta dai seguenti elementi:
- Reti Fisiche, come Backbone, Cablaggi Strutturati ...
- reti Logiche, come LAN, WAN ...
- Domain Controller
Viene definito Site un insieme composto da Domain Controller collegati fra loro da un link ad alta velocità (almeno 512Kbps). Caratteristiche di un Site:
- Il primo Site che viene creato si chiama Default-First-Site-Name. Il nome può essere cambiato se lo si desidera.
- Un Site può essere composto da una, nessuna o molte sottoreti.
I Site vengono utilizzati per svolgere al meglio i seguenti compiti:
- Replicazione di Active Directory. I Site vengono utilizzati per controllare il flusso di replicazione dei dati di Active Directory fra due Domain Controller. La replicazione dei dati di Active Directory avviene nei tempi e modi caratteristici di Active Directory (Change Notification e Urgent Replication).
- Logon Traffic. Quando un utente fa logon alla rete, il suo principal viene inviato ad un Domain Controller dello stesso Site della Workstation da cui sta eseguendo il logon.
- Application Traffic. Alcune applicazioni traggono vantaggio dalla topologia dei Site, come ad esempio il Distributed File System.
- Traffico fra Domain Controller di un Site avviene in modo non compresso.
Fra due o più Site i dati vengono scambiati in modo leggermente diverso:
- La trasmissione dei dati avviene ad intervalli regolari impostati dagli amministratori di rete.
- Il traffico IP viene compresso di circa il 15%.
- Lo scambio dei dati avviene fra solamente due Site alla volta e fra solamente due Domain Controller, che prendono il nome di Bridgehead Server. I due Bridgehead Server vengono scelti utilizzando il Intersite Topology Generator (ITG).
Restore Autoritativo di Active Directory
Quando si esegue un resotre di Active Directory, il contenuto del database di Active Directory appena ripristinato, viene sincronizzato con quello degli altri Domain Controller, col risultato che non si riesce, in questo modo, a recuperare un dato cancellato per errore. Per ovviare a questa strategia di restore, si utilizza un Restore Autoritativo di Active Directory. In questo modo, il dato che si desidera recuperare viene da prima ripristinato e poi replicato sugli altri Domain Controller. Per eseguire un Restore Autoritativo di Active Directory basta procedere come segue:
- Rivviare il computer. Al riavvio, prima che salga Windows 2000, premere F8.
- Selezionare la voce Directory Services Restore Mode
- Ripristinare il System State contenente la versione del database di Active Directory che si desidera recuperare.
- Quando il resotre è terminato, chiudere la console per il Backup. Non eseguire il reboot della macchina.
- Aprire la Command Prompt e lanciare il comando ntdsutil.exe.
- Al prompt ntdsutil digitare authoritative resotre.
- A questo punto possiamo distinguere due possibili scenari.
Nel primo scenario si vuole ripristinare l'intero contenuto di
Active Directory, mentre nel secondo scenario si desidera ripristinare
solamente una parte di Active Directory.
- Ripristino di tutta la struttura di Active Directory.
Al prompt dell'authoritative resotre, scrivere:
restore database
Premere OK per confermare. Attendere l'esecuzione dell'operazione di ripristino. Una volta verificato che l'operazione è andata a buon fine, digitare il comandoquit
per uscire dal prompt del comando ntdsutil relativo all'authoritative resotre. - Ripristino di una sola parte di Active Directory.
Al prompt dell'authoritative resotre, scrivere:
restore subtree <Distinguished Name dell'Oggeto di AD da rendere Autoritativo>
Ad esempio, se si desidera rendere autoritativa l'Organization Unit Venditori del dominio home.lan:restore subtree OU=Venditori, DC=home, DC=lan
Una volta controllato che l'operazione è andata a buon fine, digitare il comandoquit
per uscire dal prompt del comando ntdsutil relativo all'authoritative resotre.
- Ripristino di tutta la struttura di Active Directory.
Al prompt dell'authoritative resotre, scrivere:
- Uscire dall'utility ntdsutil digitando
quit
e riavviare il computer.
Per maggiori informazioni sul comando ntdsutil si possono consultare le Knowledge Base: KB315131 e KB241594.
Per valutare l'integrità del database di Active Directory, si può consultare la Knowledge Base: KB315136.
Configurazione di Active Directory per un sito Web
Supponento di fare riferimento all'architettura standard di un sito web, composta dagli strati denominati User Services, Business Logic e Data Services, dove col termine strato intendiamo un insieme di computer aventi compiti di funzionamento simili; la configurazione di Active Directory va così impostata.
- Creare una foresta con un singolo dominio per i
server nello User Services
- Mantenere le Organization Unit standard.
- Creare una Organization Unit per gli utenti.
- Creare una foresta per supportare l'infrastruttura di back-end,
composta dagli strati Business Logic e Data Services.
- Creare un dominio per i server non in cluster.
- Creare un dominio per le applicazioni che hanno bisogna di Active Directory per funzionare.
- Creare un dominio per i server che sono in cluster. Ciascun nodo dei cluster deve svolgere il ruolo sia di Domain Controller, sia di server DNS. Nessun server in cluster, per motivi di performance, deve essere un Global Catalog Server. Poichè l'assenza di un Global Catalog Server determina l'impossibilità di utilizzare gli Universal Groups, ne segue che bisogna configurare i server in cluster per ignorare i Global Catalog Logon Failure.
- Creare una relazione di fiducia tra il dominio dello User Services e gli appropriati domini della foresta di back-end.
- Rendere i vari Domain Controller altamente affidabili.
- Porre per ciascun dominio almeno due Domain Controller
- Configurare ciascun Domain Controller come DNS Server, con la zona integrata in Active Directory e con il Secure Dynamic Update abilitato.
- Rendere i DNS server dei domini figli del root domain, come DNS secondari della root zone.
Pubblicare un servizio in Active Directory
In generale in Active Directory si possono pubblicare le seguenti risorse:
- Utenti
- Computer
- Stampanti
- Cartelle
- File
- Servizi di rete
Prima di pubblicare un Servizio di Rete bisogna controllare se la sua pubblicazione soddisfa alle seguenti condizioni:
- E' utile a molti client presenti nella rete. Se il numero di client a cui la pubblicazione del servizio porta dei vantaggi non è elevato, conviene non pubblicarlo.
- E' relativamente stabile. Ovvero non è soggetto a molti cambiamenti nel corso della giornata. Nei cicli di vita di Active Directory, un servizio viene ritenuto stabile se non cambia all'interno di due cicli di replicazione di Active Directory.
- Le informazioni in esso contenute sono autoconsistenti. Posta in altri termini, tutto ciò che viene pubblicato, relativamente al servizio, non necessità di ulteriori riferimenti ad informazioni esterne al servizio stesso. In questo senso, le informazioni del servizio dovrebbero essere concise, ma essenziali.
Di solito vengono pubblicate due categorie di servizi:
- Binding Information. Quando non si sa bene a quale macchina o gruppi di macchine compete un certo servizio, può tornare utile pubblicare questo servizio. In questo modo, i client fanno riferimento all'informazione contenuta in Active Directory per ottenere i servizi erogati dal servizio. Viceversa, in un modello di rete in cui per ogni macchina resta associato un bene preciso servizio, non conviene pubblicare questi servizi in Active Direcotry.
- Configuration Information. Se la configurazione di un particolare servizio può tornare utile a molti client della rete aziendale, conviene pubblicare queste informazioni in Active Directory. In questo modo i client possono reprire le informazioni necessarie a configurare in modo opportuno il sevizio direttamente da Active Directory.
Per pubblicare un servizio di rete in Active Direcotry si deve utilizzare l'Active Directory Sites and Services.
System Key (SYSKEY)
La System Key (o più brevemente SYSKEY) è una chiave a 128bit che consente di:
- Criptare le password degli utenti quando queste sono salvate in Active Directory.
- Criptare le Private Key degli utenti quando si abilita l'Encrypting File System.
La SYSKEY viene attivata di default ogni qual volta si esegue l'installazione di un Domain Controller. In particolare la SYSKEY presenta tre modalità di funzionamento:
- Mode 1 (Default). La SYSKEY viene conservata nel Registry di ciascun Domain Controller e non viene mai richiesta durate la fase d'avvio della macchina.
- Mode 2. La SYSKEY viene conservata nel Registry di ciascun Domain Controller, ma durante la fase d'avvio della macchina viene chiesto all'amministratore di sistema di digitarla.
- Mode 3. La SYSKEY viene posta in un floppy disk il quale deve essere sempre inserito ogni qual volta un Domain Controller viene riavviato.
Per maggiori informazioni sulla SYSKEY e su come mettere in sicurezza un Domain Controller si può consultare il documento Deploying Secure Domain Controllers.
Sincronizzazione temporale all'interno di Active Directorty
Per avere maggiori informazioni sulla sincronizzazione fra i vari computer che appartengono ad Active Directory, si possono consultare le seguenti Knowledge Base: KB216724 e KB243574. Per sapere come sincronizzare fra di loro i vari Domain Controller di un Dominio e i vari computer di un Dominio di Active Directory, potete leggere la ricetta Come impostare l'ora in Active Directory.
Autenticazione via TLS ad Active Directory
Per avere maggiori informazioni sul processo di autenticazione via Transport Layer Security (o più brevemente TLS) ad Active Directory si possono consultare i documenti SSL/TLS in Windows Server 2003, How TLS/SSL Works.
Per abilitare il protocollo TLS/SSL in Active Directory bisogna seguire le indicazioni riportate nella Knowledge Base KB321051. In caso di problemi di autenticazione ad Active Directory si può abilitare il livello di logging del SChannel, per maggiori informazioni si può consultare la Knowledge Base KB260729.
Compatibilità fra Active Directory ed i software Antivirus
Per la natura stessa dei software Antivirus si possono verificare dei problemi di compatibilità fra Active Directory ed i software antivirus stessi. Questi problemi di compatibilità riguardano essenzialmente l'interferenza che si può verifica fra il software antivirus quando questi esegue una scansione virale ed Active Directory nell'accesso ad alcuni file vitali per il corretto funzionamento di Active Directory. Per ovviare a questo tipo di problemi basta escludere alcuni file e cartelle dalla scansione virale del programma antivirus. Per maggiori informazioni si possono consultare le seguenti Knowledge Base KB822158 e KB284947.
Togliere dalla scansione dell'Antivirus le seguenti cartelle:
- %SystemRoot%\ntds
- %SystemRoot%\ntfrs\jet
- %SystemRoot%\SYSVOL
- %systemroot%\SYSVOL\staging
- %systemroot%\SYSVOL\staging areas
- %systemroot%\SYSVOL\SYSVOL
- %systemroot%\SYSVOL\domain\DO_NOT_REMOVE_NtFrs_PreInstall_Directory
Strumenti di Amministrazione di Active Directory
Esistono due classi di strumenti per gestire e mantenere Active Directory:
- Administrative MMC Snap-In:
- Active Direcotry Users and Computers.
- Active Directory Domains and Trust.
- Active Directory Sites and Services.
- Active Directory Schema. Non è presente di default fra gli Administrative Tools, ma va aggiunta manualmente.
- Command Line Administrative Tools:
- Dsadd: consente di aggiungere degli oggetti in Active Directory, come ad esempio Utenti, Computers, Organization Unit ...
- Dsmod: consente di modificare gli attributi di un oggetto di Active Directory.
- Dsquery: consente di eseguire delle query in Active Directory.
- Dsmove: consente di muovere un singolo oggetto che si trova in un dominio in un'altra posizione all'interno di Active Directory.
- Dsrm: cancella un oggetto da Active Directory.
- Dsget: mostra gli attributi di un utente, computer, gruppo, server ed organizational unit.
- Csvde: consente di esportare ed importare i dati di Active Directory in un Comma-Separated Format.
- Ldifde: consente di gestire i file LDIF. Con questo comandi si può:
- Estendere lo Schema.
- Aggiungere, modificare e cancellare un oggetto di Active Directory.
- Esportare le informazioni di un utente o di un gruppo ad altre applicazioni o servizio.
Accanto agli strumenti riportati, si può utilizzare anche l'ADSI Editor, questo strumento però si trova all'interno dei Support Tools di Windows 2003.
Strumenti di diagnostica di Active Directory
Esistono diversi comandi per valutare lo stato di salute di Active Directory (abbreviato AD). Tra questi vale la pena menzionare i seguenti:
-
NetDiag.exe: consente d'individuare eventuali problemi di
Networking che si possono verificare fra i diversi domain controller di
una foresta. Questo comando fa parte dei
Support Tools.
Per maggiori informazioni su NetDiag.exe si può consultare la Knowledge Base:
KB265706. Di seguito riportiamo alcuni
esempi di come si pu� utilizzare il comando NetDiag.exe:
netdiag /v /test:DNS
netdiag /v /test:Kerberos
netdiag /v /test:DsGetDc
netdiag /v /test:DcList
netdiag /v /test:Route
Per enumerare i Domain Controller Account lanciare il comando:netdiag /DcAccountEnum
Per eseguire alcuni test sui Domain Controller del dominio<DomainName>
lacniare il comando:netdiag /d:<DomainName>
- DCDiag.exe: controlla lo stato di un Domain Controller.
Questo comando fa parte dei
Support Tools.
Per maggiori informazioni su DCDiag.exe si
può consultare la Knowledge Base:
KB265706. Il comando per eseguire un test
completo sul processo di replicazione di Active Directory è il seguente:
dcdiag /s:<FQDN_Domain_Controller_Da_Controllare> /a /f:<File_di_Log>
Quando si esegue il comando di sopra il risultato è simile a quello riportato qui. - DNScmd.exe: Consente di ottenere informazioni sulla configurazione dei Name Server. Questo comando fa parte dei Support Tools di Windows 2003. Per vedere qualche esempio su come utilizzare questo comando si può consultare il documento DNScmd Examples.
- DSAStat.exe: Confronta le informazioni relative alla struttura di Active Directory contenute in due Domain Controller e ne evidenzia le eventuali differenze. Per vedere come utilizzare questo importante comando si può consultare la Knowledge Base: KB318340. Questo comando fa parte dei Support Tools.
- NTFRsutl.exe: Permette di ottenere la configurazione del FRS
(File Replication Service) contenuta in Active Directory.
Il comando da utilizzare per ottenere queste informazioni è:
ntfrsutl ds > <Percorso_File_di_Log>
Quando si esegue il comando di sopra il risultato è simile a quello riportato qui. - ReplMon.exe: monitorizza lo stato e l'andamento delle replicazioni fra i vari domain controller di una foresta.
- GpoTool.exe: valuta lo stato di salute di una Group Policy.
- GpoResult.exe: fornisce il risultato delle Group Policy applicate.
- Repadmin.exe: fornisce infomrazioni sullo stato della
replicazione di AD fra i diversi domain controller di una foresta. Per sapere come utilizzare
il comando RepAdmin.exe si pu� consultare il documento
RepAdmin Examples.
Alcuni esempi utili sono:
- Per forzare la replicazione di Active Directory da un Domain Controller ad un altro
Domain Controller, bisogna utilizzare il seguente comando:
repadmin /sync dc=<Domain_Name>,dc=<Top_Domain_Name> <FQDN_Domain_Controller_Target> <UUID_Domain_Controller_Source> /full
Lo UUID di un Domain Controller è lo Universally Unique Identifier, ovvero una sequenza di 128-bits che servono ad individuare gli oggetti in Active Directory. - Per risalire allo UUID di un Domain Controller si può utilizzare il comando:
repadmin /showreps <FQDN_Domain_Controller>
Dove <FQDN_Domain_Controller> è il nome del Domain Controller di cui si vuole conoscere lo UUID. Lo UUID è la sigla alfanumerica riportata accanto alla voce DC Object GUID.
- Per forzare la replicazione di Active Directory da un Domain Controller ad un altro
Domain Controller, bisogna utilizzare il seguente comando:
- ReplMon.exe: Consente di amministrare il meccanismo di replica di Active Directory e di dare una reppresentazione grafica alla sua topologia.
- ldp.exe: consente di vedere l'intera struttura di Active Directory evidenziando i vari
oggetti che compongono le diverse voci che costituicono l'infrastruttura di Active Directory.
Per utilizzare questo tool bisgona:
- Prima collegarsi, facendo uso del menu Connecction e della voce Connect, ad un server che svolge il ruolo di Domain Controller (di solito la porta di connessione è quella standard, 389).
- Dal menu Connection, selezionare la voce Bind per stabilire con quale credenziali si vuole accedere al Domain Controller specificato nel punto precedente. Per accedere in lettura ad Active Directory, è sufficiente far parte del gruppo dei Domain Users.
- Per vedere la struttura di Active Directory aprire il menu View e selezionare la voce Tree. All'interno del campo Base DN inserire il distinguish name di una Organization Unit che appartiene ad Active Directory.
Per ottenere maggiori informazioni dall'Event Viewer sullo stato di Active Directory si deve aumentare il livello di logging dei vari componenti di Active Directory. Per far questo basta procedere come segue:
- Entrare nel Registry lanciando il comando RegEdit.exe
- Entrare nella chiave di registry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagniostic
- Modificare i valori delle chiavi:
- 1 Knowledge Concistency Check da 0 a 3
- 13 Name Resolution da 0 a 3
- 5 Replication Events da 0 a 3
- 9 Internal Processing da 0 a 3
- Uscire dal Registry.
Per avere un esatta desrizione di tutti gli eventi legati al File Replication Service si può consultare il documento FRS Event Log Error Codes.
Per ottenere maggiori informazioni su come svolgere alcune operazioni di diagniostica di Active Directory si può consultare i documenti Active Directory Diagnostics Troubleshooting and Recovery e How to Troubleshoot AD Replication Problem.
Per conoscere quali sono i nuovi comandi che sono stati messi a disposizione degli amministratori di Windows 2003 si può consultare il documento New Command-Line Tools for Active Directory.
Per gestire i servizi di Windows 2003 è stato messo a disposizione degli amministratori di sistema il comando sc.exe.
1.6 User e Computer Object
Esistono tre categorie di utenti in Windows 2000:
- Local User Account. Sono gli utenti che risiedono localmente in ogni macchina. Presentano le
seguenti caratteristiche:
- Non possono collegarsi alle risorse di rete presenti in Active Directory.
- Non sono soggetti ad alcun meccanismo di replica su altri computer.
- Domain User Accounts. Sono gli utenti che vengono creati in Active Directory e risiedono all'interno dei
computer che svolgono il ruolo do Domain Controller. Presentano le seguenti
caratteristiche:
- Possono collegarsi alle risorse di rete presenti in Active Directory se ne hanno i diritti.
- Sono soggetti ai meccanismi di replica di Active Directory.
- Ricevono un Access Token che l'identifica all'interno di Active Directory.
- Built-In User Account. Sono gli utenti che vengono creati di default con l'installazione di
Windows 2000. Esempi di utenti di questo tipo sono:
- Administrator. Viene creato quando s'installa Windows 2000.
- Guest. Viene creato quando s'installa Windows 2000. Questo utente è, di default, disabilitato e non ha password.
- IUSR_<ComputerName>. Viene creato quando s'installa Internet Information Server
- IWAM_<ComputerName>. Viene creato quando s'installa Internet Information Server
- TsInternetUser. Viene creato di default con l'installazione del Terminal Server.
Per maggiori informazioni sulla gestione degli User e Computer Object si consulti il documento Users and Computers Objects.
Template
Se si creano molti utenti durante le normali attività quotidiane, conviene creare dei modelli d'utente da utilizzare nella procedura di creazione. Per creare un modello d'utente si può procedere come segue:
- Creare un utente utilizzando il wizard di Active Directory Users and Computers.
- Assegnare all'utente un nome che lo identifichi come modello d'utente. Ad esempio lo si può chiamare Template_User_Standard.
- Se lo si ritiene opportuno si può creare una Organizational Unit in cui inserire i modelli d'utente.
- Quando si deve creare un utente basta cliccare col pulsante destro del mouse sopra il modello d'utente che si vuole utilizzare e dal menu contestuale selezionare la voce Copy per aprire la finestra di dialogo Copy Object User.
Caratteristiche di un utente
Quando si analizzano le Properties di un utente, le sezioni che di default si hanno a disposizione sono:
- General.
- Address.
- Account. Sono registrate le informazioni sull'account dell'utente:
- User Logon Name
- Logon Hours
- Computers Permitted To Log On To
- Account Option
- Account Expiration
- Profile. Sono registrate le informazioni sul profilo dell'utente:
- Logon Script Path.
- Home Folder.
- Shared Document Folder.
- Telephones.
- Organization.
- Remote Control. Contiene le impostazioni sul controllo del Terminal Server.
- Terminal Services Profiles. Contiene il profilo che l'utente riceve quando si collega in Terminal Server.
- Member Of.
- Dial-In.
- Environment. Sono registrate le informazioni sui programmi che vengono eseguiti allo startup delle sessioni Terminal Server.
- Sessions. Venono impostate le informazioni sul Terminal Services Time-Out e sul Reconnection.
Se s'installano dei programmi che estendono lo schema di Active Directory, allora accanto alle sezioni di default, ci possono essere ulteriori sessioni legate all'estensione dello schema. Un tipico programma che estende lo schema di Active Directory è Microsoft Exchange.
User Profile
I User Profile sono una collezzione di di dati che contengono le configurazioni dell'ambiente Desktop attuale di un utente, le impostazioni delle applicazioni che utilizza, la configurazione del menu Start, i dischi di rete condivisi in modo permanente dall'utente e i suoi dati personali. In particolare, i dati personali di un utente vengono conservati in una cartella che prende il nome di Home Folder. Esistono diversi tipi di User Profile:
- Local User Profile. Viene conservato localmente nel computer in cui l'utente si è collegato. Ogni cambiamento effettuto al Local User Profile rimane conservato solamente all'interno del computer in cui il Local User Profile è ospitato.
- Roaming User Profile. Viene conservato in una cartella condivisa di modo che sia possibile accedervi da qualunque macchina della rete aziendale si utilizzi. Ogni cambiamento effettuato al Roaming User Profile viene salvato all'interno della cartella di rete in cui il Roaming User Profile viene conservato. In questo modo la modifica verrà applicata a tutti i computer della rete a cui l'utente si collega. Quando l'utente si collega per la prima volta ad un computer della rete, Windows 2000 preleva, per intero, il suo profilo dalla cartella di rete in cui è collocato e lo copia localmente, all'interno della cartella Documents and Settings, nella macchina sui cui si è collegato l'utente. In questo modo, l'utente può collegarsi alla macchina e ricevere il suo profilo anche se in quel momento la rete non è disponibile. Ai log on successivi, Windows 2000, confronta il contenuto locale del profilo dell'utente con quello conservato in rete, solamente i file che sono stati modificati verranno copiati dalla rete in locale, rendendo la procedura di log on più rapida.
- Mandatory User Profile. E' un tipo particolare di Roaming User Profile in cui però l'utente non ha i permessi per modificarlo. L'utente può modificare, durante la sua sessione di logon il suo User Profile, ma nessuna delle modifiche apportate verrà salvata sulla cartella di rete che ospita il Mandatory User Profile al momento del log off.
Gli User Profile vengono conservati di default nella cartella %SystemDrive%\Documents and Settings e contengono le seguenti cartelle (alcune delle quali sono, per costruzione del sistema operativo, nascoste):
- Application Data (Nascosta). Contiene i dati relativi a certi programmi.
- Cookies. Contiene i cookies di Internet Explorer.
- Desktop. Contiene le icone del desktop, compresi collegamenti a file e cartelle.
- Favorites. Contiene i favorites di Internet Explorer.
- Local Settings (Nascosta). Contiene le seguenti cartelle:
- Application Data
- History
- My Documents. Contiene i documenti degli utenti.
- My Pictures (Sottocartella di My Documents). Contiene le immagini che gli utenti decidono di salvare.
- NetHood (Nascosta). Contiene il collegamento a My Network Place.
- PrintHood (Nascosta). Contiene il collegamento alla cartella Printer and Fax del Control Panel.
- Recent (Nascosta). Contiene i collegamenti ai documenti e cartelle recentemente visitati dall'utente.
- Send To (Nascosta). Contiene i collegamenti alle applicazioni che gestiscono i documenti dell'utente.
- Start Menu. Contiene le personalizzazioni del menu Start effettuate dall'utente.
- Template. Contiene i modelli dell'utente.
Oltre alle cartelle riportate, la cartella %SystemDrive%\Documents and Settings contiene anche il file NTUser.dat in cui sono contenute le impostazioni del registry relative all'utente.
Quando si creano dei Roaming User Profile bisogna tenere presente che centralizzando il contenuto dei profili degli utenti si sta realizzando un single point of failure, ovvero si sta aumentando la criticità di una risorsa della rete, In quest'ottica conviene seguire alcune semplici regole:
- Conservare i profili degli utenti in una macchina che è soggetta a backup quotidiani.
- Aumentare la sicurezza d'accesso ai profili installandoli in un cluster ad alta affidabilità.
- Evitare che i profili vengano conservati su una o più macchine che svolgono il ruolo di Domain Controller, in quanto ciò aumenta il tempo di latenza che l'utente deve attendere prima di potersi collegare ad una macchina dopo che ha provveduto ad inserire la sua account.
Come creare un Roaming User Profile
Per creare un Roaming User Profile basta procedere come indicato:
- Creare la cartella condivisa in cui il profilo utente dovrà venire conservato.
- Aprire Active Directory Users and Computers.
- Cliccare col pulsante destro del mouse sopra l'account dell'utente su cui si desidera attivare il Roaming User Profile. Dal menu contestuale cliccare sulla voce Properties.
- Entrare nella sezione Profiles. Inserire nel campo Profile Path lo UNC
della cartella di rete in cui il profilo dell'utente dovrà venire conservato. Se lo si ritiene
opportuno si può far suo della variabile d'ambiente %UserName% che contiene il valore
dello User Logon Name dell'utente. Ad esempio di può scrivere:
\\NomeServer\%UserName%
- Premere OK per confermare i dati inseriti.
Talvolta si può rivelare particolarmente utile, creare un profilo standard (Standard Roaming User Profile) per alcuni utenti, di modo che abbiano tutti a disposizone lo stesso ambiente di lavoro. Per creare questo profilo standard si può procedere nel seguente modo:
- Creare un utente da utilizzare come modello per la costruzione dello Standard Roaming User Profile.
- Personalizzare l'ambiente di lavoro dell'utente secondo le esigenze.
- Creare la cartella condivisa in cui dovrà venire conservato lo Standard Roaming User Profile.
- Eseguire prima un Log Off e poi un Log On dell'utente utilizzato per creare lo Standard Roaming User Profile. In questo modo viene salvato sul disco locale della macchina il profilo dell'utente. Verificare che tutto sia a posto.
- Tornare a fare un Log off dell'utente utilizzato per creare lo Standard Roaming User Profile.
- Collegarsi alla macchina con un account avente diritti amministrativi sulla macchina, sul Active Directory Domain e sulla cartella condivisa.
- Andare nel Control Panel ed lanciare il programma System.
- Entrare nella sezione User Profiles.
- Facendo uso del pulsante Copy To, copiare il profilo appena realizzato all'interno della cartella condivisa creata in precedenza.
- Facendo uso del pulsante Change assegnare i giusti permessi alla cartella condivisa. In particolare assicurarsi che l'utente che dovrà accedere alla cartella abbia il permesso di Permitted To Use.
- Impostare la cartella condivisa come il Profile Path di dell'utente a cui si vuole assegnare lo Standard Roaming User Profile.
Se necessario si può ripetere la procedura indicata per tutti gli utenti a cui si vuole assegnare lo Standard Roaming User Profile.
Come creare un Mandatory User Profile
I Mandatory User Profile non sono altro che Roaming User Profile opportunamente modificati. Creare un Mandatory User Profile è estremamente semplice:
- Andare nella cartella condivisa che contiene i Roaming User Profile.
- Entrare nella cartella del Roaming User Profile che si desidera trasformare in un Mandatory User Profile.
- Rinominare il file NTUser.dat in NTUser.man. In questo modo il file NTUser.man risulta di sola lettura al sistema operativo e quindi non è più in grado di registrare le modifiche effettuate dall'utente.
Home Folder
Sebbene la cartella My Documents sia la cartella di default in cui gli utenti possono archiviare i loro documenti, Windows 2000 mette a disposizione agli amministratori di sistema, la possibilità di dotare gli utenti di un'ulteriore cartella, alternativa alla My Documents, in cui salvare i propri documenti, chiamata Home Folder. In questo modo gli utenti possono decidere se archiviare i loro documenti all'interno della Home Folder o all'interno della My Documents. La Home Folder viene conservata in una cartella condivisa, di modo che sia accessibile su tutti i computer della rete a cui l'utente decide di collegarsi. Inoltre la Home Folder non fa parte della cartella Documents and Settings, col risultato che le sue dimensioni non alterano il tempo di accesso alla macchina da parte dell'utente dopo che questi ha inserito la sua account. L'uso delle Home Folders presenta i seguenti vantaggi:
- Un utente può accedere ai dati conservati nella Home Folder da un qualunque computer della rete decida di collegarsi.
- Il backup dei dati degli utenti e la loro amministrazione risultano centralizzati.
- L'accesso alla Home Folder può avvenire da qualunque sistema operativo Microsoft.
Essendo le Home Folders immagazzinate in una cartella condivisa, la disponibilità di questa cartella diventa di primaria importanza per la buona efficienza della rete aziendale, ne consegue che bisogna mettere in atto tutte le precauzioni necessarie a garantrire il massimo livello di disponibilità di questa risorsa di rete. Conviene, pertanto, collocare questa cartella condivisa all'interno di un cluster ad alta affidabilità.
Come creare una Home Folder
Per creare una Home Folder basta seguire le indicazioni riportate di seguito:
- Creare una cartella condivisa in cui conservare i dati dell'utente.
- Assicurasi che i permessi della cartella condivisa siano così impostati:
- Users ha i permessi di Allow Full Control.
- Everyone nessun permesso attivato.
- Aprire la console Active Directory Users and Computers.
- Cliccare col pulsante destro del mouse sopra l'account dell'utente a cui si desidera impostare la Home Folder. Dal menu contestuale selezionare la voce Properties.
- Entrare nella sezione Profile.
- Nelle impostazioni riservate alla Home Folder selezionare la casella di testo Connect. Scesgliere una lettera dell'alfabeto latino a cui mappare la cartella condivisa, creata in precedenza. Specificare nella casella di testo To lo UNC della cartella condivisa. Se lo si desidera si può utilizzare la variabile d'ambiente %UserName%, la quale contiene lo User Logon Name dell'utente. Se si creano cartelle col nome %UserName% su una partizione formattata NTFS, quando ad un utente viene assegnata la sua Home Folder allora a questi vengono assegnati i diritti di Full Control esclusivo sulla cartella: tutti gli altri utenti, compresi gli Administrators, vengono rimossi dalla cartella.
- Premere OK per confermare le scelte effettuate.
Reset Computer Account
Ogni computer di un Active Directory Domain ha una canale segreto di comunicazione con i Domain Controller del Active Directory Domain. Questo canale di comunicazione prende il nome di Secure Channel. Per garantire la riservatezza della comunicazione il computer e il Domain Controller concordano una password (Secret Channel Password) che viene rinnovata, per i sistemi operativi Windows 2000 e superiori, ogni 30 giorni. La coppia formata dal Computer Account e la Secret Channel Password viene conservata sia in Active Directory e quindi in ogni Domain Controller, sia localmente all'interno del Local Security Authority (LSA) del computer a cui la Computer Account fa riferimento. Se per qualche motivo la sincronizzazione fra la coppia conservata in Active Directory e quella nel LSA dovesse venire meno, si deve procedere eseguendo un Reset Computer Account. Per maggiori informazioni sulla Reset Computer Account si può consultare la Knowledge Base: KB216393.
Per svolgere un Reset Computer Account si possono usare i seguenti strumenti:
- Domain Controller. Per eseguire il Reset di un Domain Computer Account
si possono utilizzare i seguenti strumenti dei
Support Tools:
- NetDom.exe. Per svolgere un Reset Computer Accounts si deve utilizzare la seguente
sintassi:
netdom reset <NomeComputerDaResettare> /domain:<NomeDominioAD>
Dove<NomeComputerDaResettare>
è il nome del computer di cui si vuole svolgere la Reset Computer Account, mentre<NomeDominioAD>
è il nome del Dominio di Active Directory a cui il<NomeComputerDaResettare>
appartiene. - NLTest.exe
- NetDom.exe. Per svolgere un Reset Computer Accounts si deve utilizzare la seguente
sintassi:
- Member Server o Client Computer. Per eseguire il Reset di un Computer Account
di un Member Server o di un Client Computer si possono utilizzare i seguenti strumenti:
- NetDom.exe
- NLTest.exe
- Active Directory Users and Computers
- VB Script File. In questo caso si creano uno VB Script File che provvede ad impostare la nuova password.
Quando si utilizza il comando NetDom.exe per eseguire un Reset Computer Account, sia la copia della password del Local Security Authority sia la copia della password di Active Directory vengono modificati in: <ComputerName>$. Si ricordi, infine, che un Computer Account può appartenere solamente ad un Dominio (sia Active Directory sia Windows NT) per volta.
Comandi Utili
Uno dei comandi più utili nell'amministrazione di Active Directory è il comando NetDom.exe che si trova sia all'interno dei Support Tools sia all'interno del Resource Kit. Questo comando consente, fra le altre cose di aggiungere un computer all'interno di Active Directory. Per conoscere meglio la sintassi di questo comando si può consultare la Knowledge Base: KB266651. Se si desidera migrare un Computer Account da un Dominio Windows NT ad un Dominio di Active Directory, si può utilizzare, oltre che al già citato comando NetDom.exe, anche l'Active Directory Migration Tool.
Per spostare in modo rapido User Account, Group Account e Organizational Unit da un Dominio della foresta di Active Directory, ad un'altro dominio della stessa foresta di Active Directory, si può utilizzare il comando MoveTree.exe. Durante l'esecuzione del comando MoveTree.exe vengono generati due file; il primo, chiamato MoveTree.log, contiene tutte le operazioni che sono svolte dal comando MoveTree.exe, il secondo, chiamato MoveTree.err, contiene tutti gli errori segnalati dal comando MoveTree.exe. Per avere maggiori informazioni sull'utilizzo del comando MoveTree.exe si può consultare la Knowledge Base: KB238394.
Per eseguire delle modifiche massive su Active Directory, si può utilizzare il comando Ldifde.exe, questo comando è disponibile su tutti i server che svolgono il ruolo di Domain Controller. Grazie al comando Ldifde.exe si possono svolgere le seguenti attività:
- Estendere lo Schema.
- Aggiungere, modificare e cancellare un oggetto di Active Directory.
- Esportare le informazioni di un utente o di un gruppo ad altre applicazioni o servizio.
Per maggiori informazioni si possono consultare la Knowledge Base KB237677 ed il documento Guide to Active Directory Bulk Import and Export
1.7 Group Policy Object
I Group Policy Object (GPO) si applicano solamente ai sistemi Windows 2000 o superiori. I Group Policy Object sono uno dei mezzi più potenti nelle mani degli amministratori di rete. Tramite i Group Policy Object risulta possibile personalizzare il desktop degli utenti, i permessi, privilegi e regole a cui un utente deve sottostare. I Gorup Policy Object sono una collezzione di Group Policy Settings e vengono immagazzinate in due luoghi differenti:
- Il Group Policy Container che si trova all'interno di Active Directory. Il Group Policy Container viene conservato all'interno del file NTDS.dit. Il file NTDS.dit contiene il database di Active Directory.
- Il Group Policy Template che si trova all'interno della cartella SYSVOL. La cartella SYSVOL si trova in %SYSTEMROOT%\SYSVOL\Sysvol. Il nome della cartella Group Policy Template coincide con il Globally Unique Identifier (GUID) che individua la Group Policy creata all'interno del Group Policy Container.
I Gorup Policy Object possono venire applicati o ai Computers (Group Policy Settings for Computers) a agli utenti (Group Policy Settings for Users). I Group Policy Settings for Computers vengono applicati quando il computer si avvia o si spegne. Esiste poi un ciclo di refresh periodico dei Group Policy Object che provvede ad aggiornarle qualora si verifichino delle modifiche. Le Group Policy Settings for Computers hanno la precedenza, in caso di conflitti, sulle Group Policy Settings for Users. Le modifiche introdotte dalle Group Policy Settings for Computers vengono inserite nella zona del registry sotto HKEY_LOCAL_MACHINE. Le Group Policy Settings for Users vengono applicate quando un utente fa logon o logoff e godono anch'esse di un ciclo di refresh. Le modifiche introdotte dalle Group Policy Settings for Users vengono inserite nella zona del registry sotto HKEY_CURRENT_USER.
Più in particolare, i template delle Group Policy che sono salvati nel SYSVOL vengono inseriti in due caretelle distinte a seconda della tipologia del templete, ovvero se il template si riferisce ai compueter o agli utenti. Abbiamo:
- Per le Group Policy Settings for Computers i template vengono immagazzinati in %SystemRoot%\SYSVOL\Sysvol\NomeDominioActiveDirectory\Polices\ GPO_GUID_Identifier\Machine
- Per le Group Policy Settings for Users i template vengono immagazzinati in %SystemRoot%\SYSVOL\Sysvol\NomeDominioActiveDirectory\Polices\ GPO_GUID_Identifier\User
I Group Policy Object possono venire applicati ad un Site, Domain o Organizational Unit:
- Uno stesso Group Policy Object può essere applicato a più di un Site, Domain o Organizational Unit contemporaneamente.
- Ad uno stesso Site, Domain, Organizational Unit o Local Computer possono venire applicati più di un Gorup Policy Object contemporaneamente.
Si ricordi però che può esistere solamente una Domain Account Policy per ogni Active Directory Domain. I Group Policy Object non vengono applicati ai Security Group, ma solamente agli Utenti e Computer che fanno parte di un Site, Domain o Organizational Unit.
Per maggiori informazioni sulle Group Policy si possono consultare i documenti Group Policy e Step-by-Step Guide to Understanding the Group Policy.
Per sapere come si possono utilizzare i Group Policy Object per gestire i profili utente si può consultare il documento Managing User Data and Settings.
Per avere un'idea di come realizzare un'archietettura di rete basata sui Group Policy Object si può consultare il documento Group Policy Infrastructure.
Per verificare quali possono essere gli errori a cui un'errata implementazione dei Group Policy Object può dare vita si può consultare il documento Troubleshooting Group Policy.
Per sapere come spostare un Group Policy Object da un dominio ad un'altro si può consultare il documento Migrating GPOs Across Domains with GPMC.
Con Windows 2003 è stato introdotto un nuovo strumento, la Group Policy Management Console che consente di gestire ed amministrare in modo semplice ed efficace i vari Group Policy Object che si possono creare con Windows 2003. Per maggiori informazioni sulla Group Policy Management Console si può consultare il documento Administering Group Policy.
Default Group Policy Object
Quando s'installa il primo Domain Controller di una foresta di Active Directory, vengono creati i seguenti Group Policy Object di default:
- Default Domain Policy: è il Group Policy Object che viene applicato, per default, al Forest Root Domain della foresta di Active Directory. Se non viene esplicitato il contrario, tutti i domini di Active Directory della foresta e tutte le Organizational Unit erideteranno questo Group Policy Object.
- Default Domain Controllers Policy: è il Group Policy Object che viene applicato, per default, all'Organizational Unit chiamata Domain Controllers. In seguito all'ordine con cui vengono applicati i Group Policy Object, il Default Domain Controllers Policy ha la priorità, sui Domain Controller, rispetto al Default Domain Policy (fatta ecccezione per le impostazioni che coinvolgono le Account Policies).
Tipi di Gorup Policy Object
Esistono due tipi di Group Policy Object:
- Local Group Policy Object. E' la Group Policy immagazzinata localmente all'interno di ciascun computer che ospita un sistema operativo Windows 2000 o superiore. Per ogni computer può esistere una e una sola Local Group Policy Object.
- Nonlocal Group Policy Object. Sono le Group Policy Object immagazzinate all'interno di Active Directory.
A seconda del tipo di Group Policy Object a cui ci si riferisce, risulta possibile impostare in parte o in tutto le segenti impostazioni:
- Administrative Templates. Sono le impostazioni del Registry per configurare le applicazioni e l'ambiente di lavoro degli utenti.
- Security. Consentono d'impostare la configurazione della sicurezza a livello locale di una macchina, di dominio o di sito.
- Software Installation Permettono d'impostare la configurazione centralizzata per l'installazione, aggiornamento e rimozione del Software dai client.
- Scripts. Impostano gli script che vengono eseguiti allo Startup, Shutdown di una macchina, o al Logon e Logoff di un utente.
- Remote Installation Services. Impostazioni per controllare le opzioni di esecuzione di una Client Installation Wizard quando si utilizza il Remote Installation Services (RIS).
- Internet Explorer Maintenance. Impostazioni per amministrare e personalizzare Microsoft Internet Explorer.
- Folder Redirection. Consente di specificare, all'interno del profilo di un utente, delle cartelle condivise su di un server di rete di modo che un utente vi possa accedere come se fossero cartelle locali.
Le impostazioni che caratterizzano una Group Policy vengono inserite all'interno di un Group Policy Object (GPO). I Group Policy Object possono poi essere associati ad un Site, Domain, Organizational Unit, Local Computer. Di default i Group Policy Object vengono applicati in modo sincrono: uno dopo l'altro. Per poter eseguire i Group Policy Object i seguenti servizi devono essere in esecuzione:
- Remote Procedure Call System Service (RPCSS)
- Multiple Universal Naming Convention Provider (MUP)
I servizi di Windows 2000 sopra citati vengono avviati di default in modo automatico, pertanto vengono avviati ad ogni avvio del sistema operativo.
Scripts
Risulta possibile, tramite i Group Policy Object far eseguire ad un computer, al momento dello startup o dello shutdown, o ad utente, al momento del log on o del log off, uno o più script. Gli script che possono essere eseguiti allo startup/shutdowm del computer sono eseguiti in modo sincrono, ovvero uno di seguito all'altro, in particolare uno script che viene eseguito al momento dello startup/shutdowm di un computer, possono partire solamente se gli script che li precedeno sono terminati o sono andati in Timeout. Il tempo di Timeout, per questa categoria di script è, di default, pari a 600sec (10min). Per modificare questo valore di default si possono utilizzare diverse Group Policy. Al contrario gli script che vengono eseguiti al momento del logon/logoff di un utente sono processati in modo asincrono: tutti insieme. In particolare gli User Object Script sono eseguiti per ultimi. Per creare uno script si può utilizzare un qualunque Linguaggio ActiveX come ad esempio:
- VBScript (.vbs).
- JScript (.js).
- Perl (.pl).
- MS-DOS style Batch (.bat and .cmd)
Questo perchè gli scripts vengono eseguiti nell'ambiente Windows Scripting Host (WSH). All'interno di uno scripts è possibile eseguire qualunque Executable Files (.exe). Per avere un'idea di che cos'è il WSH si può consultare la KB232211.
Per poter far eseguire gli scripts a tutti gli utenti o computer di un dominio di Active Directory indipendentemente da quale Domain Controller utilizzano per fare log on o log off, startup o shutdown, bisogna copiare gli script all'interno della cartella SYSVOL, in particolare all'interno della cartella <NomeDominioAD>\Policies\<GPO-GUID>\USER\Scripts\Logon. Con la sigla <GPO-GUID> intendiamo il Globally Unique Identifier che viene assegnato ad ogni GPO.
Group Policy di Sicurezza
Per quanto riguarda l'utilizzo dei Group Policy come strumento per controllare la sicurezza degli account, è bene sottolineare che:
- I Group Policy Object impostati su un Domain determinano il comportamento di tutti gli account di dominio. Per questo motivo, di solito, queste impostazioni vengono inserite all'interno della Group Policy Object chiamata Default Domain Policy.
- I Group Policy Object impostati su una Organization Unit determinano il comportamente degli account locali di una macchina, ovvero influiscono sulla Local Policy della macchina. Gli account locali di una macchina vengono definti all'interno del database Security Accounts Manager (SAM).
A seconda che ci si riferisca ai Computer Configuration o agli User Configuration, si hanno a disposizione le seguenti impostazioni di Group Policy:
- Computer Configuration:
- Account Policies
- Local Policies
- Event Log
- Restricted Groups
- System Services
- Registry
- File System
- Public Key Policies
- IP Security Policies
- User Configuration
- Public Key Policies
Conviene impostare le Computer Configuration solamente per quelle Organization Unit in cui sono presenti dei Computers, poichè queste impostazioni non vengono prese dagli utenti. Analogamente le impostazioni relative all'Account Policies vengono applicate o al Security Account Manager (SAM) database locale di ciascun computer oppure ai Domain Controller della foresta di Active Directory. Pertanto, se non si desidera modificare il SAM di ciascun computer, conviene applicare queste impostazioni solamente alle Organizational Unit che contengono dei Computers. Diversamente, se si vogliono modificare le impostazioni delle Account Policices dei Domain Controller bisogna modificare la Default Domain Policy o più in generale un Group Policy Object applicato a livello di dominio di Active Directory.
Le possibili impostazioni da applicare alle password degli utenti sono le seguenti:
- Enforce Password History. Il numero di password che devono venire conservate, di modo che un utente non possa utilizzare sempre le stesse password. Il numero massimo di password che Windows 2000 può conservare è 24. Quando si utilizza questa impostazione, conviene modificare in modo opportuno anche l'impostazione relativa alla Minimum Passwrod Age, poichè altrimenti un utente smaliziato che desidera conservare la sua password, potrebbe cambiarsi di password un numero di volte sufficiente a poter ritornare a mettersi la password desiderata!
- Maximum Password Age. Il massimo numero di giorni che una password può essere utilizzata prima che un utente debba cambiarla.
- Minimum Passwrod Age. Il numero minimo di giorni in cui una password deve valere. In questo periodo di tempo un utente non può cambiare la sua password. Questo campo è significativo quanto s'imposta lo Enforce Password History.
- Minimum Password Lenght. Numero minimo di caratteri con cui deve essere composta una password.
- Password Must Meet Complexity Requirements. Specifica l'utilizzo di regole piuttosto severe e
restrittive per la creazione di una password. Nelle password devono comparire almeno un carattere
appartenete a ciascuna delle seguenti categorie:
- Lettere dell'alfabeto inglese maiuscole: A, B, C, D, ...
- Lettere dell'alfabeto inglese minuscole: a, b, c, d, ...
- Almeno una delle prime dieci cifre decimali: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- Caratteri non-alphanumerici: !, ?, (, ), @ ...
- Store Password Using Reversible Encryption for All User in the Domain. Se viene abilitato, le password venogono conservate utilizzando un meccanismo di criptazione reversibile. Di solito questa impostazione non viene abilita. Possibili casi in cui si renda necessario abilitarla è, ad esmpio, quando all'interno della LAN sono presenti dei client Machintosh (con sistema operativo antecedente a MAC OS X) oppure quando si abilita l'autenticazione via CHAP.
- Enforce User Logon Restriction. Fa parte delle Kerberos Policy ed è una variabile
booleana. Se posta a 0 risulta disabilitata. Se posta a 1 risulta
abilitata. Quando è abilitata, conente di specificare delle restrizioni ulteriori sull'account
degli utenti. In particolare consente di:
- Limitare l'accesso degli utenti a certe ore della giornata.
- Limitare l'accesso degli utenti a certi giorni della settimana.
- Limitare l'accesso degli utenti a solamente certi computer della rete.
Le possibili impostazioni per il blocco di un'account sono:
- Account Lockout Duration. L'intervallo di tempo (in minuti) all'interno del quale viene impedito ad un utente di eseguire il logon. Se questo valore viene impostato a 0 solamente gli amministratori di rete possono sbloccare l'account dell'utente. Può assumere un valore compreso fra 0 e 99999.
- Account Lockout Threshold. Il numero massimo di tentativi che un utente ha a sua disposizione per sbalgiare ad autenticarsi prima che il processo di logon gli venga inibito. Se posto a 0, l'account degli utenti non viene più bloccata. Sono ammessi valori da 0 a 999.
- Reset Account Lockout Counter After. Specifica l'intervallo di tempo (in minuti) dopo il quale il contatore degli accessi fallitti viene azzerato. Se posta a 0 le account non possono venire più disabilitate.
I Group Policy Object che configurano le password degli utenti possono venire applicate a livello di Site, Domain e Organizational Unit ma influiscono solamente sui Domain Controller, pertanto le uniche Group Policy Object che definiscono il comportamento delle password degli utenti che sono realmente significative sono quelle che s'impostano sui Domain Controller. L'impostazione può essere fatta o direttamente sui Domain Controller o all'Organization Unit a cui i Domain Controller appartengono, oppure a livello di Site o di Domain. In questo caso la gerarchia Local Group Policy Object -> Site Group Policy Object -> Domain Group Policy Object -> Organizational Unit potrebbe non valere, poichè tutto dipende a quale livello appartengono i Domain Controller.
Per compatibilità verso il passato è stata inserita la voce LAN Manager Authentication Level per consentire di utilizzare i vecchi metodi di autenticazione: LAN Manager, NTLM ver. 1 e NTLM ver. 2. In questo modo, anche gli utenti che operano con sistemi operativi pre-Windows 2000 possono venire autenticati in Active Directory.
Permessi per creare ed associare un Group Policy Object
Per poter creare od associare un Group Policy Object ad un contenitore, ovvero un Dominio, una Organization Unit o un Sito, bisogna avere i permessi di Read e Write sulle opzioni gPlink e gPOptions. Le opzioni gPlink e gPOptions fanno parte dei permessi avanzati che può avere un contenitore. Di default, questi permessi sono garantiti ai seguenti gruppi, Domain Admins ed Enterprise Admins. Si ricordi, comunque, che per associare un Group Policy Object ad un sito bisogna far parte degli Enterprise Admins.
Affinché un Group Policy Object possa venire applicato ad un utente, un gruppo di utenti, un computer o ad un insieme di computer, è necessario e sufficiente che l'utente, i gruppi o i computer, abbiano i permessi di Read e di Allow Apply Group Policy sul Group Policy Object stesso.
I membri del Group Policy Creator Owners possono creare Gorup Policy Object, ma non possono collegarle.
Di default vengono assegnati i seguenti permessi:
- Authenticated Users: Hanno i permessi di Allow Read, Allow Apply Group Policy e Special Permission.
- Domain Admins, Enterprise Admins e System. Hanno i permessi di Allow Read, Allow Write, Allow Create All Child Objects, Allow Delete All Child Objects e Special Permission.
Risultare possibile delegare il controllo di uno o più Group Policy Object a gruppi di dominio, diversi da quelli di default (Domain Admins e Enterprise Admins). Per far questo bisogna garantire a questi gruppi i permessi di Allow Read e Allow Write sulla Security dei Group Policy Object a cui si desidera delegare il controllo. Se si sta cercando di delegare il controllo di uno o più Group Policy Object tramite uno dei seguenti tool:
- Active Directory Users and Computers
- Active Directory Sites and Services
Allora non si può utilizzare il Delegation of Control Wizard per delegare il controllo dei Group Policy Object. Bisogna invece aprire le Properties di ciascun Group Policy Object e modificare manualmente le sue impostazioni di Security.
Per poter aprire un Group Policy Object all'interno del Group Policy Snap-In, si devono avere i permessi di Allow Read e Allow Write sul Group Policy Object.
Permessi per creare un Computer Account
Per poter creare una Computer Account all'interno di una Organizational Units bisogna godere dei seguenti privilegi:
- Create Computer Object
- Add workstation to Domain
Il primo privilegio viene assegnato quando si godono dei permessi di Full Control sulla Organization Unit, mentre il secondo privilegio è impostato di default quando si crea un nuovo utente. Il solo permesso Add workstation to Domain permette di aggiungere fino a 10 workstation ad un dominio Active Directory. Le due abilitazioni invece consentono di aggiungere un numero illimitato di workstation ad un dominio Active Directory o all'interno di una particolare Organization Unit. Più in generale il permesso Create Computer Object può essere assegnato ricorrendo agli Special Permission.
Come creare un Group Policy Object
Si possono creare due tipologie di Gorup Policy Object, quelli collegati (linked) o quelli non collegati (unlinked), a un Site, Domain o Organization Unit. Le Gorup Policy Collegate sono applicate e quinid operano, su di un Site, Domain o Organization Unit, col risultato che qualche computer o qualche utente riceve le impostazioni indicate dal Group Policy Object. Un Group Policy Non Collegato, invece, non fa riferimento a nessun Site, Domain o Organization Unit e pertanto le impostazioni specificate al suo interno non agiscono su nessun computer o utente. Per creare queste due tipologie di Group Policy Object si utilizzano i seguenti strumenti:
- Per creare una Gorup Policy Collegata si utilizza:
- Se è coolegata ad un Local Computer bisogna aprire la Microsoft Management Console (MMC) ed associarvi la Group Policy Snap-In.
- Se è collegata ad un Domain o ad una Organization Unit si utilizza la console Active Directory Users and Computers.
- Se è collegata ad un Site si utilizza la console Active Directory Sites and Services.
- Per creare una Gorup Policy Non Collegata si utilizza lo snap-in Group Policy della Microsoft Management Console (MMC).
Per migliorare l'operatività conviene non creare mai Group Policy Object Non Collegati, conviene invece creare una Organization Unit dal nome Unlinked Group Policy e applicare tutte i Gorup Policy Object che non si desidera mettere in produzione a questa Organization Unit. In questo modo è più facile reperire i Group Policy Object che si sono creati. Ovviamente all'interno della Oragnization Unit Unlinked Group Policy non deve venire inserito nessun utente o computer.
Quando si crea o modifica un Group Policy Object tramite lo snap-in Group Policy della MMC, il comportamento predefninito di questa console, è quello di creare e modificare le Group Policy sul server che svolgere il ruole di Primary Domain Controller Emulator. Per cambiare il Domain Controller a cui fa riferimento lo snap-in, bisogna utilizzare l'opzione DC Options del menu View. Si osservi, poi, che maggiore è il numero di Group Policy Object applicate, maggiori sono i tempi di startup/shoutdown o logon/logoff.
Le impostazioni di un Group Policy Object possono riferirsi ad un Computer o ad un Utente, nel primo caso si parla di Computer Configuration Settings, nel secondo di User Configuration Settings. Sia le Computer Configuration Settings sia le User Configuration Settings possiedono la seguente struttura:
- Software Settings.
- Windows Settings.
- Administrative Settings
Più in particolare, ciascuna sezione riportata sopra, contiene:
- Computer Configuration Settings:
- Software Settings:
- Software Installation
- Windows Settings:
- Scripts (Startup/Shutdown)
- Security Settings
- Administrative Settings:
- Windows Components
- System
- Network
- Printers
- Software Settings:
- User Configuration Settings:
- Software Settings:
- Software Installation
- Windows Settings:
- Internet Explorer Maintenance
- Scripts (Logon/Logoff)
- Security Settings
- Remote Installation Services
- Folder Redirection
- Administrative Settings:
- Windows Components
- Start Menu & Taskbar
- Desktop
- Control Panel
- Network
- System
- Software Settings:
Per meglio amministrare le Group Policy si può realizzare una Group Polic Object Console, dove le Group Policy Object (GPO) non sono altro che una collezzione d'impostazioni di Group Policy. Per costruire una Group Polic Object Console basta procedere come indicato:
- Aprire la Microsoft Management Console.
- Aprire il menu Console e selezionare la voce Add/Remove Snap-In.
- All'interno della finestra Add/Remove Snap-In cliccare sul pulsante Add.
- All'interno della finestra Add Standalone Snap-In selezionare la Group Policy snap-in e cliccare poi sul pulsante Add.
- All'interno della finestra Select Group Policy Object, cliccare sul pulsante Browse.
- Nella finestra Browse For A Group Policy Object selezionare la sezione All. Cliccare sulla GPO che s'intende aggiungere alla Group Polic Object Console. Confermare la scelta premendo il pulsante OK.
- Tornati alla finestra Select Group Policy Object cliccare sul pulsante Finish.
- Ripetere i punti precedenti per tutte le GPO che s'intende aggiungere alla Group Polic Object Console.
- Quando si sono aggiunte tutte le GPO desiderate, chiudere la finestra Add Standalone Snap-In premendo il pulsante Close.
- Confermare l'inserimento delle GPO chiudendo la finestra Add/Remove Snap-In premendo OK.
- Salvare la Group Polic Object Console così creata aprendo il menu Console e scegliendo la voce Save As. Si osservi che così facendo la Group Polic Object Console viene aggiunta agli Administrative Tools dell'utente che a svolto le operazioni. Per rendere la console disponibile a tutti gli utenti bisogna copiarla nella cartella %ALLUSERSPROFILE%\Start Menu\Programs\Administrative Tools.
Esecuzione dei Group Policy Object
All'interno di uno stesso oggetto di Active Directory, sia esso una Organizational Unit, un Domain o un Site, l'ordine con cui vengono eseguiti i Group Policy Object associati all'oggetto di Active Directory, dipende dall'ordine con cui i Group Policy Object vengono riportati all'interno della finestra Group Policy Object Links che fa parte della sezione Group Policy all'interno delle Properties dell'oggetto di Active Directory. I Group Policy Object che si trovano in alto, all'interno della finestra Group Policy Object Links, hanno priorità più alta rispetto ai Group Policy Object che si trovano in basso. Per modificare questo ordine si possono utilizzare i pulsanti Up e Down. Data questa conevenzione sulla priorità di un Group Policy Object, Windows 2000 eseguirà i Group Policy Object che si trovano all'interno della finestra Group Policy Object Links partendo dal basso verso l'alto, in questo modo i Group Policy Object che hanno priorità più alta verranno eseguiti per ultimi. In tal modo, infatti, le loro impostazioni possono alterare le impostazioni dei Group Policy Object che li precedono.
Ereditarietà dei Group Policy Object
Le Group Policy godono della proprietà dell'Ereditarietà, ovvero le impostazioni delle Group Policy passano da un contenitore padre ad un contenitore figlio. In particolare il flusso ereditario è il seguente:
Group Policy Object di Site -> Group Policy Object di Domain -> Group Policy Object di Organization Unit Padre -> Group Policy Object Organization Unit Figlio -> Group Policy Object Organization Unit Nipote
Un Group Policy Object di Site è valida anche per tutti i Domain che appartengono al Site, così come per tutte le Organization Unit definite nei vari Domain di cui è composto il Site e così via. Si osservi che vengono ereditate solamente le impostazioni che formano una Group Policy Object che sono state Abilitate o Disabilitate, le impostazioni Non Configurate non vengono ereditate.
L'ordine con cui i Group Policy Object vengono applicati ad un computer o ad un utente è il seguente:
- Prima vengon applicati i Group Policy Object Locali della macchina.
- Poi vengono applicati i Group Policy Object di Site.
- Poi quelli di Domain.
- Ed infine quelli di Organization Unit.
Fanno eccezione al flusso indicato le macchine che sono member server e su cui gira un unico servizio, come ad esmpio Internet Information Services (IIS).
Esistono diversi metodi per arginare o impedire l'ereditarietà dei Group Policy Object, precismanete (le impostazioni riportate sono valide solamente per i Nonlocal Group Policy Object):
- Abilitare il Block Inheritance.
- Abilitare il No Override Option.
- Abilitare il Loopback Settings.
- Filtare i permessi di esecuzione di un Group Policy Object.
Si ricordi che il No Override ha la precedenza sul Block Inheritance, pertanto una Group Policy a cui è stato impostato il No Override, si applica anche quei contenitori in cui è stato specificato il Block Inheritance. Per filtare le Group Policy, bisogna modificare i permessi che hanno gli utenti o i computer nei confronti di una o più Gorup Policy. Più specificatamente, bisogna porre Deny in Apply Group Policy. Se si vogliono delegare le richieste di filtraggio delle Gorup Policy conviene seguire le seguenti regole:
- Per filtrare le Group Policy di Domain e Organization Unit, conviene dare i permessi di delega ad un Domain Local Group.
- Per filtrare le Group Policy di Site, conviene dare i permessi di delega ad un Global Group.
Esistono poi dei particolari Group Policy Object, chiamati Loopback Group Policy Object, che hanno il compito di blindare la configurazione di una macchina. Quando si abilitano i Loopback Group Policy Object gli User Settings relativi alle Group Policy Settings for Computers hanno la precedenza sulle impostazioni analoghe delle Group Policy Settings for Users. Per impostare i Loopback Settings bisogna:
- Aprire la Microsoft Management Console ed attivare il Group Policy Snap-In.
- All'interno della sezione Computer Configuration, aprire gli Administrative Template, System e selezionare infine i Group Policy.
- Abilitare l'impostazione User Group Policy Loopback Processing.
- Quando si abilita l'impostazione User Group Policy Loopback Processing si possono scegliere
due valori possibili:
- Replace. In questo caso le Group Policy di Loopback rimpiazzano completamente le Group Policy ereditate.
- Merge. In questo caso le Group Policy di Loopback si fondono con le Group Policy ereditate. In caso di conflitto, le impostazioni relative alle Group Policy Settings for Computers hanno la precedenza su quelle relative alle Group Policy Settings for Users.
- Salvare il Group Policy Object così creato.
Le Group Policy di Loopback vengono create quando si vuole garantire la massima sicurezza di certe macchine, come ad esempio quelle che appartengono ad un Chiosco o ad una Classe di Studenti.
Replicazione dei Group Policy Object
Di default la replicazione dei Group Policy Object fra un Domain Controller e l'altro, parte dal Primary Domain Controller Emulator, in quanto, quando si crea o si edita un Group Policy Object tramite il Group Policy Editor, questi si connette, per default al Primary Domain Controller Emulator. Per replica dei Group Policy Object indendiamo la replicazione del contenuto dei due contenitori Group Policy Container e Group Policy Template. In particolare abbiamo:
- Il Group Policy Container viene replicato tramite i meccanismi di replica di Active Directory (file NTDSA.dll).
- Il Group Policy Template viene replicato tramite gli usali meccanismi di replica della cartella SYSVOL (FRS).
Controllo periodico delle Group Policy
Esiste un meccanismo, all'interno delle macchine Windows 2000 o superiori, con cui vengono controllare pediodicamente le Group Policy per vedere se ci sono state modifiche all'interno di esse o se per caso esistono nuove Group Policy d'applicare. I tempi con cui questi controlli vengono eseguiti cambiano a seconda del ruolo della macchina, ovvero se la macchina è un Domain Controller o no. Abbiamo:
- Per i Domain Controller il controllo dello stato delle Group Policy avviene ogni 5 minuti.
- Per tutte le macchine Windows 2000 o superiori il controllo avviene ogni 90 minuti con un offset di più 30 minuti.
Lo scopo dell'offset è quello di evitare che molte macchine arrivino a controllare le Group Policy nello stesso periodo. L'offset anticipa o ritarda il controllo delle Group Policy da parte di una macchina in modo casuale, evitando in tal modo l'accavallarasi delle richieste.
Fanno eccezzione alle regole riportate sopra, le Group Policy Installations, le quali vengono controllate solamente all'avvio o allo spegnimento di una macchina o al logon e logoff di un'utente, ma non durante il normale funzionamento della macchine o il normale lavoro di un utente.
Si osservi infine, che si può cambiare l'intervallo di tempo di default con cui le Group Policy vengono controllate, ma che non si possono pianificare orari in cui le Group Policy vengono di sicuro controllate, cioè schedulare dei processi di controllo delle Group Policy. Per sapere come modificare l'intervallo di tempo di default con cui le Group Policy vengono controllate, si può consultare la Knowledge Base KB203607.
Group Policy e connessioni di rete lenta
Il meccanismo che sovraintende al controllo e all'applicazione delle Group Policy, riesce a determinare se la connessione di rete fra il Domain Controller in cui si trovano le Group Policy Object da applicare ed un client, è sufficientemente veloce oppure no. Se dovesse concludere che la connessione è lenta, il corrispondente client verrebbe etichettato di modo che l'applicazione di un particolare Group Policy sia a completa discrezione del client stesso. Di default, non tutte le Group Policy vengono applicate, quando si è difronte ad un caso di connessione lenta. In particolare si ha:
- Registry-Based Settings (Administrative Templates). In presenza di connessione lenta continuano ad essere aggiornati. Il comportamento di questo tipo particolare di Group Policy non può essere cambiato.
- Internet Explorer Maintenence Settings. In presenza di connessione lenta non viene più aggiornata. Il comportamento di questo tipo particolare di Group Policy può essere cambiato.
- Software Installation Settings. In presenza di connessione lenta non viene più aggiornata. Il comportamento di questo tipo particolare di Group Policy può essere cambiato.
- Folder Redirection Settings. In presenza di connessione lenta non viene più aggiornata. Il comportamento di questo tipo particolare di Group Policy può essere cambiato.
- Scripts Settings. In presenza di connessione lenta non viene più aggiornata. Il comportamento di questo tipo particolare di Group Policy può essere cambiato.
- Security Settings. In presenza di connessione lenta continuano ad essere aggiornati. Il comportamento di questo tipo particolare di Group Policy non può essere cambiato.
- IP Security Settings. In presenza di connessione lenta non viene più aggiornata. Il comportamento di questo tipo particolare di Group Policy può essere cambiato.
- EFS (Encrypting File System) Recovery Setttings. In presenza di connessione lenta non viene più aggiornata. Il comportamento di questo tipo particolare di Group Policy può essere cambiato.
- Disk Quota Settings. In presenza di connessione lenta non viene più aggiornata. Il comportamento di questo tipo particolare di Group Policy può essere cambiato.
Per cambiare il comportamento di default per le tipologie di Group Policy a cui ciò è consentito, si deve utilizzare un opportuno Administrative Template.
Administrative Template
Gli Administrative Template sono modelli di Group Policy, applicabili sia agli utenti sia ai computer con sistema operativo Windows 2000 o superiore, con cui personalizzare la configurazione dei desktop degli utenti o il comportamento dei computer. Gli Administrative Template sono file di testo (in formato Unicode) con estensione .adm e si trovano nella cartella %SystemRoot%\Inf. Con l'arrivo di Windows XP la Microsoft ha introdotto degli Administrative Template aggiornati, in particolare:
- Windows Components. Sono i componenti di Windows a cui un utente o un computer può accedere. Questo template può essere applicato agli utenti e ai computer.
- System. Imposta ad esempio il Logon e Logoff di un utente o lo Startup e Shutdown di una macchina. Questo template può essere applicato agli utenti e ai computer.
- Network. Imposta la configurazione di rete. Questo template può essere applicato agli utenti e ai computer.
- Printers. Imposta la configurazione delle stampanti. Questo template può essere applicato solamente ai computer.
- Start Menu and Taskbar. Imposta il menu Start degli utenti. Questo template si applica solamente agli utenti.
- Desktop. Configura il desktop di un utente. Questo template si applica solamente agli utenti.
- Control Panel. Configura alcuni compartamente che un utente può fare all'interno del Control Panel. Questo template si applica solamente agli utenti.
Quando si applica un Administrative Template, questi va a modificare il Registry del computer a cui l'Administrative Template viene applicato. In particolare, a seconda che l'Administrative Template si riferisca ad un Computer o ad un Utente viene modificata una parte diversa del Registry. Più precisamente:
- Se l'Administrative Template si riferisce ad un Computer viene modificata la parte di Registry sottostante alla chiave HKEY_LOCAL_MACHINE.
- Se l'Administrative Template si riferisce ad un Utente viene modificata la parte di Registry sottostante alla chiave HKEY_CURRENT_USER.
Security Template
I Security Template si trovano all'interno delle cartelle %WINDIR%\Inf e %WINDIR%\Tecurity\Templates. I Security Template non sono altro che una collezione d'impostazioni di sicurezza. Quando una macchina Windows 2003 Domain Controller viene installato potrà ricevere l'uno o l'altro dei seguenti Default Security Template:
- Se il Windows 2003 Domain Controller è il primo Domain Controller della rete, allora riceverà le impostazioni contenute nel Security Template: DCFirst.inf.
- Se il Windows 2003 Domain Controller non è il primo Domain Controller della rete, allora riceverà le impostazioni contenute nel Security Template: DelfDC.inf.
Non applicare mai il Secuirty Template HiSecDC.inf su un Domain Controller in quanto ne compromette sensibilmente la funzionalità: i client potrebbero non autenticarsi più.
Folder Redirection
Con l'aiuto delle Group Policy risulta possibile redirezionare su una cartella condivisa una o più cartelle che compongono l'ambiente desktop di Windows 2000. In particolare si possono redirezionare le seguenti cartelle:
- My Documents
- Application Data
- Desktop
- Start Menu
Group Policy Object e Quote disco
Le quote disco vengono gestite in base all'ownership dei file e delle cartelle, indipendentemente dalla cartella in cui i file e le cartelle si trovano. Risulta particolarmente comodo e allo stesso tempo elegante, gestire le Quote Disco all'interno dei Group Policy Object. In particolare risulta possibile abilitare le seguenti voci:
- Enable Disk Quota. In questo modo le quote vengono attivate su tutti i dischi formattati NTFS di tutti i server a cui la GPO fa riferimento.
- Default Quota Limit And Warning Level. Imposta:
- Quota Limit. La quata disco di default per tutti gli utenti e per tutti i volumi dei server a cui la GPO si riferisce.
- Warinig Level. La soglia di spazio disco superata la quale l'utente riceve un messaggio di avviso in cui gli viene segnalato che sta per esaurire la sua Quota Disco.
- Enforce disk quota limit. In questo modo s'impedisce agli utenti di superare la quota disco loro assegnata.
- Log Event When Quota Warning Level Exceeded. Viene inserito un messaggio di Warning nel System Event Log ogni qual volta un utente supera la sua Waring Level. Il messaggio viene scritto nell'Event Viwer del server a cui appartiene il volume in cui l'utente ha superato la sua quota. Questa impostazione viene attivata su tutti i server a cui la GPO fa riferimento.
- Log Event When Quota Limit Execceded. Viene inserito un messaggio di Warning nel System Event Log ogni qual volta un utente supera la sua Quota Limit. Il messaggio viene scritto nell'Event Viwer del server a cui appartiene il volume in cui l'utente ha superato la sua quota. Questa impostazione viene attivata su tutti i server a cui la GPO fa riferimento.
- Apply Policy To Removable Media. Le Quote Disco vengono estese oltre che ai volumi fissi, come quelli dei dischi rigidi, anche a quei volumi formattati NTFS che risultano essere flottanti, come ad esempio dischi esterni USB o Pen Drive.
Per attivare queste voci basta andare all'interno della sezione Computer Configuration\Administrative Templates\System\Disk Quotas.
Strumenti per la gestione delle Group Policy
Esistono due tool del Windows 2000 Resource Kit che aiutano nella diagniostica delle Group Policy:
- Group Policy Results Tool (GPResult.exe). Questo tool da riga di comando consente d'individurare quali sono le Gorup Policy applicate ad una macchina o ad un utente e mostra le impostazioni di ciascuna Group Policy che è stata applicata.
- Group Policy Object Tool (GPOTool.exe). Questo tool da riga di comando consente di avere informazioni sullo stato della replicazione delle Group Policy fra i vari Domain Controller.
Per applicare e controllare la sintassi di una Gorup Policy, si può utilizzare il comando SecEdit.exe Le possibili opzioni del comando sono:
- /Analyze. Confronta due Gorup Policy fra di loro.
- /Configure. Modifica le impostazioni di una Gorup Policy.
- /Export. Esporta il contenuto di una Gorup Policy.
- /Refreshpolicy. Forza la propagazione di una Group Policy a seguito di una modifica.
Esistono due modi di utilizzare questa opzione:
-
secedit /refreshpolicy machine_policy
. Per rinfrescare le Group Policy Settings che si riferiscono alla Computer Configuration. -
secedit /refreshpolicy user_policy
. Per rinfrescare le Group Policy Settings che si riferiscono alla Users Configuration.
-
- /Enforce. Forza la propagazione di una Group Policy anche in assenza di una modifica.
- /Validate. Controlla la sintassi di una Gorup Policy.
Le opzioni /Analyze, /Configure richiedono l'utilizzo o di un database che viene specificato ricorrendo allo switch /db, o di un template, che può essere specificato attraverso lo switch /cfg, per poter essere utilizzate.
Se si utilizza un PC in cui è installato Windows XP per aggiornare le Group Policy Object
applicate localmente alla macchina si può utilizzare il comando GPUpdate. In particolare si può
utilizzare il comando gpupdate /target:<NomeComputer>
per aggiornare un computer remoto con
Windows XP.
Per amministrare le Group Policy si può utilizzare la Group Policy Management Console lanciando il comando gpmc.exe che si può trovare sul sito www.microsoft.com/downloads (per installarla è necessario avere installato il Microsoft .NET Framework 1.1).
Oltre ai programmi indicati, vale la pena segnalare anche i seguenti strumenti:
- NetDiag.exe consente di individuare eventuali problemi di rete che possono inibire la propagazione delle Group Policy. Il comando NetDiag.exe fa parte dei Support Tools.
- ReplMon.exe permette d'individuare eventuali problemi di replicazione di Active Directory.
Esempio di strutturazione di Active Directory per la gestione delle GPO
Esistono diversi modi di realizzare un'infrastruttura di rete basata sui Group Policy Object, il più funzionale di questi è quello di creare una struttura basata sulle esigenze aziendali e non sulla struttura organizzativa aziendale. Difatti, un utente dell'ufficio Marketing non è molto diverso da un utente dell'Amministrazione del Personale, entrambi devono svolgere compiti strettamente legati al loro lavoro e poco inerenti all'amministrazione delle loro macchine (compito di solito demandato agli amministratori di rete). Questo significa che è molto meglio suddividere gli utenti e le macchine in tipologie, assegnando a ciascuna tipologia un ben preciso obiettivo. Tipicamente all'interno di una qualunque realtà aziendale si possono incontrare una o più delle seguenti tipologie:
- Lightly Managed. Sono utenti e macchine configurate per dare all'utente un certo grado di libertà nella personalizzazione del suo ambiente di lavoro.
- Mobile. Sono quegli utenti che possiedono un proprio notebook col quale girano all'interno dell'azienda. Possono essere on-line ma sono molto più spesso off-line.
- Multi-User. Sono quegli ambienti di lavoro che per loro natura sono piuttosto dinamici ovvero gli utenti possono collegarsi ad una qualunque delle macchine dell'ufficio, senza prediligerne una in particolare.
- AppStation. Sono postazioni adibite a svolgere una o più applicazioni ma non a consentire un utilizzo completo come workstation di lavoro. L'utilizzo della macchina risulta comunque limitato.
- TaskStation. Sono postazioni adibite allo svolgimento di un unico applicativo. Il processo di logon avviene in modo automatico e l'utilizzo da parte dell'utente della macchina è limitato alla sola applicazione in esecuzione.
- Kiosk. Sono applicazioni altamente sicure e limitate nella loro fruizione da parte degli utenti che ne fanno uso. Si trovano in ambienti pubblici e molte applicazioni di sistema sono inibite. Sono inutilizzabili come workstation. Il processo di logon avviene in modo automatico.
Maggiori informazioni sulla gestione degli account utente si possono trovare all'interno dei documenti User Data and Settings Management e Enterprise Logon Scripts.
Particolrmente interessanti sono gli articoli: Secure Configuration e Hardening Domain Controllers.
1.8 Dynamic Host Configuration Protocol
Il Dynamic Host Configuration Protocol (DHCP) consente di assegnare in modo dinamico un insieme coerente d'indirizzi IP ad una o più sottoreti. Per meglio comprendere il meccanismo di assegnazione degli indirizzi IP indicheremo il dispositivo che richiede un indirizzo IP col nome di DHCP Client e il dispositivo che offre un indirizzo IP col nome di DHCP Server. Per fissare le idee si può pensare al DHCP Client come ad una Workstation ed al DHCP Server come ad un server Windows 2000 in cui è stato installato il servizio Dynamic Host Configuration Protocol. Più in generale, una moderna stampante di rete può essere o un DHCP Client, quando richiede un indirizzo IP, o un DHCP Server, quando offre indirizzi IP; allo stesso modo un router del mercato SOHO può svolgere anche il ruolo di DHCP Server.
Per avere maggiori informazioni sul servizio DHCP si può consultare il sito web www.dhcp-handbook.com.
Affinchè un server possa diventare un DHCP Server bisogna che soddisfi alle seguenti condizioni:
- Il server deve avere un Indirizzo IP statico, ovvero assegnatogli manualmente.
- Deve avere una Subnet Mask definita.
Per maggiori informazioni sul Dynamic Host Configuration Protocol si può consultare il documento Dynamic Host Configuration Protocol. Per sapere come migrare il database di un DHCP Server da una macchina Windows 2000 ad una macchina con Windows 2003 si possono consultare le seguenti Knowledge Base: KB325473 e KB323360.
Processo di generazione delle DHCP Lease
Il processo d'assegnazione degli indirizzi IP avviene in quattro fasi:
- IP Lease Discovery (DHCPDiscover) dal DHCP Client ai DHCP Server.
- IP Lease Offer (DHCPOffer) dai DHCP Server al DHCP Client.
- IP Lease Request (DHCPRequest) dal DHCP Client ad un ben preciso DHCP Server.
- IP Lease Acknowledgement (DHCPAck) da un ben preciso DHCP Server al DHCP Client.
Tutte i passaggi di sopra sono richieste che vengono effettuate via Broadcast sia dal DHCP client sia dal DHCP server, in quanto, di solito, il DHCP client non ha ancora un indirizzo IP valido quando inzia a dialogare col DHCP server per avere un indirizzo IP.
Nelle loro comunicazioni il DHCP Client e il DHCP Server utilizzano lo User Datagram Protocol (UDP) sulle porte 67 (BOOTPS) e 68 (BOOTPC).
IP Lease Discovery
Questo processo ha inizio quando si verifica una delle seguenti condizioni:
- Il DHCP Client viene avviato.
- Il DHCP Client ha ricevuto, in seguito ad una richiesta di rinnovo dell'indirizzo IP, un DHCPNAck dal DHCP Server.
- Viene forzato il rinnovo, da parte di un amministratore di rete, dell'indirizzo IP del DHCP Client
tramite il comando
ipconfig /renew
.
Poichè il DHCP Client non ha ancora un indirizzo IP, nella fase di dialogo col DHCP Server, assume momentaneamente l'indirizzo 0.0.0.0 ed invia via Broadcast all'indirizzo 255.255.255.255 la sua richiesta d'indirizzo IP, DHCPDiscover. All'interno del pacchetto DHCPDiscover sono contenute le seguenti informazioni:
- Il MAC Address della scheda di rete del DHCP Client.
- Il nome del DHCP Client.
- Un idenficativo del costruttore del dispositivo DHCP Client.
Se un DHCP ha più di una scheda di rete configurata per ricevere un Indirizzo IP via DHCP, vengono lanciate tante richieste DHCPDiscover quante sono le schede di rete.
Se il DHCP Client non riceve nessuna risposta dai DHCP Server, rinnova la sua richiesta di DHCPDiscover altre quattro volte, ad intervalli di 2sec, 4sec, 8 sec e 16sec dalla richiesta precedente, con un OffSet compreso fra 0sec e 1sec.
Se il DHCP Client è una macchina Windows 2000 o superiore e se dopo quattro tentativi di DHCPDiscover non ha ancora ricevuto alcuna risposta dai DHCP Server, allora il DHCP Client esegue una procedura di autoassegnazione di un indirizzo IP chiamata Automatic Private IP Address (APIPA). La Microsoft ha acquistato dal IETF la seguente classe B d'indirizzi IP: 169.254.0.0. Con indirizzi che vanno dal 169.254.0.1 al 169.254.255.254. Sebbene dopo l'APIPA le macchine Windows 2000 o superiori abbiano un indirizzo IP valido, continuano lo stesso a cercare la disponibilità di un DHCP Server, eseguendo un DHCPDiscover ogni 5min.
IP Lease Offer
Tutti i DHCP Server che hanno un indirizzo IP valido per il segmento di rete a cui il il DHCP Client ha inviato una richiesta di DHCPDiscover, rispondono con un offerta d'indirizzo IP, DHCPOffer. All'interno del pacchetto DHCPDiscover sono contenute le seguenti informazioni:
- Il MAC Address della scheda di rete del DHCP Client che ha effettuato il DHCPDiscover.
- Un offerta d'Indirizzo IP valido.
- Un offerta di Subnet Mask valida.
- La durata della Lease (in lingua Inglese Lease significa affitto, contratto d'affitto)
- L'indirizzo IP del DHCP Server.
In questa fase il DHCP Server, sebbene non abbia ancora ricevuto una conferma da parte del DHCP Client, esclude momentaneamente l'indirizzo IP che ha offerto al DHCP Client, tra quelli disponibili per essere rilasciati.
IP Lease Request
Quando il DHCP Client inzia a ricevere le diverse offerte DHCPOffer dai vari DHCP Server che hanno ricevuto la sua richiesta DHCPDiscover, esegue una fase di selezione delle varie offerte. La selezione si basa sui seguenti criteri:
- Se il DHCP Client aveva in precedenza ricevuto un indirizzo IP da un DHCP Server, cerca fra le varie offerte DHCPOffer che ha ricevuto se esiste un offerta proveniente dal DHCP Server che gli aveva fornito in precedenza un Indirizzo IP. Se esiste seleziona quell'offerta e scarta le altre.
- In tutti gli altri casi, il DHCP Client seleziona la prima DHCPOffer che riceve.
In risposta alla DHCPOffer il DHCP Client fornisce una DHCPRequest. All'interno del pacchetto DHCPRequest sono contenute le seguenti informazioni:
- L'indirizzo IP del DHCP Server che ha inviato l'offerta che ha deciso di accettare.
- L'indirizzo IP di tutti gli altri DHCP Server la cui offerta ha deciso di scartare.
Quando un DHCP Server che aveva inviato un DHCPOffer che è stato scartato dal DHCP Client, si vede recapitare una DHCPRequest, toglie dagli indirizzi IP assegnati l'indirizzo IP che aveva offerto al DHCP Client e lo torna ad inserire fra quelli disponibili. Mentre il DHCP Server che si è visto accettare l'indirizzo IP che aveva offerto al DHCP Client, invia al DHCP Client una risposta di conferma, lo DHCPAck.
IP Lease Acknowledgement
Quando il DHCP Server che ha offerto l'indirizzo IP accettato dal DHCP Client, riceve il DHCPRequest, invia, per accettazione, un pacchetto chiamato DHCPAck. All'interno del pacchetto DHCPAck sono contenute le seguenti informazioni:
- Una Lease valida.
- Tutte le altre configurazioni ( DHCP Options), impostate dall'amministratore di rete, che devono venire rilasciate ai vari DHCP Client.
Quando il DHCP Client riceve il DHCPAck procede a configurare la scheda di rete a cui la DHCPOffer si riferiva secondo le impostazioni contenute nel DHCPAck. Al termine di questa fase il DHCP Client sarà in grado di dialogare con gli altri dispositivi di rete.
Automatic Lease Renewal
Al 50% della durata della Lease di un indirizzo IP, il DHCP Client tenta di rinnovare la Lease del proprio indirizzo IP inviando una richiesta DHCPRequest al DHCP Server che gli ha fornito l'indirizzo IP. Se il DHCP Server è attivo rinnova la Lease del DHCP Client inviandogli un DHCPack. Se il DHCP Server non è attivo o non è in grado di rinnovare la Lease, allora il DHCP Client ritenterà il rinnovo della Lease quando sarà trascorso lo 87.5% della durata della Lease. In questo caso però, la richiesta DHCPRequest verrà inviata a tutti i DHCP Server presenti nella rete. Il primo DHCP Server che gli risponderà con un DHCPack sarà il nuovo DHCP Server di riferimento del DHCP Client. Un DHCP Client continua ad utilizzare, se non riesce a rinnovare la Lease, l'indirizzo IP assegnatogli sino a quando la Lease non scade. Alla scadenza della Lease il DHCP Client rilascia l'indirizzo IP che gli era stato assegnato e inizia una nuova richiesta d'IP Lease Discover. Se si riavvia il servizio DHCP Client, una volta che questi aveva già ricevuto un indirizzo IP, il DHCP Client esegue i seguenti passi:
- Tenta di rinnovare la propria IP Lease
- Se non riesce a rinnovare la propria IP Lease tenta di raggiungere il Default Gateway. Se il tentativo va a buon fine continua ad utilizzare l'indirizzo IP che gli era stato assegnato. Se il tentativo non va a buon fine, il DHCP Client smette di utilizzare l'indirizzo IP che gli era stato assegnato e procede con una nuova richiesta d'IP Lease Discover.
Autorizzare un server DHCP
Affinchè un server DHCP possa rilasciare indirizzi IP, deve venire prima Autorizzato. Gli utenti che possono compiere questa operazione sono tutti quelli che:
- Appartengono al gruppo Enterprise Admins se il server DHCP fa parte di una foresta di Active Directory.
- Appartengono al gruppo Administrators se il server DHCP appartiene ad un workgroup.
Per Autorizzare un server DHCP si può seguire la seguente ricetta:
- Aprire il menu Start, entrare in Administrative Tools e selezionare lo snap-in DHCP.
- Nella console cliccare col pulsante destro del mouse sopra la voce DHCP e selezionare la voce Manage Authorized Servers.
- Nella finestra di dialogo Manage Authorized Servers cliccare sul pulsante Authorize.
- Nella finestra Authorize DHCP Server, inserire il nome o l'indirizzo IP del server DHCP da autorizzare. Premere OK per confermare.
- Nella finestra di messaggio DHCP, confermare l'autorizzazione premendo Yes.
Una volta che un DHCP Server è stato autorizzato viene riavviato il servizio DHCP Server. Riavviando il servizio DHCP Server viene eseguita la seguente procedura:
- Invia una messaggio DHCPInform via Global Broadcast (255.255.255.255) a tutti i DHCP Server di una rete. I DHCP Server della rete attivi in quel momento rispondono con un messaggio DHCPack.
- Se i DHCP Server della rete appartengono ad un dominio Active Directory, all'interno della risposta DHCPack viene inserito anche l'elenco dei Domain Controller.
- Il DHCP Server contatta tutti i Domain Controller per ottenere la lista dei DHCP Server Autorizzati, se il DHCP Server vi appartiene allora il servizio DHCP Server si avvia regolarmente, altrimenti il servizio DHCP Server viene fermato ed inserito un messaggio d'errore all'interno dell'Event Viewer.
Il messaggio DHCPInform via Global Broadcast viene inviato da un DHCP Server Autorizzato ogni 5 minuti per controllare che non ci siano stati dei cambiamenti all'interno delle autorizzazioni dei DHCP Server in Active Directory.
L'autorizzazione di un DHCP Server è valida solamente all'interno di una singola foresta di Active Directory. Se in una infrastruttura di rete ci sono due o più foreste i DHCP Server delle varie foreste, anche se non autorizzati, potrebbero rilasciare indirizzi IP ad host che non appartengono alla foresta a cui sono stati autorizzati.
La stessa modalità utilizzata per autorizzare un DHCP Server può essere utilizzata per autorizzare un RIS Server. Analogamente ai DHCP Server anche i RIS Server devono poter venire autorizzati, prima in Active Directory, per poter erogare il loro servizio ai client.
Per sapere come Autorizzare, Deautorizzare o vedere l'elenco dei server DHCP autorizzati, tramite il comando NetSH.exe si può consultare la Knowledge Base KB303351.
Scope
Una volta che uno Scope è stato creato, bisogna attivare lo Scope affinchè il DHCP Server possa rilascaire gli indirizzi dello Scope creato.
Non è possibile cambiare la Subnet Mask di uno Scope. Se si vuole cambiare la Subnet Mask di uno scope bisogna prima Cancellare lo scope e poi tornarlo a creare, utilizzando ad esempio lo New Scope Wizard, con la nuova Subnet Mask.
DHCP Client Class
Per DHCP Client Class s'intendono tutti quei DHCP Client accomunati dall'avere una medesima caratteristica comune (come ad esempio la versione del Sistema Operativo). Le DHCP Client Class si dividono in due categorie:
- Vendor Classes. Specifiche per ogni società che fornisce il software DHCP Client.
- User Classes. Create da ciscun amministratore di rete per caratterizzare i vari DHCP Client
I sistemi operativi di casa Microsoft presentano le seguenti classi:
- Microsoft DHCP Vendor Classes:
- DHCP Standard Options
- Microsoft Options
- Microsoft Windows 2000 Options
- Microsoft Windows 98 Options
- Microsoft Built-In DHCP Client User Classes:
- Default User Class
- Default BOOTP Class
- Default Routing and Remote Access Class
Per impostare le DHCP Client User Classes si può utilizzare il comando: ipconfig /setclassid
L'utilizzo delle classi si rivela particolarmente utile quando si voglio realizzare
scope d'indirizzi IP caratteristici per certe tipologie di macchine, come ad esempio i
Notebook.
DHCP Options
Esistono quattro tipi di DHCP Options, legate fra loro da un legame di precedenza. Le DHCP Options consentono di fornire gli indirizzi IP dei server che erogano i servizi (come ad esempio gli indirizzi IP dei DNS Server, i WINS Server ...) presenti all'interno di una LAN. Le possibili DHCP Options sono:
- DHCP Server Options. Sono valide per tutti gli Scope e vengono di solito utilizzate per fornire indirizzi IP di servizi comuni a tutti gli Scope. Rispetto a tutte le altre DHCP Options sono quelle che hanno la priorità più bassa.
- DHCP Scope Options. Sono opzioni valide solamente all'interno di un singolo Scope. Vengono di solito utilizzate per fornire gli indirizzi IP relativi a servizi specifici per un certo Scope. Queste opzioni hanno la precedenza rispetto a quelle del DHCP Server Options.
- DHCP Class Options. Sono opzioni che vengono applicate ad una singola DHCP Client Class e hanno validità solamente all'interno di questa DHCP Client Class. Queste opzioni hanno la precedenza sulle opzioni della DHCP Scope Options.
- DHCP Client Options. Sono opzioni che vengono assegnate direttamente ad un singolo DHCP Client; tipicamente al momento in cui viene messa in piedi una DHCP Reservation IP, ovvero quando ad un DHCP Client viene riservato un certo indirizzo IP. Queste opzioni hanno la priorità sulle DHCP Class Options.
Per maggiori informazioni sulle DHCP Options si può consultare il documento RFC 2132.
DHCP e Dial-Up Client
Il servizio di Routing and Remote Access di Windows 2000 o superiore, consente di configurare, per i Remote Access Client, l'assegnazione dinamica dell'indirizzo IP tramite DHCP Server. Poichè conviene tenere separati gli indirizzi rilasciati dal DHCP ai client di rete da quelli rilasciati ai Remote Access Client, si può utilizzare, per tale scopo, la classe utente Default Routing and Remote Access Class. In questo modo si possono impostare delle Scope Option differenti da quelle degli Scope a cui puntano i client della LAN. Conviene infatti tenere basso il periodo di lease onde ridurre il numero di indirizzi IP utilizzati dai Remote Client Access (di solito s'imposta la lease a 2 ore).
DHCP Multicasting
Risulta possibile identificare più host con un medesimo indirizzo IP. Gli host in questo modo avranno due indirizzi IP, uno che l'identifica singolarmente all'interno della rete, un'altro che l'individua come membri di uno stesso gruppo. Questo secondo indirizzo IP prende il nome di IP Multicast. Risulta possibile assegnare dinamicamente oltre all'indirizzo IP di ciascun host, anche l'indirizzo IP Multicast. Affinchè un client possa ricevere un indirizzo IP Multicast bisogna che il suo servizio DHCP Client sia compatibile col Multicast Address Dynamic Client Allocation Protocol (MADCAP). Per poter assegnare indirizzi IP Multicast bisogna creare, sul DHCP Server, un Multicast Scope.
Per maggiori informazioni sul IP Multicasting e lo MDACAP si possono consultare i seguenti documenti RFC 1112, RFC 2236 e RFC 2730.
DHCP in Routed Network
Di solito i Router vengono configurati per non lasciar passare le richieste Broadcast da una rete all'altra, col risultato di bloccare anche le richieste DHCPDiscover. Pertanto, se una delle due reti risulta priva di un DHCP Server, ci si deve porre il problema di come assegnare dinamicamente gli indirizzi IP agli host di questa rete. Le soluzioni possibili sono:
- Dotare ciascuna rete di un proprio DHCP Server. E' la soluzione più semplice, ma anche quella che prevede il maggior carico amministrativo: la gestione di due DHCP Server anzichè uno.
- Installare un Router RFC 1542 Compatibile. E' una buona soluzione ma necessità di gestire un Router dalle caratteristiche avanzate. Ad ogni modo questa soluzione è migliore della precedente in quanto ha un minore carico amministrativo.
- Installare nella rete priva di DHCP Server un DHCP Relay Agent. Fra tutte le soluzioni è la migliore in quanto presenta il più basso carico amministrativo (un DHCP Relay Agent è più facile da gestire di un Router RFC 1542 Compatibile) rispetto a tutte le altre soluzioni.
I DHCP Relay Agent hanno il pregio di trasformare le richieste Broadcast, legate ai messaggi DHCPDiscover, in richieste Unicast dirette al DHCP Server che viene configurato nel DHCP Relay Agent. La comunicazione fra il DHCP Server e il DHCP Relay Agent è di tipo Unicast, mentre la comunicazione fra il DHCP Relay Agent e il DHCP Client è di tipo Broadcast.
Per installare un DHCP Relay Agent bisogna utilizzare il Routing and Remote Access. I parametri che bisogna inserire per configurare un DHCP Relay Agent sono:
- La scheda di rete in cui il DHCP Relay Agent deve rimanere in ascolto.
- Gli Indirizzi IP dei DHCP Server a cui inoltrare le richieste DHCPDiscover.
- Il valore, numerico, della Hop Count Thereshold. Questo valore indica il numero massimo di Router che l'inoltro della richiesta DHCPDiscover può attraversare. Questo valore serve ad evitare di generare un eccessivo traffico di rete.
- Il valore, in secondi, del Boot Threshold. Questo valore determina l'intervallo di tempo, trascorso il quale il DHCP Relay Agent inoltra la richiesta DHCPDiscover ad uno dei DHCP Server che gli sono stati impostati. Questo intervallo serve ad inibire il DHCP Relay Agent qualora fossero presenti dei DHCP Server all'interno della rete in cui opera il DHCP Relay Agent.
DHCP Logging
Se si abilitano le capacità di logging di un DHCP Server, allora viene generato un file chiamato DHCPSrvLog.<xxx> dove la sigla <xxx> va sostituita con le prime tre lettere che identificano il giorno della settimana in cui sono state abilitate le capacità di logging. Questo file viene inserito, di default, all'interno della cartella %SystemRoot%\System32\Dhcp. Conviene abilitare le capacità di logging solamente se ci sono dei problemi, in quanto degradano le performance del DHCP Server. Per abilitare il DHCP Logging basta procedere come segue:
- Aprire la DHCP console che si trova all'interno degli Administrative Tools.
- Cliccare col pulsante destro del mouse sopra il nome del server in cui è abilitato il servizio DHCP. Dal menu contestuale che si apre selezionare la voce Properties.
- Entrare nella sezione General. Selezionare la voce Enable DHCP Audit Logging.
- Per cambiare il percorso di default in cui viene salvato il file di log si può utilizzare la sezione Advanced.
- Premere OK per confermare la scelta effettuata.
Comandi Utili
Non si può lanciare il comando DHCPLoc.exe del Resurce Kit di Windows 2000 da un DHCP server, in quanto questa utility cerca d'individuare i server DHCP, intercettando i pacchetti che questi server trasmettono, ne segue che venendo il comando lanciato da un server DHCP, il comando intercetterà le richieste DHCP che questo server invierà, col risultato che il server sembrerà inattivo.
Altri comandi utili sono:
- ipconfig /renew. Esegue una nuova DHCPRequest con rinnovare l'Indirizzo IP del DHCP Client.
- ipconfig /release. Il DHCP Client viene forzato ad eseguire una DHCPRelease del proprio indirizzo IP. Una volta eseguito il DHCPRelease il client rimarrà senza indirizzo IP.
- ipconfig /setclassid. Imposta la classe di appartenenza di un DHCP Client.
- ipconfig /showclassid. Mostra la classe di appartenenza di un DHCP Client.
- jetpack dhcp.mdb <DHCPDataBaseTemporaneo>. Consente di compattare un database di DHCP che risulta troppo grande. Il comando JetPack.exe non è in grado di eseguire il Restore del database di un DHCP Server. Per poter prima compattare il database del DHCP bisogna fermare il servizio DHCP Server, altrimenti il comando jetpack termina con l'errore 1032. Per maggiori informazioni sul comando jetpack si può consultare la Knowledge Base KB145881.
- NetSH.exe. Consente di configurare un DHCP Server da command line. Per maggiori informazioni sul comando NetSH.exe si può consultare il documento The Cable Guy - November 2001.
1.9 Internet Information Server
I componenti dell'Internet Information Server (IIS) sono:
- Common File. Contiene i file necessari per eseguire tutti i componenti dell'Internet Information Server.
- Documentation. Contiene la documentazione sulla gestione dell'Internet Information Server e l'amministrazione di siti Web e Ftp.
- File Transfert Protocol (FTP) Server. Consente la creazione di siti FTP.
- FrontPage 2000 Server Extensions. Consente l'amministrazione diretta dei siti da tool di sviluppo come FrontPage 2000 e Visual InterDev.
- Internet Information Services Snap-In. Contiene uno snap-in MMC da cui è possibile amministrare l'Internet Information Server. Questa è l'interfaccia grafica di amministrazione principale dell'Internet Information Server.
- Internet Services Manager (HTML). Fornisce la possibilità d'amministrare l'Internet Information Server
via Web da un qualunque browser. Per motivi di sicurezza conviene non installare questo componente.
Di default questo sito imposta i seguenti metodi di autenticazione:
- Integrated Windows Authentication.
- Limita l'accesso a solamente il localhost (127.0.0.1).
- NNTP Services. Installa il Network News Transfer Protocol (NNTP) con il quale si può accedere alle Usenet.
- SMTP Services. Fornisce il supporto al Simple Mail Transfert Protocol (SMTP).
- Visual InterDev RAD Remote Deployment Support. Abilita l'aggiornamento e l'installazione da remoto di applicazioni all'interno dei siti Web dell'Internet Information Server.
- World Wide Web Server. Consente la creazione di siti Web.
L'installazione minima dell'Internet Information Server prevede l'installazione dei componeneti Common File, Internet Information Services Snap-In e World Wide Web Server.
L'installazione di default di Internet Information Server prevede la creazione di:
- Cartelle di IIS:
- %SystemRoot%\System32\InetSrv: Contiene il cuore di IIS con i file eseguibili e le DLL (Dynamic-Link Library) che consentono ad IIS di funzionare.
- %SystemRoot%\System32\InetSrv\IISAdmin: Questa cartella contiene gli script per amministrare remotamente IIS. La cartella è accessibile via Web attraverso l'Administration Web Site. La cartella contiene a sua volta quattro sottocartelle: HTMLDocs, Images, JSBrowser e JSDirBrowser.
- %SystemDrive%\InetPub: Contiene le cartelle WWWRoot e FTPRoot (quest'ultima è presente solamente se si è deciso d'installare il servizio FTP). Lo scopo di queste cartelle è quello di contenere i siti di default di IIS. E' buona norma inserire i propri siti in una cartella differente da quelle qui elencate.
- %SystemRoot%\Help\IISHelp: Contiene la documentazione di IIS. Per accedere alla documentazione di IIS basta accedere al sito http://localhost/iishelp/iis/misc/default.asp.
- Utenti di default:
- IUSR_%ComputerName%: Questo account ha il compito di gestire tutti gli accessi
anonimi ai vari siti (sia Web sia FTP). L'utente IUSR_%ComputerName% gode dei
seguenti diritti:
- Ha il diritto di Log On Locally sul server in cui è stato installato IIS.
- Appartiene al Local Group Guest.
- IWAM_%ComputerName%: Questo account è quello che viene utilizzato per eseguire, out-of-process le Web Applications.
- IUSR_%ComputerName%: Questo account ha il compito di gestire tutti gli accessi
anonimi ai vari siti (sia Web sia FTP). L'utente IUSR_%ComputerName% gode dei
seguenti diritti:
- Servizi offerti da ISS:
- FTP Service
- IIS Admin Service
- SMTP Service
- World Wide Web Publishing
Per modificare l'installazione di default di IIS bisogna utilizzare un'installazione unattended.
Per eseguire un'instllazione unattended di IIS bisogna prima creare un file di testo contente le
informazioni neccessarie per l'installazione dei componenti e dei servizi che compongono IIS. Un possibile
esempio di file IISUnattendedSetup.txt si può trovare
qui. Una volta creato il file IISUnattendedSetup.txt si può
procedere con l'installazione di IIS eseguendo da command prompt il comando:
sysocmgr /i:%WinDir%\Inf\Sysoc.inf /u:C:\IISUnattendedSetup.txt
ammesso che il file
IISUnattendedSetup.txt si trovi all'interno del disco C:. Il comando Sysocmgr.exe
consente d'installare un numero limitato di componenti di Windows 2000. Per sapere come trasformare un
server con Windows 2000 a bordo in un web server si può consultare la Knowledge Base
KB308192.
Pi� in generale, per installare l'Internet Information Server si può consultare il
documento Installing IIS. Per maggiorni informazioni
sulla sintassi del comando sysocmgr.exe si può consultare il documento
Syntax of Sysocmgr.exe.
È buona norma seguire le seguenti abitudini quando si decide d'installare IIS:
- Collocare la cartella %SystemDrive%\InetPub in un disco diverso da quello di sistema.
- Collocare i siti diversi da quello di default al di fuori della cartella InetPub\WWWRoot
Quando si disinstalla IIS le seguenti cartelle non vengono rimosse:
- %SystemRoot%\InetPub
- %SystemRoot%\Help\IISHelp
- %SystemRoot\System32\InetSrv
Durante il processo di disinstallazione di IIS tutte le chiavi di registry modificati in seguito all'applicazione di una HotFix non vengono rimosse, pertanto si deve aprire il registry e provvedere a rimuoverle manualmente, altrimenti lo HotFix Checking Tool (Hfnetchk.exe) non è più in grado di analizzare in modo corretto il sistema. Per elimanare le chiavi di registry bisogna andare all'interno della chiave HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\HotFix, individure le chiavi relative alle HotFix applicate e rimuoverle dal registry (le chiavi che corrispondono a delle HotFix. portano il nome della Knowledge Base a cui fanno riferimento). Per maggiori informazioni sul HotFix Checking Tool si può consultare la Knowledge Base KB303215.
Configurazione di IIS
La configurazione di IIS avviene impostando due tipi di proprietà:
- Master Properties
- Site Properties
Le Master Properties sono impostazioni globali applicate al server su cui è installato IIS. Le Master Properties vengono ereditate da tutti i siti che vengono aperti sul server in cui è installato IIS. Le Site Properties sono invece proprietà caratteristiche di ciascun sito e possono essere diverse da sito a sito (siano essi Web o FTP).
Per accedere alle Master Properties basta procedere come segue:
- Aprire lo snap-in Internet Service Manager che si trova all'interno degli Administrative Tools di Windows 2000.
- Cliccare col pulsante destro del mouse sul nome del server su cui è installato IIS e selezionare la voce Properties.
- Sotto Master Properties, selezionare WWW Service per modificare le Master Properties dei siti Web, FTP Service per modficiare le Master Properties dei siti FTP.
- Cliccare su Edit per editare le Master Properties.
- Al termine delle modifiche premere il pulsante Apply e poi quello OK.
Per accedere alle Site Properties basta procedere come indicato:
- Aprire lo snap-in Internet Service Manager che si trova all'interno degli Administrative Tools di Windows 2000.
- Cliccare col pulsante destro del mouse sul sito Web o FTP di cui si desidera modificare le proprietà.
- Selezionare la voce Properties.
- Al termine delle modifiche premere il pulsante Apply e poi quello OK.
E' buona norma specificare come Home Directory, ovvero la cartella che contiene tutti i file che compongono un sito Web o un sito FTP, una cartella diversa da quella di default: %SystemDrive%\InetPub\WWWRoot per i siti Web, %SystemDrive%\InetPub\FTPRoot per un sito FTP. In quanto le cartelle di default presentano le seguenti caratteristiche che depongono a loro sfavore:
- Si trovano all'interno del disco di sistema.
- Contiengono, di solito, le pagine di help.
- Vengono utilizzata per scopi amministrativi.
Un'altra buona norma è quella di specificare, all'interno della sezione Documents delle proprietà di un sito, il nome della Home Page, cioè del primo documento che viene caricato quando si accede ad un sito. Poichè IIS ricerca questo documento all'interno della Home Directory, prendendo a modello i nomi dei file che sono elencati all'interno della sezione Documents, partendo dal primo in alto sino all'ultimo in basso, bisogna collocare questo documento all'interno della cartella Home Directory. Per accelerare il processo d'individuazione della Home Page conviene specificare il nome del file che contiene questa pagina come il primo nome della lista presente all'interno della sezione Documents.
Per sapere come integrare IIS e ISA Server si può consultare la Knowledge Base KB300435.
Virtual Directory
Le Virtual Directory sono cartelle, appartenenti alla struttura di un sito, che punto a uno share di rete. Facendo riferimento alla Virtual Directory si punta direttamente alla share di rete, in questo modo si riesce a dare alla struttura del sito una struttura coerente, senza che l'utente si accorga che sta passando da un server ad un'altro. Le Virtual Directory consentono di arricchire la struttura di un sito senza dover spostare i documenti da un server ad all'altro. Dalla console di amministrazione di Internet Service Manager, risulta possibile assegnare dei permessi globali alle Virtual Directory Questi permessi globali sono validi per tutti gli utenti che accedono alla Virtual Directory. I permessi che si possono impostare sono (i permessi che riportiano si applicano anche a tutte le Directory che compongono un Sito Web o un Sito FTP):
- Sito FTP:
- Read. Consente di leggere o scaricare un file o una subdirectory.
- Write. Consente di modificare un file o di aggiornare e modificare il contenuto di una directory.
- Log Visits.
- TCP/IP Access Restrictions. Più che un permesso è una sezione in cui limitare l'accesso alla Virtual Directory in base all'indirizzo IP delle macchine che tentano di accedervi.
- Sito Web:
- Read. Consente di leggere o scaricare un file o una subdirectory.
- Write. Consente di modificare un file o di aggiornare e modificare il contenuto di una directory.
- Directory Browsing. Consente di vedere il contentuo di una cartella ma non quello di una Virtual Directory.
- Log Visits.
- Index This Resource.
- Script Source Access. Se si hanno i permessi di Read e Write si può visualizzare il sorgente del file di Script.
- Execute Permissions. Sono ammessi i seguenti valori:
- None. Non viene eseguito alcun file di script o eseguibile.
- Scripts Only. Se impostato insieme al permesso di Read, fornisce la possibilità di eseguire i file di Script.
- Scripts and Executables. Se impostato insieme al permesso di Read, fornisce la possibilità di eseguire sia i file di Script sia i file eseguibili.
I permessi di un utente che accede alla Virtual Directory via browser, sono il frutto della combinazione dei permessi globali della Virtual Directory e delle ACL di NTFS. In particolare, i permessi delle Virtual Directory si comportano esattamente come i permessi delle share di rete: pertanto l'utente otterà la combinazione più restirttiva fra i permessi globali della Virtual Directory e le ACL su file system. La combinazione più restirttiva si ottiene intersecando le ACL del file system con i permessi globali della Virtual Directory, esattamente come per le share di rete. Per creare Virtual Directory all'interno di un sito si possono usare le seguenti tecniche:
- Sito FTP e sito Web:
- Facendo uso dell'Internet Services Manager degli Administrative Tools si può lacniare il Virtual Directory Creation Wizard.
- Per i soliti siti Web:
- Facendo uso di Windows Explorer, andando nella sezione Web Sharing delle Properties di una cartella, si può abilitare l'opzione Share This Folder per creare una Virtual Directory.
Identificazione di un sito web
IIS conente di ospitare più di un sito all'interno dello stesso server web. Per poter accedere ai vari siti che ospita un server web si possono utilizzare tre metodologie diverse:
- Utilizzare un singolo indirizzo IP ma distinguendo i vari siti utilizzando diverse porte.
Ad esempio (l'indirizzo 192.168.0.10 è l'indirizzo del server web):
- Primo Sito Web: 192.168.0.10:80
- Secondo Sito Web: 192.168.0.10:2000
- Terzo Sito Web: 192.168.0.10:3000
- Assegnando allo stesso server più indirizzi IP e facendo corrispondere a questi indirizzi
altrettanti siti web. Ad esempio:
- Primo Sito Web: 192.168.0.10:80
- Secondo Sito Web: 192.168.0.11:80
- Terzo Sito Web: 192.168.0.12:80
- Utilizzando lo stesso indirizzo IP e la stessa porta per tutti i siti web, ma
cambiando lo HTTP Header di ciscun sito. Questo modo di gestire i vari siti web è supportato
solamente dai browser che sono compatibili col protocollo HTTP 1.1. Non si può poi utilizzre
questo metodo se uno o più siti utilizzano il protocollo SSL, in quanto questo protocollo non
è in grado di gestire gli HTTP Header. Ad esempio:
- Primo Sito Web: 192.168.0.10:80, HTTP Header: www.PrimoSitoWeb.org
- Secondo Sito Web: 192.168.0.10:80, HTTP Header: www.SecondoSitoWeb.org
- Terzo Sito Web: 192.168.0.10:80, HTTP Header: www.TerzoSitoWeb.org
A prescindere da quale metodo si decida di utilizzare per gestire la presenza di più siti all'interno dello stesso server web, bisogna integrare la scelta fatta con il server DNS che si preoccuperà di risolvere i vari nomi dei siti.
L'utilizzo del metodo degli HTTP Header si rivela particolarmente utile, quando si vuole consentire all'utente d'inserire URL diverse per raggiungere il medesimo sito. Ad esempio, per raggiungere il sito www.MioSito.net, si può concedere all'utente d'inserire o il nome completo del sito: www.MioSito.net, oppure solamente il nome del dominio: MioSito.net o in alternativa il vecchio nome del sito: www.MioPrimoSito.net.
Quando si utilizzano gli HTTP Header si deve togliere l'opzione di default All Unsigned altrimenti il sito web a cui si stanno impostando gli HTTP Header, tenterà di rispondere a tutte le interrogazioni HTTP del server web.
Logging di un sito Web
Internet Information Service mette a disposizioni le seguenti tipologie di logging di un sito Web:
- NCSA Common Log File Format
- ODBC Logging
- W3C Extended Log File Format
In particolare il W3C Extended Log File Format consente un controllo molto raffinato delle informazioni da registrare all'interno del file di log, ovvero risulta possibile decidere se registare o meno le seguenti informazioni:
- Date (Selezionata di default)
- Time (Selezionata di default)
- Extended Properties:
- Client IP address (Selezionata di default)
- User Name (Selezionata di default)
- Service Name
- Server Name
- Server IP Address (Selezionata di default)
- Server Port (Selezionata di default)
- Method (Selezionata di default)
- URI Stem (Selezionata di default)
- URI Query (Selezionata di default)
- Protocol Status (Selezionata di default)
- Win32 Status
- Bytes Sent
- Bytes Received
- Time Taken
- Protocol Version
- Host
- User Agent (Selezionata di default)
- Cookie
- Referer
- Process Accounting:
- Process Event (Selezionata di default)
- Process Type (Selezionata di default)
- Total User Time (Selezionata di default)
- Total Kernel Time (Selezionata di default)
- Total Page Foult (Selezionata di default)
- Total Processes (Selezionata di default)
- Active Processes (Selezionata di default)
- Total Terminated Processes (Selezionata di default)
Aggiornamento di un sito web
Ci sono due possibili metodi per aggiornare un sito web:
- Tramite il protocollo FTP.
- Tramite l'utilizzo di WebDAV.
Il secondo metodo è preferibile al primo per i seguenti motivi:
- Sfrutta i Web Services.
- Utilizza il protocollo HTTP.
- E' più sicuro del protocollo FTP.
La maggiore sicurezza del WebDAV rispetto al protocollo FTP deriva dal fatto che il primo si appoggia ai Web Services mentre il secondo no.
Poichè quando si abilita l'utilizzo di WebDAV i permessi di scrittura all'interno della Home Directory si applicano a tutti gli utenti, per poter filtrare l'autorizzazzione alla scrittura solamente a certe persone ben precise, si deve ricorrere alle ACL del file system NTFS. Per abilitrare la scrittura sulla Home Directory tramite WebDAv si devono abilitare i seguenti permessi:
- Permesso di Read.
- Permesso di Write
- Permesso di Directory Browsing
Avere abilitato il permesso di Write non significa avere dato l'opportunità di modificare le pagine di script, come ad esempio le ASP Page. Per consentire ad un utente di modificare il contenuto di questi file, oltre al permesso di Write bisogna fornire anche il permesso di Script Source Access.
Autenticazione
IIS mette a disposizione diversi metodi per Autenticare un utente. Col termine Autenticazione intendiamo il processo con cui il server web identifica un utente che tenta di accedere uno o più siti che si trovano sul server web. I possibili metodi di Autenticazione sono:
- Anonymous Authentication
- Basic Authentication
- Digest Authentication
- Integrated Windows Authentication
L'Anonymous Authentication è l'autenticazione di default (quando questa viene scelta) adottata da IIS. Per tutti gli altri meccanismi di autenticazione, la scelta di quale adottare viene effettutata in concomitanza dal Browser del web client e da IIS, in base alle seguenti regole:
- Il meccanismo di autenticazione deve essere supportato sia dal Broswer sia da IIS.
- Viene utilizzato il meccanismo di autenticazione più sicuro. Se ordiniamo i meccanismi di autenticazione
in base al loro livello di sicurezza otteniamo:
- Integrated Windows Authentication
- Digest Authentication
- Basic Authentication
L'autenticazione Integrated Windows Authentication è l'autenticazione più sicura, mentre quella Digest Authentication è più sicura della Basic Authentication. Pertanto, se selzionata, l'autenticazione Integrated Windows Authentication è quella utilizzata di default se non si seleziona l'Anonymous Authentication.
Anonymous Authentication
Questo tipo di autenticazione è abilitata di default e di solito è quella più utilizzata, soprattutto per le areee pubbliche di un sito web. Quando si utilizza questo tipo di autenticazione, tutti gli utenti che accedono al sito vengono impersonati dall'utente IUSR_%ComputerName%. Pertanto, bisogna stare molto attenti ai permessi che vengono assegnati a questo utente a livello di ACL di NTFS. Salvo motivi particolare, conviene fornire all'utente IUSR_%ComputerName% solamente i permessi di Read, senza autorizzarlo a quelli di Write ed Execute. Se lo si desidera, si può cambiare l'utente anonymous, cambiando l'utente IUSR_%ComputerName% con uno scelto dall'amministratore di rete. Bisogna però sottolineare che l'utente anonymous deve avere il permesso di Log On Locally e Network Logon. La pratica di cambiare l'utente anonymous da quello di default di IIS è comunque vivamente sconsigliata!
Basic Authentication
Affinchè un utente o locale alla macchina o del dominio possa venire autenticato con Basic Authentication deve avere i permessi di Log On Locally. Di default un utente di dominio non ha i permessi di Log On Locally. I vantaggi della Basic Authentication sono:
- E' compatibile con tutti i browser.
- Può essere utilizzata con la presenza di Firewall.
- Può essere utilizzata con la presenza di Proxy Server.
Per gli utenti che appartengono ad un dominio, sia di Windows NT, sia di Windows 2000, risulta possibile specificare il campo Domain Name per indicare il dominio predefinito da utilizzare quando un utente di dominio, nel momento di autenticarsi, non dovesse specificare il dominio di appartenenza. Questa opzione torna utile per evitare che gli utenti di dominio debbano specificare, oltre allo username, anche il domain name.
Digest Authentication
La Digest Authentication è uguale alla Basic Authentication col l'unica eccezione che il principal (ovvero l'insieme composto dal Nome Utente e dalla Password) viene criptato e poi inviato al server web, il quale si preoccuperà poi di decriptarlo. Il processo di criptazione avviene tramite un processo di mascheramento noto col nome di Hashing. Per poter mettere in piedi questo tipo di autenticazione devono essere soddisfatte le seguenti condizioni:
- Il server web con IIS a bordo deve appartenere ad un dominio Active Directory in Native Mode.
- I browser devono essere compatibili col protocollo HTTP 1.1.
- Gli utenti che dovranno venire autenticati devono essere utenti del Active Directory Domain la cui password dovrà essere criptata in modo reversibile, ovvero deve essere selezionata la voce: Store Password using Reverse Encryption all'interno delle Account Options.
Anche la Digest Authentication può essere utilizzata in presenza di Proxy Server o Firewall.
Integrated Windows Authentication
L'Integrated Windows Authentication non funziona se il client si collega al sito tramite un HTTP Proxy Server. Nell'Integrated Windows Authentication il Nome Utente e la Password vengono inviati al Web Server in modo criptato. L'Integrated Windows Authentication è la forma di autenticazione più sicura fra tutte quelle che si possono utilizzare per accedere ad un sito Web ospitato da un Internet Information Server.
Processo di Autorizzazione
Per Processo di Autorizzazione s'intende il meccanismo col quale vengono assegnati i permessi di cui un utente gode, quando questi accede ad un sito. In altri termini, ciò che un utente può fare o non può fare all'interno di un sito. Il Processo di Autorizzazione di una persona ad un sito si basa sull'applicazione di due tipi di permessi:
- Web-Based Permission
- NTFS Permission
Viene applicata prima la Web-Based Permission e poi la NTFS Permission, in caso di conflitto viene applicato il permesso più restrittivo. La Web-Based Permission è composta da:
- General Access Permission i cui possibili permessi sono:
- Script Source Access: va abilitato o insieme al permesso di Read o a quello di Write o ad entrambi. Consente di modificare i file che contengono il contenuto dinamico di un sito, ovvero le pagine ASP.
- Read: possibilità di leggere il contenuto di file statici, come ad esempio pagine HTML o file TXT.
- Write: possibilità di modificare il contenuto di una cartella del sito o di un file statico, come ad esempio una pagina HTML o un file TXT, ma non consente di modificare il contenuto dinamico di un sito, ovvero le pagine ASP.
- Directory Browsing: la possibilità di vedere il contenuto delle cartelle di un sito.
- Log visits
- Index this Resource
- Execute Permission i cui possibili permessi sono:
- None: non consente ad un utente di eseguire alcun script o programma all'interno della cartella in cui è definito. Pertanto solamente il contenuto statico del sito è accessibile.
- Scripts Only: consente di eseguire gli script all'interno della cartella in cui è definito. gli acript che possono venire eseguiti sono quelli per cui IIS è dotato di uno Script Engine. Con questa abilitazione, però, non risulta possibile eseguire programmi (ovvero file con l'estenzione EXE).
- Scripts and Executables: consente di eseguire sia script che file eseguibili, programmi o file binari di Windows all'interno della cartella in cui è stato applicato.
La Web-Based Permission si applica a tutte le persone che accedono al sito, a prescindere dalla loro natura: ovvero se sono amministratori o semplici utenti; dal loro gruppo di apprtenenza ecc... Con questa sola permission non è possibile implementare dei filtraggi selettivi basati sull'account di chi accede al sito. Per avere un processo di autorizzazione più granulare si deve ricorrere alla NTFS Permission sfruttando le ACL insite nel file system NTFS.
Secure Sockets Layer
Il Secure Sockets Layer (SSL) consente di criptare la comunicazione fra un Web Server e un Web Client. Per attivare il Secure Sockets Layer su di un Web Server bisogna ottenere un certificato digitale, fornito da una società riconosciuta a livello internazionale, come ad esempio VeriSign, nel quale si certifica l'identità del Web server e allo stesso tempo contiene le Public Keys con cui criptare la comunicazione con i Web Client. Per avre maggiori informazioni su come implementare il Secure Sockets Layer in Internet Information Server si possono consultare le Knowledge Base: KB299875 e KB298805.
Siti FTP
Su di un Sito FTP si possono impostare i seguenti permessi:
- Allow only anonymous access
- Directory listing style
- Log Visits
- TCP/IP access restrictions. Questa sezione consente di limitare l'accesso al sito FTP a solamente certe macchine o certe categorie di macchine in base al loro indirizzo IP.
Un Sito FTP supporta solamente i seguenti meccanismi di autenticazione:
- Anonymous Authentication
- Basic Authentication
Per avere maggiori informazioni su come configurare l'accesso ad un sito FTP si può consultare la Knowledge Base KB318712.
Salvataggio della configurazione di IIS
Esitono diversi metodi per salvare la configurazione di IIS, tra i possibili citiamo:
- Copiare in una cartella di salvataggio il file %SystemRoot%\System32\InetSrv\Metabase.bin.
- Utilizzare le funzioni di Backup\Restore Configuration dello Snap-In Internet Services Manager che fa parte degli Administrative Tools di Windows 2000.
- Utilizzando lo script MetaBack.vbs che si trova nella cartella %SystemDrive%\Inetpub\iissamples\sdk\admin.
- Utilizzando il Metabase Editor.
Fatta eccezzione per il primo e l'ultimo metodo elencato per salvare la configurazione di IIS, di solito i file relativi al salvataggio della configurazione vengono messe all'interno della cartella: %SystemDrive%\WINNT\system32\inetsrv\MetaBack ed hanno estensione MD0, MD1, MD2 ... A seconda della versione di salvataggio (indicata dalla cifra che segue le lettere MD).
Se il sistema operativo del server web viene reinstallato o se si cerca di recuperare la configurazione di IIS da una file di salvataggio di un'altro server web, l'operazione di ripristino non va a buon fine. Per poter spostare un file di configurazione da un server web ad un'altro si deve utilizzare il Metabase Editor, esportando il file di configurazione di IIS di un server web in formato testo, utilizzando la funzione Export Text File del menu Metabase ed importandolo successivamente in un'altro server web, ricorrendo alla funzione Import Text File del menu Metabase. L'operazione d'importazione di file di configurazione è estremamente pericolosa e va pertanto eseguita con cautela.
Amministrazione remota di IIS
Esistono diversi metodi per amministrare remotamente IIS:
- Da Internet o attraverso un Proxy Server:
- Via browser collegandosi al sito ospitato sul server web sulla porta in cui è definito l'Administrative Web Site.
- Dalla Intranet aziendale:
- Via browser collegandosi al sito ospitato sul server web sulla porta in cui è definito l'Administrative Web Site.
- Utilizando l'Internet Service Manager che si trova all'interno degli Administrative Tools.
- Via Terminal Server.
Per poter accedere da remoto al Administrative Web Site bisogna prima assicurarsi che la macchina da cui ci stiamo collegando sia autorizzata ad accedere al sito. Per autorizzare una macchina ad accedere al sito Administrative Web Site bisogna:
- Aprire il menu Start, andare in Programs, Administrative Tools e selezionare Computer Management.
- Aprire prima la sezione Services and Applications e poi quella relativa all'Internet Information Services.
- Cliccare col pulsante destro del mouse sopra l'Administrative Web Site. Dal menu contestuale che si apre selezionare la voce Properties.
- Entrare nella sezione Directory Security. Premere il pulsante Edit che si trova sotto la voce IP Address and Domain Name Restirctions.
- All'apertura della finestra di dialogo IP Address and Domain Name Restriction compiere una
delle due seguenti azioni:
- Selezionare la voce Grant Access per consentire a tutti i computer di accedere all'Administrative Web Site. Questa operazione è, per ovvi motivi di sicurezza, sconsigliata.
- Selezionare la voce Deny Access per impedire l'accesso all'Administrative Web Site
da parte di alcuni computer. Per specificare quali computer non possono accedere
all'Administrative Web Site bisogna:
- Premere il pulsante Add.
- All'interno della sezione Type selezionare una delle seguenti voci:
- Single Computer. Consente di specificare l'Indirizzo IP del computer a cui è negato accedere all'Administrative Web Site.
- Group of Computers. Consente di specificare il Network ID e la Subnet Mask del range di indirizzi IP da cui non sarà possibile accedere all'Administrative Web Site.
- Domain Name. Consente di specificare il DNS Domain Suffix da cui non sarà possibile accedere all'Administrative Web Site.
- Premere OK per salvare la configurazione impostata.
Se si desidera fermare o riavviare i servizi di IIS, conviene utilizzare l'apposita opzione che si trova all'interno della finestra Internet Information Services piuttosto che fermare o riavviare i servizi manualmente dalla finestra Services.
Per maggiori informazioni su come impostare l'Administrative Web Site per potervi accedere da remoto, si può consultare la Knowledge Base: KB308169. Si osservi, infine, che di default l'Administrative Web Site non supporta connessioni ti tipo SSL, pertanto, senza predisporre le opportune modifiche, non si può accedere all'Administrative Web Site attraverso il protocollo HTTPS.
Comandi utili
Tramite il comando iisreset è possibile compiere le seguenti operazioni:
- Opzione /start: far partire tutti i servizi di IIS.
- Opzione /stop: fermare tutti i servizi di IIS.
- Opzione /restart: ferma e poi riavvia i servizi di IIS.
- Opzione /reboot: riavviare il computer in cui IIS è installato.
- Opzione /RebootOnError: riavvia il computer se si verificano degli errori durante la partenza, interruzione o ripartenza dei servizi di IIS.
- Opzione /noforce: impedisce che i servizi di IIS vengano interroti se il tentativo di fermarli in modo gentile fallisce.
- Opzione /status: restituisce lo stato dei servizi di IIS.
- Opzione /enable: abilita la possibilità di riavviare i servizi di IIS.
- Opzione /disable: disabilità la possibilità di riavviare i servizi di IIS.
- Opzione /timeout:<valore>: imposta l'intervallo di tempo, in secondi, che si deve
attendere per il successo dell'interruzione dei servizi di IIS.
Se viene specificata l'opzione /RebootOnError, al termine
di questo intervallo di tempo la macchiana viene riavviata. I tempi
di default sono:
- 20sec per l' avvio dei servizi di IIS.
- 60sec per l'interruzione dei servizi di IIS.
- 0sec per il riavvio del sistema.
Altri comandi utili possono essere:
- Sysocmgr.exe: consente d'installare un numero limitato di componenti di Windows 2000. In particolare consente di effettuare un'installazione unattendend di IIS.
- %SystemDrive%\InetPub\AdminScripts\MkW3Site.vbs: permette di creare un sito WEB.
- %SystemDrive%\InetPub\AdminScripts\MkWebDir.vbs: consente di creare una Virtual Directory.
- %SystemDrive%\InetPub\AdminScripts\ChAccess.vbs: consente di controllare i permessi delle cartelle che contengono un sito WEB.
1.10 Installazione del Software
A differenza delle versione precedenti di Windows, con la versione Windows 2000 o superiori, sono stati previsti tre nuove entità per installare ed amministrare il software, ovvero:
- Il servizio Windows Installer.
- Il Software Installation and Maintenance Technology. Questo componente è costituito dal Software Installation Extension Snap-In che si trova all'interno della Group Policy Snap-In, la quale è un componente della Microsoft Management Console (MMC).
- Lo strumento Add/Remove Programs del Control Panel. Utilizzato dagli utenti per installare o rimuovere il software.
Il Software Installation and Maintenance Technology è un sistema d'integrazione dell'installazione del software tramite il servizio Windows Installer che viene gestito tramite le Group Policy.
I programmi che possono venire installati col servizio Windows Installer hanno estensione .msi e vanno a sostituire i vecchi file Setup.exe. I vantaggi offerti dal servizio Windows Installer sono:
- Custom Installation. La possibilità di personalizzare l'installazione del programma.
- Resilient Applications. La possibilità di reintegrare i file necessari per il corretto funzionamento del programma qualora questi dovessero venire danneggiati o cancellati per errore. L'operazione di ripristino di file avviene in modo automatico e trasparente per l'utente.
- Clean Removal. In caso di disinstallazione vengono rimossi tutti e solamente i file relativi all'applicazione, senza danneggiare le altre applicazioni.
- User need only Read Access to Installation Folders. Poichè l'installazione del pachetto msi viene fatta dal servizio Windows Installaer, l'utente non necessità di alcun diritto amministrativo sulla macchina, ma è sufficiente che abbia accesso in lettura alla cartella in cui si trova il pacchetto msi da installare.
Il servizio Windows Installer è composto dalle seguenti parti logiche:
- Un Operating System Service che esegue l'installazione, la modifica e la rimozione del software in accordo con quanto specificato all'interno del Windows Installer Package.
- Il Windows Installer Package, è un database che contiene informazioni sullo stato delle applicazioni installate. Comunemente, ci si riferisce al Windows Installer Package col nome di Pacchetto MSI (ovvero un file con estensione .msi).
- Un Application Program Interface (API) che permette alle applicazioni d'interagire col Windows Installer per installare o rimuovere funzionalità aggiuntive dell'applicazione dopo che questa è già stata installata.
Il servizio Windows Installer gode della proprietà di autoripararazione, ovvero se si accorge che alcuni file che facevano parte dell'applicazione installata col pacchetto msi non sono presenti, procedere in modo automatico a reinstallarli.
Per avere maggiori informazioni sulla capacità di gestione del software offerte da Windows 2000, si può consaultare il documento Improving Software Management. Il documento descrive in modo abbastanza dettagliato tutti gli strumenti che Windows 2000 mette a disposizione degli amministratori di rete per rilasciare, gestire ed eliminare il software all'interno di una rete aziendale. In particolare vengono descritti casi reali pratici e qual'è il modo migliore per affrontarli. Può tornare utile anche la lettura del documento Useful Tools for Package and Deployment Issues.
Assegnazione del Software
Ci sono due modi possibili di assegnare un pacchetto MSI:
- Assigning Applications. Un link all'applicazione viene inseirto all'interno del menu Start
ed eventualmente sul Desktop. L'applicazione viene installata quando:
- l'utente tenta per la prima volta di aprire un file che fa riferimento all'applicazione assegnata;
- l'utente tenta d'avviare per la prima volta l'applicazione utilizzando il link all'interno del menu Start o sul Desktop.
- Se l'applicazione è stata assegnata ad un Computer, l'applicazione viene installata la prima volta che è sicuro farlo (di solito all'avvio della macchina).
- Assegnare il software direttamente ad un utente o un computer.
- Modificare l'installazione di default del software tramite trasform (i trasform altri non sono che file con estenzione MST).
- Installare il software tramite l'attivazione basata sull'estensione di uno o più file (valida solamente se il software è stato assegnato ad un utente e se è stata selezionata la voce Auto-Install This Application By File Extension Activation).
- Pubblishing Applications. L'applicazione viene posta all'interno del menu Add/Remove Programs
del Control Panel. Nessun link viene inserito nel menu Start o sul Desktop. Sarà premura dell'utente
provvedere ad installare l'applicazione facendo uso del menu Add/Remove Programs.
Quando si pubblica un software, si possono svolgere le seguenti operazioni:
- Assegnare il software direttamente ad un utente.
- Modificare l'installazione di default del software tramite trasform (i trasform altri non sono che file con estenzione MST).
- Installare il software tramite l'attivazione basata sull'estensione di uno o più file (a patto che venga selezionata la voce Auto-Install This Application By File Extension Activation).
- Assegnare una categoria (in Add/Remove Programs) al software installato.
- Utilizzare la distribuzione del software tramite l'ausilio dei Zero Administration for Windows (ZAW) down-level Application Package (sono file con estensione ZAP).
Il pacchetto MSI può poi venire assegnato o ad un utente o ad un computer, più precisamente:
- Assegnare il pacchetto MSI direttamente ad un utente e non ad una Organization Unit,
significa avere le seguenti due possibilità:
- Il pacchetto MSI viene installato appena l'utente fa Logon al dominio.
- Viene creato un link all'interno del menu Start ed eventualmente uno sul Desktop e solamente quando l'utente clicca su uno di questi link l'applicazione corrispondente al pacchetto MSI viene installata.
- Assegnare il pachetto MSI ad una Organization Unit consente di far creare i link al menu Start ed eventualmente al Desktop la prima volta che l'utente fa Logon al dominio.
- Assegnare il pacchetto MSI ad un Computer significa che l'applicazione relativa al pacchetto MSI viene installata alla primo riavvio del computer, successivo all'assegnazione del pacchetto stesso.
In alternativa ai pacchetti MSI si possono utilizzare i file Zero Administration for Windows (ZAW) down-level Application Package (sono normali file di testo ASCII con estensione ZAP), i quali consentono di continuare ad utilizzare i normali file Setup.exe per eseguire le installazioni. Compito dei file ZAP è quello di guidare l'installazione di un programma. All'interno dei file ZAP sono contenute le seguenti informazioni:
- Il Path in cui dovrà venire installata l'applicazione.
- La descrizione che avrà l'applicazione all'interno dello strumento Add/Remove Programs.
- L'elenco delle estensioni di file a cui dovrà corrispondere il lancio automatico dell'applicazione da parte del sistema operativo.
Per avere informazioni su come realizzare un file ZAP, si può consultare la Knowledge Base KB231747.
Come creare un pacchetto MSI
Esistono tre metodi possibili per creare un pacchetto msi:
- Ottenere il pacchetto direttamente dal fornitore del Software.
- Creare il pacchetto manualmente utilizzando un tool apposito. Ad esempio si può utilizzare WinInstall LE che è presente all'interno del cdrom di Windows 2000 Advanced Server all'interno della cartella ValuAdd\3rdParty\MGMT\WinstLE.
Più in genrale, per creare un pacchetto MSI si deve ricorrere ad un tool appossito che partendo dal programma eseguibile ne ricavi il pacchetto MSI.
Contenuto di un pacchetto MSI
Di default un pacchetto MSI contiene le seguenti informazioni:
- Il percorso in cui vanno installati i file relativi all'applicazione rilasciata tramite il pacchetto MSI.
- Le chiavi di registry che bisogna creare o modificare.
- Gli Shotcuts necessari all'applicazione rilasciata col pacchetto MSI.
Pianificazione per la distribuzione del Software
Per distribuire uno o più programmi all'interno di una infrastruttura aziendale, sono necessari i seguenti passi:
- Pianificazione e preparazione del software da distribuire.
- Realizzazione di un Software Distribution Point. Se si ha più di un Site da gestire, per massimizzare la probabilità che un computer client con Windows 2000 Professional o superiore installato, utilizzi un Software Distribution Point presente all'interno del suo Site, conviene installare il Software Distribution Point all'interno di un Domain Distributed File System.
- Impostazioni di quelle che dovranno essere le caratteristiche di default dei programmi da distribuire.
- Rilascio dei programmi da distribuire.
- Impostazione delle opzioni necessarie per eseguire un'installazione automatica dei programmi da rilasciare.
- Impostazione delle categorie a cui i vari programmi dovranno apprtenere.
- Impostazione delle proprietà dei programmi che dovranno venire distribuiti.
- Manutenzione del software distribuito.
Come rilasciare un pacchetto MSI
Prima di poter distribuire un pacchetto MSI, bisogna creare un Software Distribution Point, ovvero una cartella di rete condivisa avente diritti e proprietà particolari:
- La cartella condivisa che costituisce il Software Distribution Point deve poter essere raggiunta da tutti gli utenti che devono accedere al software in essa contenuto.
- La cartella deve godere dei seguenti privilegi:
- Gli amministratori del software contenuto nella cartella devono avere i diritti di Allow Read e Allow Write.
- Gli utenti che devono utilizzare il software in essa contenuta devono avere i permessi di Allow Read.
Quando si provvede a copiare il software da distribuire all'interno della cartella che costituisce il Software Distribution Point, conviene tenere presente che molti programmi prevedono oppurtuni switch da riga di comando in grado di realizzare la cartella dalla quale venire poi distribuiti all'interno della rete.
Di seguito esponiamo i passi da compiere per rilasciare un pacchetto MSI ad un utente, Organization Unit o ad un computer:
- Aprire la console Active Directory Users and Computers (in alternativa, si può utilizzare la Group Policy Management Console).
- Aprire la voce Properties del contenitore a cui si desidera assegnare il pacchetto MSI. Ad esempio il contenitore può essere un Utente, Organization Unit o ad un Computer.
- Entare nella sezione Group Policy.
- A questo punto si può creare o una nuova Gorup Policy utilizzando il pulsante New e poi modificarla, oppure modificare direttamente una Gorup Policy presente utilizzando il pulsante Edit.
- Una volta editata la Group Policy, passare alla sezione Computer Configuration se si desidera assegnare il pacchetto MSI ad un Computer, o alla sezione User Configuration se si vuole assegnare il pacchetto MSI ad un utente.
- Espandere la sottosezione Software Settings. Cliccare poi col pulsante destro del mouse sulla voce Software Installation ed aprire la voce New e poi su Package.
- Quando la finestra File Open si apre, localizzare il pacchetto MSI da associare alla Group Policy, premere poi il pulsante Open per confermare l'inserimento.
- All'interno della finestra Deploy Software selezionare il metodo con cui si vuole rilasciare il software, ovvero se lo si vuole Assegnare o Pubblicare. Prmere OK per confermare la scelta fatta. L'opzione Avanced Published or Assigned consente di specificare delle opzioni avanzate relative al rilascio del pacchetto MSI.
- Cliccando sul pulsante Advanced si possono sfruttare le seguenti opzioni:
- Ignore Language When Deploying This Package. Se selezionata, consente d'installare il pacchetto MSI anche se l'applicativo che contiene è in una lingua diversa da quella del sistema operativo.
- Remove Previous Installs Of This Product From (Users/Computers) If Product Was Not Installed By Group Policy-Based Software Installation. Consente di rimuovere una precedente installazione del programma contenuto nel pacchetto MSI eseguita senza l'ausilio dei Group Policy Object.
- Compilare la sezione File Extensions se si è deciso di pubblicare il pacchetto MSI.
- Compilare anche la sezione Categories se si vuole che il porgramma, all'interno del menu Add/Remove Program appartenga ad una categoria ben specifica.
- Confermare l'assegnazione della Gorup Policy premendo il pulsante OK.
Se si desidera modificare il comportamento di default di un pacchetto MSI, bisogna creare tanti file MST quante sono le modifiche d'apportare. I file MST prendono anche il nome di trasform. Le modifiche vanno applicate al pacchetto MSI che si desidera rilasciare, prima che questi venga messo in distribuzione tramite Group Policy Object. Per applicare le modifiche contenute nei file MST basta procedere come segue:
- Aprire la Group Policy Snap-In.
- O nella sezione Computer Configuration o nella sezione User Configuration aprire la voce Software Settings.
- Cliccare col pulsante destro del mouse sopra Software Installation, selezionare poi New ed infine Package.
- Nel campo File Name nella finestra Open, inserire il nome del pacchetto MSI che si desidera pubblicare. Premere il pulsante Open per confermare la selezione del file.
- Nella finestra Deploy Software selezionare la voce Advanced Published Or Assigned. Premere OK per confermare.
- Nella finestra contenente le Properties del pacchetto, andare nella sezione Modifications.
- Tramite il pulsante Add si possono aggiungere i file MST contenenti le modifiche d'apportare al pacchetto MSI. I file MST vengono eseguiti dall'alto verso il basso, nell'ordine con cui compaiono nella finestra Modifications.
- Per cancellare un file MST dalla lista si può utilizzare il comando Remove.
- Per modificare l'ordine con cui i file MST sono elencati all'interno della finestra Modifications, si possono utilizzare i pulsanti Move Up e Move Down.
Come abbiamo visto, quando si distribuisce un pacchetto MSI, risulta possibile specificare:
- A quale estensione di file l'applicazione contenuta nel pacchetto MSI deve essere applicata.
- A quale Categoria l'applicazione contenuta nel pacchetto MSI deve appartenere, all'interno del programma Add/Remove Programs del Control Panel.
Per poter specificare queste informazioni bisogna prima arricchire le informazioni contenute nella sezione Software Installation. Per aggiungere queste informazioni basta procedere come indicato di seguito:
- Aprire il Group Policy Snap-In.
- O nella sezione Computer Configuration o nella sezione User Configuration aprire la voce Software Settings.
- Cliccare col pulsante destro del mouse sopra Software Installation, selezionare poi Properties.
- Nella sezione File Extensions si possono specificare a quali estensioni di file devono corrispondere gli applicativi contenuti nei pacchetto MSI.
- Nella sezione Categories si possono specificare le categorie a cui le applicazioni contenute nel pacchetto MSI devono rimanere associate. Si ricordi che le categorie qui definiti varranno per l'intero dominio di Active Directory: non risulta possibile definire categorie per Oraganizational Unit.
- Quando terminato d'inserire tutti i dati, premere il pulsante OK per confermare e uscire.
Come applicare una patch ad un pacchetto MSI
Talvolta, all'interno del ciclo di vita di un pacchetto MSI, si rende necessario applicarvi delle patch, ovvero degli aggiornamenti in grado di mettere a posto delle lacune del programma presente all'interno del pacchetto MSI. Le patch di un pacchetto MSI sono contenute all'interno di un file avente estensione MSP. Per applicare questi pacchetti patch ad un pacchetto MSI si deve utilizzare un apposito programma chiamato MSIExec.exe. La sintassi con cui eseguire il programma è la seguente:
msiexec /a <NomePacchetto.msi> /p <NomePacchetto.msp>
Una volta aggiornato il pacchetto MSI bisogna provvedere a ridistribuirlo utilizzando la sua Group Policy Object originaria, se questa è attiva, altrimenti si dovrà provvedere a metterne in piedi un'altra. Per maggiori informazioni si può consultare la Knowledge Base: KB226936. Per maggiori informazioni sul comando MSIExec.exe si può consultare la Knowledge Base: KB227091.
Come distribuire una nuova versione di un pacchetto MSI
Nel corso della vita di un applicativo, si può presentare il momento dell'uscita di una sua nuova versione. Per poter aggiornare un'applicativo, precedentemente distribuito tramite Group Policy Object, con un altro pacchetto MSI contenente la nuova versione del pacchetto, bisogna procedere come riportato di seguito:
- Aprire il Group Policy Snap-In.
- Andare o nella sezione Computer Configuration o User Configuration.
- Aprire la sezione Software Settings e poi quella Software Installation.
- Cliccare col pulsante destro del mouse sul pacchetto MSI contenente la versione aggiornata dell'applicativo e selezionare la voce Properties.
- Entrare nella sezione Updgrade. Tramite il pulsante Add inserire l'elenco delle GPO che contengono pacchetti MSI contenenti la vecchia versione dell'applicativo.
- All'interno della finestra Add Upgrade Package selezionare una delle seguenti opzioni:
- Current Group Policy Object.
- A specific GPO. In questo caso bisogna ricorrere al pulsante Browse per selezionare le GPO d'aggiornare.
- Cliccare sul nome di una della GPO d'aggiornare.
- Selezionare una delle seguenti opzioni:
- Uninstall the Existing Package, then Install the Upgrade Package. Se si desidera rimuovere la vecchia versione dell'applicativo e poi installarne la nuova versione.
- Package Can Upgrade over the Exisitng Package. Se si vuole aggiornare la versione attualmente installata dell'applicativo con quella nuova. In questo caso vengono conservati le User's Application Preferences e i Document Type Associations.
- Selezionare la voce Required Upgrade for Existing Packages se si vuole che l'aggiornamento venga pubblicato in Add/Remove Programs.
- Premere Ok per confermare le scelte fatte ed uscire.
Rimozione del Software
Si possono rimuove, tramite Group Policy Object, solamente quelle applicazioni che sono state installate utilizzando il servizio Windows Installer. Esistono due metodi per rimuovere le applicazioni installate:
- Forced Removal. L'applicazione viene rimossa automaticamente o al primo avvio del computer, se l'applicazione era stata assegnata ad un computer, o al primo logon alla rete dell'utente, se l'applicazione era stata assegnata ad un utente. In ogni modo, l'applicazione viene tolta prima che appaia il Desktop.
- Optional Removal. L'applicazione viene rimossa dal menu Add/remove Programs ma non dal Desktop dell'utente. Per cui gli utenti che non avevano installato l'applicazione non potranno più installarla, gli utenti che invece avevano installato l'applicazione continueranno ad utilizzarla, ma se per qualche motivo la dovesser disintallare, non protranno più tornare ad installarla.
Per mettere in pratica uno o l'altro dei due scenari sopra citati, si deve procedere nel seguente modo:
- Aprire la Group Policy Snap-In. Entrare o nella sezione Computer Configuration o in quella User Configuration.
- Aprire la voce Software Settings ed entrare nella sezione Software Installation.
- Cliccare col pulsante destro del mouse sul pacchetto MSI che si desidera rimuovere. Dal menu selezionare la voce All Tasks e poi cliccare su Remove.
- All'interno della finestra Remove Software selezionare una delle seguenti voci:
- Immediately Uninstall the Software from Users and Computers. Selezionare questa opzione per indicare che l'applicazione venga rimossa la prossima volta che un utente fa log on o riavvia la macchina.
- Allow Users to Continue to use the Software, but Prevent New Installation. Selezionare questa opzione per consentire agli utenti di continuare ad usare l'applicazione. Se gli utenti non hanno mai installato l'applicazione oppure la hanno rimossa, allora non avranno più l'opportunità di tornarla ad installare.
- Premere il pulsante Ok per confermare le scelte effettuate.
Comandi Utili
Il comando più utile nella gestione dei pacchetti MSI è il comando MSIExec.exe. Per maggiori informazioni sulle opzioni disponibili per questo comando si può consultare la Knowledge Base: KB227091.
1.11 Remote Installation Services
Il servizio Remote Installation Services, o più brevemente RIS, permette la distribuzione all'interno di una rete ben organizzata (chiariremo meglio il concetto di rete ben organizzata nei paragrafi successivi), d'immaggini o d'installazioni automatiche di Windwos 2000 Professional. Il RIS permette di automatizzare e distribuire solamente immagini o installazioni automatiche di Windows 2000. A differenza delle installazioni remote che si basano sul lancio del comando WinNT.exe, le installazioni via RIS non richiedono la conoscenza dell'ubicazione dei file d'installazione o la conoscenza dei parametri d'installazione. L'installazione avviene in modo del tutto automatico.
Requisiti per Attivare RIS
Il RIS può venire instalalto solamente sui Server che appartengono ad un dominio Active Directory. In particolare può venire installato sui server che svolgono il ruolo di Domain Controler. Il servizio RIS può venire tranquillamente installato ricorrendo alla sezione del Control Panel chiamata Add/Remove Programs, cliccando sul pulsante Add/Remove Windows Components e selezionando infine Remote Installation Services. Una volta installato, per poter funzionare, il RIS ha bisogno dei seguenti servizi di rete:
- DHCP Server Services. Il server che eorga il servizio DHCP deve essere stato autorizzato in Active Directory.
- Active Directory
- DNS Server Services. Il server che eroga il servizio DNS deve supportare i SRV Resource Records.
Dal punto di vista logico l'architettura su cui si basa il RIS prevede la presenza di:
- RIS Server. Viene chiamto in questo modo, un server di un dominio Active Directory in cui è stato installato il servizio RIS. Una volta che il serivio RIS è stato attivato, il RIS Server contiene tutto il necessario per eseguire le installazioni automatiche di Windows 2000 Professional sulle macchine remote.
- RIS Client. Ovvero una macchine autorizzata a dialogare col RIS Server sulla quale verrà installato Windows 2000 Professional in modo automatico. Il RIS Client dovrà avere un BIOS in grado di supportare il PXE boot ROM version 0.99c o superiore. I RIS Client si comportano come BOOTP Client.
- Images. Sono le immagini con le quali il RIS esegue le installazioni automatiche. Le
immagini che utilizza il RIS sono di due tipi:
- CDROM-Based. Sono immagini create a partire dal cdrom di Windows 2000 Professional.
Per creare queste immagini si utilizza il comando RISetup.exe. Se si desidera aggiornare
un'immagine CDROM-Based all'ultima Service Pack disponibile si deve procedere
nel seguente modo:
- Si applica l'ultima Service Pack disponibile alla cartella contenente la
cartella i386 di Windows 2000 Professional, ricorrendo al comando della
Service Pack:
update -s:<PercorsoCartellaInstallazione>
- Si crea una nuova immagine CDROM-Based utilizzando il comando RISetup.exe.
- Si applica l'ultima Service Pack disponibile alla cartella contenente la
cartella i386 di Windows 2000 Professional, ricorrendo al comando della
Service Pack:
- RIPrep-Based. Sono immagini create ricorrendo all'utility RIPrep.exe. Per creare
queste immagini si realizza una macchina di riferimento in cui s'installano tutti gli applicativi
che dovranno venire installati nelle macchine client. Facendo uso del comando RIPrep.exe si
procede poi a creare l'immagine RIPrep-Based. Per poter creare queste immagini, però,
bisogna che prima si sia provveduto a creare un'immagine CDROM-Based della
stessa versione di Service Pack installata sulla macchina di riferimento. Ogni qual volta si
desidera aggiornare un'immagine RIPrep-Based all'utlima Service Pack disponibile,
bisogna:
- Aggiornare l'immmagine CDROM-Based all'utlima Service Pack disponibile.
- Aggiornare la macchina di riferimento all'utlima Service Pack disponibile.
- Creare una nuova immagine RIPrep-Based della macchina di riferimento.
- CDROM-Based. Sono immagini create a partire dal cdrom di Windows 2000 Professional.
Per creare queste immagini si utilizza il comando RISetup.exe. Se si desidera aggiornare
un'immagine CDROM-Based all'ultima Service Pack disponibile si deve procedere
nel seguente modo:
Caratteristiche di un RIS Server
Un server di un dominio di Active Directory può aspirare a diventare un RIS Server solamente se sono soddisfatti alcuni vincoli hardware. In particolare il server deve garatire uno spazio disco adeguato alle immagini che utilizza il servizio RIS durante le sue installazioni automatiche. Ovvero:
- Il server deve appartenere ad un dominio Active Directory.
- Il server deve avere almeno due partizioni.
- Una delle due partizioni non deve ricoprire i ruoli ne di Boot Partition ne di System Partition.
- La partizione che non svolge il ruolo di Boot Partition e di System Partition deve essere formatta come NTFS.
- Le partizioni devono avere almeno 2GB di spazio disco disponibile.
La partizione che non svolge il ruolo di Boot Partition e di System Partition, è quella che ospiterà le immagini che utilizzerà il servizio RIS durante le sue installazioni automatiche. Questa partizione, che per brevità chiameremo Images Partition, dovrà ospitare tante immagini quante sono le tipologie d'installazione che dovrà svolgere il RIS Server. La restante partizione ospiterà il sistema operativo del server, che potrà essere Windows 2000 Server, Windows 2000 Advanced Server o Windows 2000 Data Center.
La Cartella in cui verrano inserite le immagini utilizzate dal RIS dovrà presentare le seguenti caratteristiche:
- Non può essere una Distributed File System Shared Folder.
- Non può essere criptata col Encrypting File System.
Attivazione di un RIS Server
Una volta installato il servizio RIS, questi non è ancora attivo, ovvero non è in grado di erogare alcun servizio. Per attivare il servizio RIS bisogna:
- Configurare il servizio RIS.
- Aurtorizzare il RIS Server in Active Directory.
Configurazione del Servizio RIS
Per configurare il servizio RIS, Windows 2000 mette a disposizione un como wizard chiamato Remote Installation Service Setup Wizard. Per lanciare questo wizard è sufficiente eseguire il comando RISetup.exe. Per configurare il servizio RIS bisogna impostare le seguenti sezioni del wizard:
- Remote Installation Folder Location.
- Initial Settings.
- Installation Source Files Location.
- Windows Instalaltion Image Folder Name.
- Friendly Description and Help Text.
Una volta che il servizio RIS è stato configurato si può procedere con l'autorizzazione del RIS Server.
Autorizzazione di RIS Server
Affinchè un RIS Server possa erogare il suo servizio ai RIS Client, questi deve venire preventivamente autorizzato in Active Directory. Per autorizzare un RIS Server ci vuole un utente che appartenga al gruppo degli Enterprise Admins. La procedura da seguire è identica a quelle che s'impiega per autorizzare un DHCP Server (per maggiori informazioni si veda il paragrafo Autorizzare un server DHCP).
1.12 Service Pack
Le Service Pack sono una collezzione di hotfix che eliminano delle vulnerabilità intrinseche nel codice del sistema operativo. A differenza delle Service Pack di Windows NT quelle di Windows 2000 installano tutti i file aggiornati di modo che, se si decide d'installare un componente di Windows aggiuntivo, come ad esempio Internet Information Server, questi viene installato utilizzando tutti i file aggiornati dalla Service Pack relativi ad IIS.
Come funziona una Service Pack
Le Service Pack possono venire installate ricorrendo al comando Update.exe. Il compito di questo comando è quello di:
- Copiare la versione aggiornata (ovvero quella contenuta nella Service Pack) dei seguenti file:
- Layout.inf. Questo file contiene le informazioni necessarie per installare i file contenuti nella Service Pack. In particolare contiene l'elenco dei file che devono venire prelevati dalla cartella i386 di Windows 2000 e dalla Service Pack.
- Dosnet.inf
- TxtSetup.inf
- DrvIndex.inf. Questo file contiene informazioni sui driver contenuti in Driver.cab e SP<X>.cab (Dove la <X> corrisponde alla versione della Service Pack). Il file SP<X>.cab contiene la versione aggiornata dei driver. Il file SP<X>.cab viene copiato nella cartella %SystemRoot%\driver cache\i386.
- Copiare la versione aggiornata dei driver. I driver aggiornati si trovano all'interno dei Cabinet File che hanno estensione .cab.
Per applicare una Service pack è necessario avere a disposizione una certa quantità di spazio disco:
- Spazio occupato da una Service Pack compressa: 20MB circa
- Spazio occupato da una Service Pack scompressa: 215MB circa
- Spazio occupato dal processo d'installazione: 80MB
- Spazio occupato dai file archiviati per poter disinstallare la Service Pack: 315MB circa
Pertanto, aseconda che si decida di archiviare o meno i file che verranno rimpiazzati dalla Service Pack, lo spazio richiesto per installare la Service Pack va da un minimo di 280MB ad un massimo di 835MB circa.
Il comando Update.exe
Per installare una Service Pack si deve utilizzare il comando Update.exe. Questo comando consente le seguenti opzioni:
- -u: Viene utilizzata un'installazione completamente unattended.
- -f: Forza le applicazioni a chiudersi prima di eseguire il reboot della macchina.
- -n: Non vengono archiviati i file per poter disinstallare la Service Pack.
- -o: Sovrascrive i file OEM senza chiedere prima conferma.
- -z: Non riavvia il computer al termine dell'installazione della Service Pack.
- -q: Viene utilizzata una quite installation
- -s:FolderPath/FileName: Viene utilizzata un'installazione integrata prendendo i file da un Distribution Server
Se si utilizzano contemporaneamente gli switch -u e -q, il comportamento del file Update.exe è quello di non aggiornare i file OEM, se si desidera pertanto aggiornare anche questi file, bisogna utilizzare anche lo switch -o.
Per installazione integrata s'intende un'installazione del Sistema Operativo in cui la cartella i386 è stata aggiornata con la Service Pack.
Come integrare una Service Pack all'interno della cartella i386
Se non si dispone di una cartella i386 integrata con l'ultima Service Pack di Windows 2000, se ne può creare una a patto di possedere una cartella i386 originale o già integrata con service pack precedenti. L'operazione d'integrazione di una cartella i386 con l'ultima Service Pack, prende il nome di Slipstreaming. Per realizzare questa cartella i386 basta procedere come indicato di seguito (nel corso della spiegazione che segue supporremo che la cartella i386 da integrare sia all'interno del seguente percorso C:\Install\i386):
- Collegarsi come amministratori del server in cui si vuole creare la cartella i386 integrata con l'ultima service pack.
- Assicurarsi che solamente gli amministratori abbiano i permessi di Full Controll alla cartella i386. Per tutti gli altri utenti è sufficiente che abbiano i permessi di read and execute.
- Copiare il file autoscompattante della service pack, W2kspX.exe (dove X indica la versione della service pack), all'interno di una cartella temporanea, ad esempio C:\Temp\Sp\.
- Scompattare la service pack utilizzando la seguente procedura:
- Cliccare su Start, selezionare Run.
- Inserire nel campo di testo il comando cmd.exe
- Alla comparsa della command prompt digitare i seguenti comandi
nell'ordine riportato:
cd C:\Temp\Sp
w2kspX.exe /x
All'interno del campo Choose directory for extracted files inserire il percorso in cui si desidera scompattare il contenuto della service pack, ad esempio C:\Install\Sp. - Lasciate la command prompt aperta.
- Applicare la service pack al contenuto della cartella i386 che
si vuole aggiornare. Supponendo che la cartella i386 si trovi all'interno
del percorso C:\Install\i386, digitare alla command prompt
aperta al punto precedente il seguente comando:
C:\Install\Sp\i386\Update\Update.exe -s:C:\Install\
È possibile controllare l'esito del comando digitato sopra, andando a controllare il file Svcpack.log che si trova all'interno della cartella definita nella variabile d'ambiente SystemRoot. - Chiudere la command prompt. Se lo si desidera condividere la cartella C:\Install per rendere disponibile ad altri server la cartella i386 appena aggiornata. In alternativa si può creare un nuovo cd d'installazione di Windows 2000 con la Service Pack in bundle.
La cartella i386 appena creata contiene tutte gli aggiornamenti riguardanti la service pack. È possibile avere ulteriori informazioni andando a leggere il documento Windows 2000 Service Pack X Installation and Deployment Guide (dove X indica la versione della service pack).
Come eseguire l'installazione di una Service Pack via GPO
La Microsoft, nel rilasciare le varie Service Pack di Windows 2000 (o superiori) mette a disposizione degli amministratori del sistema anche un pacchetto MSI che consente la distribuzione delle Service Pack via Group Policy Object. Per distribuire una Service Pack tramite Group Policy Object si può procedere come segue:
- Copiare il file autoscompattante della service pack, W2kspX.exe (dove X indica la versione della service pack), all'interno di una cartella temporanea, ad esempio C:\Temp\Sp\.
- Scompattare la service pack utilizzando la seguente procedura:
- Cliccare su Start, selezionare Run.
- Inserire nel campo di testo il comando cmd.exe
- Alla comparsa della command prompt digitare i seguenti comandi
nell'ordine riportato:
cd C:\Temp\Sp
w2kspX.exe /x
All'interno del campo Choose directory for extracted files inserire il percorso in cui si desidera scompattare il contenuto della service pack, ad esempio C:\Install\Sp. - Lasciate la command prompt aperta.
- Aprire Windows Explorer ed andare nella cartella che contiene la cartella in cui è stata estratta la Service Pack (nel nostro esempio è la cartella C:\Install).
- Cliccare col pulsante destro del mouse sopra la cartella contenente la Service Pack estratta (nel nostro esempio
si tratta della cartella Sp). Dal che menu che compare selezionare la voce Sharing per
condividere la cartella. Bisogna condividere la cartella assicurandosi che siano soddisfatte le seguenti
condizioni:
- Assegnare un nome singnificativo alla condivisione della cartella (ad esempio si potrebbe chiamare la cartella col nome W2KSpX$).
- Assicurasi che i permessi della cartella garantiscano che:
- Gli Admministratori di sistema devono avere i permessi di Full Control sulla cartella.
- Il gruppo Everyone, per motivi di sicurezza, conviene che venga rimosso.
- Gli Authenticated Users devono avere i permessi di Read sulla cartella.
- Aprire il menu Administrative Tools e selezionare la voce Active Directory Users and Computers.
- Cliccare col pulsante destro del mouse sopra il nome del Active Directory Domain e selezionare dal menu contestuale la voce Properties.
- Andare nella sezione Group Policy, scegliere se si desidera creare un nuovo Group Policy Object tramite il pulsante New oppure editare, tramite il pulsante Edit, un Group Policy Object già esistente.
- Aprire prima la sezione Computer Configuration, poi quella Software Settings.
- Cliccare col pulsante destro del mouse sopra la sezione Software Installation e selezionare prima dal menu la voce New poi quella Package.
- All'interno della finestra Open, facendo uso del pulsante Browse andare ad aprire la share della cartella in cui è stata scompattata la Service Pack, selezionare poi la cartella Update ed infine selezionare il file Update.msi. Cliccare sul pulsante Open per confermare la scelta.
- All'interno della finestra Deploy Software selezionare la voce Assigned.
- Cliccare su Ok per provvedere a creare o modificare la GPO che avrà il compito di distribuire la Service Pack.
A questo punto non resta che testare l'efficacia della distribuzione della Service Pack via GPO eseguendo alcune installazioni di prova. Una volta concluso che non ci sono problemi si può procedere con la distribuzione su tutte le macchine del dominio di Active Direcotry della nuova Service Pack.
Disinstallare una Service Pack
Per disinstallare una Service Pack si può utilizare uno degli strumenti seguenti:
- Add/Remove Programs che si trova all'interno del Control Panel.
- Il comando SPUninst.exe a corredo della Service Pack.
Una Service Pack non può venire disinstallata quando:
- Si è utilizzata un'installazione in cui la Service Pack era integrata nella cartella i386.
- Non si è selezionata l'opzione di Automatic Backup dei vecchi file di sistema aggiornati dalla Service Pack. In questo caso viene creata la cartella %SystemRoot%\$NTServicePackUninstall$.
- Si sono installate delle applicazioni succesivamente all'applicazione della Service Pack.
Se si tenta di disinstallare la Service Pack dopo che si è deciso d'installare ulteriori componenti di Windows o programmi successivamente all'applicazione della Service Pack, si rischia di compromettere il corretto funzionamento di questi componenti e programmi.
1.13 Auditing e Sicurezza
Per avere informazioni sulle più recenti vulnerabilità e virus, consultare il sito del CERT. Per avere informazioni su come analizzare le impostazioni locali sulla sicurezza di un computer si può consultare la Knowledge Base: KB313203. Per sapere quali fix applicare per mettere a posto i bug di Windows 2000, si può utilizzare il tool Microsoft Baseline Security Analyzer (MBSA), per avere maggiori informazioni su questo tool si può consultare la Knowledge Base KB303215.
Event Viewer
All'interno dell'Event Viewer si possono avere le seguenti sezioni:
- Application log: vengono registrati gli eventi generati dalle applicazioni installate in un computer come ad esempio Microsoft Exchange Server, Microsoft SQL Server ...
- Security log: vengono registrati gli eventi di auditing.
- System log: vengono registrati gli eventi generati dal sistema operativo.
- Directory Service log: vengono registrati gli eventi relativi ad Active Directory. Questa sezione è presente solamente sui Domain Controller.
- File Replication Services log: vengono registrati gli eventi legati alla replicazione dei file, come ad esempio la replica delle Group Policy. Questa sezione è presente solamente sui Domain Controller.
- DNS server log: vengono registrati gli eventi generati dal servizio DNS. Questa sezione compare solamente sui server che hanno installatato il servizio DNS.
Le sezioni Application log, Security log e System log costituiscono le sezione di default che si ottengono quando s'installa Windows 2000. Le sezioni Directory Service log e File Replication Services log vengono create quando si promuove un server Windows 2000 a Domain Server. La sezione DNS server log viene creata un server Windows 2000 diventa un Name Server.
Gli eventi registrati nelle sezioni Application e System possono essere visti da tutti gli utenti. Un evento è composto da tre sezioni:
- Intestazione (Header)
- Descrizione (Description)
- Dati addizionali (Additional Data). Questa sezione è opzionale, tipicamente negli eventi che riguardano la sicurezza questa sezione non compare.
Windows File Protection
Nativamente Windows 2000 server e Professional, insieme a Windows XP Professional, hanno un sistema di protezione dei file di sistema (ad esempio i file con estensione *.exe, *.ocx, *.sys e *.dll) che li mette al riparo da eventuali manipolazioni, alterazioni, modifiche o sostituzioni. Questo sistema di protezione, denominato Windows File Protection (WFP) viene gestito in automatico dal sistemo operativo ed è attivo di default. Dal punto di vista amministrativo, il WFP mette a disposizione due tool che si prefiggono i seguenti obiettivi:
- Aggiornare la cache dei file di sistema che sono stati installati in modalità sicura.
- Verificare se i file di sistema che si sono installati sono certificati o meno.
Il primo obbietto viene raggiunto facendo uso del comando Sfc.exe, dove l'acronimo SFC sta per System File Checker. In seguito ad un bug in Windows 2000, il comando Sfc.exe può venire lanciato in modo estemporaneo solamente se si provveduto in precedenza ad installare la Service Pack 4, altrimenti tutti gli aggiornamenti introdotti dalle HotFix applicate vengono persi all'atto dell'esecuzione del comando Sfc.exe /scannow; per maggiori informazioni si può consultare la Knowledge Base KB814510. Per un corretto funzionamento il comando Sfc.exe va lanciato direttamente sulla macchina di cui si desidera aggironare la cache di sistema. La cache dei file di sistema viene conservata, di default, all'interno della cartella %systemroot%\system32\dllcache. L'utilizzo del comando Sfc.exe prevede la presenza di una fonte dati sicura per aggiornare la cache dei file di sistema (ovvero la cartella %systemroot%\system32\dllcache), come ad esempio il cdrom originale del sistema operativo oppure quello dell'ultima Service Pack installata. Il comando Sfc.exe presenta le seguenti opzioni:
- /scannow: esegue immediatamente una scansione completa su tutti i file protetti dal sistema operativo.
- /scanonce: esegue una scansione completa su tutti i file protetti dal sistema operativo al primo reboot della macchina.
- /scanboot: esegue una scansione completa su tutti i file protetti dal sistema operativo ogni qual volta la macchina esegue un reboot.
- /cancel: cancella tutte le scansioni che sono in attesa di essere eseguite.
- /quiet: sostituisce tutti i file non corretti del sistema operativo senza chiedere prima conferma all'utente.
- /enable: ripristina i valori di default del Windows File Protection.
- /purgecache: pulisce la cache ed esegue immediatamente una scansione completa su tutti i file protetti dal sistema operativo.
- /cachesize=<ValoreNumerico>: imposta la dimensione della cache.
Il secondo obiettivo può essere raggiunto utilizzando il comando SigVerif.exe. Se si seleziona l'opzione Look For Other Files That Are Not Digitally Signed allora si possono controllare anche file che non fanno parte dei file di sistema.
Per aggiornare i file di sistema sono possibili solamente i seguenti metodi:
- Installazione di una Windows Service Pack tramite il comando Update.exe
- Installazioni di HotFix facendo uso dei comandi HotFix.exe o Update.exe
- Aggiornamento del sistema operativo col comando WinNT32.exe
- Aggiornamento tramite Windows Update
Questi metodi provvedono ad aggiornare in modo automatico la cartella DLLCache con la versioni aggiornata dei file di sistema installati. Se si utilizzano metodi diversi da quelli indicati, il WFP provvede a mantenere inalterati i file di sistema, cioè se per qualche motivo uno o più file di sistema vengono sostituiti o cancellati, il WFP provvede a ripristinare la versione di tali file indicata all'interno della cartella DLLCache.
Il comando SecEdit.exe permette invece d'impostare, configurare ed analizzare i templete di sicurezza (Security Template) dalla riga di comando.
Auditing
Sebbene non impostati di default, i sistemi Windows 2000 e superiori mettono a disposizione degli amministratori di rete, tutta una serie di opzioni per monitorare le varie attività che possono essere svolte su di un server. In particolare conviene monitorare i seguenti eventi:
- Failure Audit Logon/Logoff. Serve per evitare i Random Password Hack.
- Success Audit Logon/Logoff. Serve per evitare gli Stolen Password Break-In.
- Success Audit Directory Service Access. Tiene sotto controllo l'accesso agli oggetti del database di Active Directory (NTDS.dlt). Una volta abilitato questo controllo bisogna poi specificare quali sono gli oggetti di Active Directory da monitorare e soprattutto che cosa monitorare.
- Success and Failure Audit Privilege Use. Monitorizza l'utilizzo, da parte degli utenti, dei propri privilegi, in particolare controlla i tentativi andati a buon fine o meno di prendere l'ownership di un file.
- Success and Failure Audit Object Access. Controlla che non si verifichino accessi improri ai file, alle stampanti e al registry. Vale la pena ricordare che si possono monitorare solamente i file che appartengono a partizioni formatatte NTFS e che una volta abilitato questo processo di controllo bisogna poi specificare quali utenti o gruppi e file devono venire monitorati.
- Success and Failure Write Access Auditing for Program Files e Success and Failure Auditing for Process Tracking. Segnala eventuali comportamenti anomali da parte dei programmi installati localmente sulla macchina. Aiuta nell'individuare l'eventuale presenza di virus.
Più in generale, i Group Policy Object consentono di monitorare i seguenti eventi:
- Account Logon Events. Controlla le richieste di validazione degli utenti e dei computers che arrivano ad
un Domain Controller. Più in generale viene monitorato tutto il processo di autenticazione
di un utente o di un computer in Active Directory. Gli eventi vengono registrati nel Security Log.
Fra gli eventi che appartengono a questa categoria ricordiamo:
- Service Ticket Granted Service (TGS) ticket was granted Evento 673, Success Audit
- Session disconnected from winstation: <NomeWorkstation> Evento 683, Success Audit
- Account Management. Controlla la gestione degli utenti e dei gruppi. In particolore permette
di tenere sotto controllo il comportamento di un amministratore quando:
- Crea, modifica o cancella una user account o un gruppo.
- Rinomina, abilita o disabilita una user account.
- Imposta una nuova password o modifica una password esistente.
- Directory Services Access. Monitorizza gli accessi agli oggetti di Active Directory. Per poter registrare questi eventi, però, bisogna opportunamente configurare gli oggetti di Active Directory che si desidera controllare. In particolare bisogna specificare quali sono le azioni degli utenti o i gruppi che bisogna tenere sotto controllo. L'insieme delle azioni degli utenti o i gruppi che si è deciso di monitorare costituisce la System Access Control List (SACL) dei Directory Service Access.
- Logon Events. Controlla tutta la fase di Log On o Log Off da parte di un utente
ad una data macchina o in modo interativo o via rete. Permette inoltre di sapere
se un utente si connette o si disconette da una risorsa di rete. I Logon Events vengono
registrati nel Security Log locale della macchina in cui l'evento ha avuto luogo. Chi si preoccupa
di registare l'evento è il Local Security Authority (LSA). Compito del LSA è anche
quello di fornire un Access Token all'utente che accede alla rete (Log On). All'interno
del Access Token sono contenuti:
- il Security Identifier (SID) dello user account e di tutti i gruppi a cui l'account utente appartiene;
- tutte le informazioni relative ai diritti di cui gode l'utente e i gruppi a cui l'utente appartiene.
- The specific account's password has expired Evento 535, Failure Audit
- The NetLogon component is not active Evento 536, Failure Audit
- Session disconnected from winstation: <NomeWorkstation> Evento 683, Success Audit
- Object Access. Permette di tenere sotto controllo gli accessi a File, Cartelle e Stampanti. Inoltre consente di monitorare l'accesso al registry di Windows 2000. Per poter controllare tutte queste entità, ciascuna di esse deve essere prima abilitata opportunamente. Vale la pena ricordare che si possono monitorare solamente i file che appartengono a partizioni formatatte NTFS. In particolare bisogna specificare quali sono i file, le cartelle o le stampanti che si desidera monitorare. Oltre che specificare i file, le cartelle e le stampanti che si devono tenere sotto controllo, bisogna pure specificare quali sono gli utenti o i gruppi che vanno monitorari. L'insieme delle azioni degli utenti e gruppi che devono essere registate, costituisce la System Access Control List (SACL) degli Object Access. Per avere maggiori informazioni su come monitorare l'accesso al registry di Windows 2000, conviene leggere la seguente Knowledge Base: KB315416.
- Policy Change. Controlla se si verificano dei cambiamenti alle impostazioni sulla sicurezza
degli utenti, ai permessi degli utenti o alle Audit Policies. In particolare
vengono registrati eventi che riguardano l'Internet Protocol Security (IPSec),
Kerberos Policy e le relazioni di fiducia. Fra gli eventi che vengono registrati quando si
attiva questo tipo di controlli vi sono:
- User Right Assigned Evento 608, Success Audit
- IPSec policy agent started Evento 613, Success Audit
- Privilege Use. Monitorizza il comportamente degli utenti quando questi utilizzano uno dei loro
privilegi. In questo modo però vengono registrati tutti gli eventi legati all'uso di
uno dei possibili privilegi che un utente può possedere. In altri termini non si possono filtrare
i privilegi da monitorare. Vengono però esclusi dal controllo gli eventi legati al log on e
log off di un utente. Vista la notevole quantità di eventi registrati, bisogno utilizzare i
filtri dell'Event Viewer per poter ottenere le informazioni desiderate. Gli eventi vengono
registrati nel Security Log della macchina in cui gli eventi hanno avuto luogo.
Fra i vari eventi che possono venire registrati ricordiamo:
- Special privilages assigned to new logon: <UserName> Evento 576, Success Audit
- Privilaged Service Called Evento 577, Success Audit
- Privileged Object Operation Evento 578, Success Audit
- Proccess Tracking. Tiene sotto controllo le varie azioni che un programma svolge nel corso della sua esecuzione. Queste informazioni sono di solito utili solamente agli sviluppatori.
- System Events. Vengono monitorati tutti i System Process in esecuzione in una macchina.
In particolare viene controllato se un utente ha spento o riavviato una macchina oppure
compromesso la sicurezza di Windows 2000. Vengono poi registrati sotto questa categoria gli eventi legati
al Security log. Gli eventi legati a questa categoria vengono registrati nel Security Log della macchina
in cui gli eventi hanno avuto luogo.
Per avere un'idea di quali eventi appartengano a questa categoria citiamo:
- A trusted logon process has registered with the Local Security Authority Evento 515, Success Audit
- The audit log was cleared Evento 517, Success Audit
Gli eventi di auditing vengono registrati nel Security Log della macchina in cui gli eventi sono stati generati. I Group Policy Object che gesticono gli eventi di auditing devono venire applicate direttamente ai server in cui si trovano gli oggetti che s'intende monitorare. Le policy di auditing, infatti, non si applicano agli utenti bensì ai computer. Conviene, quindi, creare delle Organizational Unit in cui raggruppare tutti i server da monitorare e applicare i Group Policy Object a queste Organizational Unit.
In generale, quando si decide di attivare una auditing policy, conviene tenere sempre ben presente le seguenti regole:
- Determinare se si ha bisogno di tenere traccia degli sviluppi di utilizzo di una certa macchina o meno.
- Riguardare con regolarità i Security log.
- Definire un audit policy che sia gestibile e si limiti a registrare solamente gli eventi veramente significativi.
- Controllare l'accesso alle risorse per Everyone Group e non per Users Group. Questo per essere veramente sicuri di registrare tutti gli eventi e non solamente quelli che riguardano una certa classe di utenti.
Per avere informazioni sulle impostazioni relative alla sicurezza che sono state realizzate su una macchina, si può consultare la Knowledge Base: KB318711.
Per maggiori informazioni sugli eventi riguardanti la sicurezza che vengono registrati nel Security Log del Event Viewer, si possono consultare i seguenti documenti: Windows 2000 Security Event Descriptions (Part 1 of 2) e Windows 2000 Security Event Descriptions (Part 2 of 2)
Permessi per creare un Audit Policy
Per poter creare una Audit Policy bisogna godere dei seguenti privilegi:
- Bisogna avere il privilegio di Manage Auditing And Security Log. Di default questo privilegio è garantito a tutti i membri del gruppo Administrators.
- I file e cartelle che si desidera monitorare devono essere su partizioni formattata con NTFS.
Come creare un Audit Policy
Per creare un Audit Policy bisogna:
- Bisogna prima specificare, fra i vari eventi che mette a disposizone Windows 2000, quali si desidera controllare. Per avere un elenco degli eventi che si possono monitorare si può consultare il paragrafo Auditing.
- Se si decide di monitorare gli eventi legati ai:
- Directory Service Access
- Object Access
Se il computer non è un Domain Controller:
- Aprire la Microsoft Management Console (MMC).
- Aggiungere alla MMC la Group Policy Snap-In.
- Se si desidera creare la Audit Policy localmente, lasciare impostato come Group Policy Object il valore Local Computer, altrimenti digiatre il nome del computer in cui si desidera attivare la Audit Policy.
- Entrare nella sezione Computer Configuration, Windows Settings, Security Settings, Local Policies ed infine aprire la sezione Audit Policy.
- Impostare gli eventi che si desidera monitorare.
- Una volta impostati gli eventi che si desidera monitorare chiudere la MMC. Al successivo riavvio della macchina verrano prese le impostazioni adottate.
In alternativa a questo metodo, si può creare un Group Policy Object da applicare alla Organizational Unit a cui appartiene il computer. In questo modo tutti i computer che appartengono alla stessa Organizational Unit riceveranno le medesime impostazioni di auditing.
Per abilitare il monitoraggio di file e cartelle:
- Aprire Windows Explorer.
- Andare nella cartella che contiene i file o le cartelle da monitorare.
- Cliccare col pulsante destro del mouse sopra i nomi dei file o cartelle che si desidera monitorare. Dal menu contestuale che si apre, selezionare la voce Properties.
- Entrare nella sezione Security e cliccare sul pulsante Advanced.
- Aprire la sezione Auditing ed impostare gli eventi che si desidera monitorare. In questo modo si procede a creare la System Access Control List (SACL).
- Premere sempre OK per confermare le scelte effettuate.
Per monitorare un oggetto di Active Directory:
- Abilitare, tramite Group Policy Object il monitoraggio dei Directory Service Access.
- Aprire, utilizzando gli Administrative Tools, la Active Directory Users and Computers console.
- Aprire il menu View e selezionare la voce Advanced Features
- Cliccare col pulsante destro del mouse sull'oggetto di Active Directory che si desidera monitorare. Dal menu contestuale che si apre, selezionare la voce Properties.
- Entrare nella seziona Security. Cliccare poi sul pulsante Advanced.
- Aprire la sezione Auditing ed impostare gli eventi che si desidera monitorare. In questo modo si procede a creare la System Access Control List (SACL).
- Confermare le scelte effettuate premendo due volte OK.
- Chiudere la console Active Directory Users and Computers.
- Attendere i normali cicli di replicazione di Active Directory o digitare il comando:
secedit /refreshpolicy machine_policy
.
Parametri per il controllo dei Logon
La lettura dei log di logon e logoff consente di ottenere un gran numero di informazioni quando si utilizza IIS, SQL Server e COM+. La categoria degli eventi elencati è la stessa sia per Windows NT sia per Windows 2000. Gli eventi principali da monitorare sono:
- System Shutdown Evento 513 System Event
- Clearing of the Security Log Evento 517 System Event
- Logon Failure Evento 529 Logon/Logoff
- Logon Success Evento 528 Logon/Logoff
- Logon Lockout Evento 539 Logon/Logoff
- Network Logon Success Evento 540 Logon/Logoff
- Use of user right Evento 578 Privilege Use
- Logon Failure with Large Number for the Error Code Evento 681 Logon/Logoff
- Logon Failure Authentication Ticket Request Failed Evento 676 Logon/Logoff
Gli eventi 529, 528, 539 possono venire registrati o sul computer locale in cui si è tentato in logon, oppure su di un qualunque network resource server di cui si è tantato di condividere una risorsa, oppure su un Domain Controller. Gli eventi 675, 676, 677, in quanto sono legati al processi di failed authentication vengono registrati solamente in un Domain Controller.
Per poter registrare l'evento 513 bisogna abilitare l'auditing dei System Events.
Agli eventi 578 possono essere legati al Change of Ownership se all'interno dei dettagli degli eventi compare:
- Privileges: SeTakeOwnershipPrivilege
All'interno dei log relativi agli event viwer legati ai processi di Logon e Logoff, sono presenti alcune parole chiave che consentono d'inquadrare meglio la natura del Logon e del Logoff. In particolare:
- Logon Type: E' un valore numerico che sta ad indicare il tipo di logon tentato.
I valori possibili sono:
- 2 Logon interattivo.
- 3 Accesso al sistema via rete.
- 4 Collegamento avvenuto tramite l'esecuzione di un batch job.
- 5 Collegamento avvenuto da un Servizio di Windows lanciato dal Service Controller.
- 6 Proxy Logon (non utilizzato da Windwos NT e Windows 2000).
- 7 Sblocco di una workstation
- 8 Logon effettuato inviando in chiaro le credenziali (nome utente e passowrd) dell'utente.
- 9 Nuove Credenziali (utilizzato da Run As quando l'opzione /netonly è impostata).
- Logon Process: Si riferisce al processo che esegue il logon. Possibili esempi di processi sono:
- Advapi (intercettato da una chiamata a LogonUser, l'utente che esegue il logon chiama LsaLogonUser e uno degli argomenti di LsaLogonUser, OriginName, identifica l'origine del tentativo di logon).
- User32 (logon a Windows 2000 canonico utilizzando WinLogon)
- SCMgr (Service Control Manager ha avviato un servizio)
- KsecDD (connessione via rete ad un server SMB, per esempio quando si utilizza net use).
- Kerberos (il Kerberos Security Support Provider)
- NtlmSsp (il NTLM Security Support Provider)
- Seclogon (Logon Secondario, quello utilizzato col comando Run As)
- IIS (logon eseguito da IIS; generato quando ci si collega con l'account IUSR_MachineName o quando si utilizza la Digest o la Basic Authentication)
- Authentication Package: Il pacchetto di sicurezza che viene chiamato quando
si esegue un logon. Un pacchetto di sicurezza non è altro che una Dinamic-Link Library che
analizza i dati di logon (il principale) e determina se autenticare o meno un account.
Gli esempi più comuni di pacchetti di sicurezza sono:
- Kerberos
- Negotiate
- NTLM
- Microsoft_Authentication_Package_V1_0 (anche chiamato MSV1_0; utenti autenticati tramite il SAM database, supporto a pass-throught authentication di account in trusted domains e supporto a pacchetti di subautenticazione).
- Failure Code: E' un valore numerico che identifica con quale errore un Account Logon è
fallita. Valori possibili sono:
- 6 Il client non ha trovato il database Kerberos.
- 7 Il server non ha trovato il database Kerberos. Questo, di solito, indica che un Service Principal Name (SPN) non è stato registrato per il servizio.
- 23 La password è scaduta.
- 32 Il ticket è scaduto.
- 33 Il ticket non è ancora valido.
- 34 Tentativo di richiesta ripetuto. Qualcuno sta provando a richiedere dinuovo una risposta da un client Kerberos. Ci sono serie possibilità di essere sotto attacco!
- 37 Asincronia troppo grande. Il Kerberos dipende fortemente dal tempo, assicurarsi che gli orogoli dei vari server siano sincroni.
- Account Logon Error Codes: Di seguito riportiamo i codici d'errore che s'incontrano
più di frequente:
- 3221225572 (in esadecimale 0xC0000064) l'utente specificato non esiste.
- 3221225570 (in esadecimale 0xC0000062) il nome fornito non è un nome account propriamente formattato.
- 3221225569 (in esadecimale 0xC0000061) i privilegi richiesti non sono stati forniti dal client.
- 3221225578 (in esadecimale 0xC000006A) quando si cerca di cambiare una password, il valore fornito come password corrente non è corretto.
- 3221225580 (in esadecimale 0xC000006C) quando si cerca di cambiare una password, una o più regole delle password sono state violate (ad esempio la lunghezza minima di una password).
- 3221225585 (in esadecimale 0xC0000071) la password dell'utente è scaduta.
- 3221225586 (in esadecimale 0xC0000072) l'account referenziata è attualmente disabilitata.
Per maggiori informazioni sugli eventi riguardanti la sicurezza che vengono registrati nel Security Log del Event Viewer, si possono consultare i seguenti documenti: Windows 2000 Security Event Descriptions (Part 1 of 2) e Windows 2000 Security Event Descriptions (Part 2 of 2)
System Monitor
Sebbene il System Monitor sia uno strumento per tracciare l'utilizzo delle risorse di sistema, può venire anche utilizzato per monitorare alcuni aspetti legati alla sicurezza. In particolare tornano utili le seguenti informazioni:
- Server -> Errors Access Permission
- Server -> Errors Granted Access
- Server -> Errors Logon
- IIS Security
Strumenti di gestione delle ACL
Il Windows 2000 Server Resource Kit mette a disposizone alcuni utili tool dalla linea di comando in grado di manipolare le ACL presenti sul file system. In particolare:
- CACLs.exe: consente di visualizzare ed impostare le ACL di un file o di una cartella. Questo strumento è l'unico, di quelli elencati, che non fa parte del Resource Kit di Windows 2000 Server.
- PermCopy.exe: consente di copiare una cartella condivisa mantenedo invariati i permessi sia a livello di condivisione (Full Control, Change e Read) sia a livello di cartella (Full Control, Modify, Read & Execute, Read, Write, Trasverse Directory).
- ShowACLs.exe: mostra un elenco dettagliato dei permessi applicati ad un file o ad una cartella.
- SubInACL.exe: consente di ottenere informazioni sulla sicurezza di file, chiavi di registry, servizi e trasferire queste informazioni da utente a utente, da un gruppo locale o globale a un gruppo locale o globale e da un dominio ad un'altro dominio.
- SvcACLs.exe: consente d'impostare le ACL dei servizi, permettendo ad un amministratore di delegare il controllo di un servizio quando viene utilizzato il tool grafico di amministrazione dei servizi.
- XCACLs.exe: permette una gestione molto più fine del comando CACLs.exedelle ACL da impostare ad un file o ad una cartella.
1.14 Kerberos
Sino a Windows NT l'unico protocollo supportato dalla Microsoft per gestire l'autenticazione degli utenti era NTLM. Questo protocollo, però presenta alcune limitazioni che col tempo si sono rivelate assai fastidiose:
- Non è un protocollo particolarmente veloce e presenta un discreto carico di lavoro.
- Ciascuna richiesta di accesso da parte di un client ad un server, impone al server di contattare un domain controller, aumentando il carico di lavoro del server.
- Essendo un protocollo proprietario la sua adozione è stata molto limitata.
- Non viene fornito alcun strumento per delegare il processo di autenticazione.
- I server non sono in grado di autenticarsi verso altri server.
Per tutte queste ragioni, a partire da Windows 2000 la Microsoft ha deciso di adottare Kerberos come protocollo di autenticazione. Kerberos è un protocollo standard (RFC 1510) ampiamente supportato. Kerberos è composto, dal punto di vista logico, da tre componenti indipendenti:
- Kerberos Client che risiede su tutte le macchine che hanno installato Kerberos.
- Authentication Service (AS) è presente solamente sulle macchine che ricoprono il ruolo di Key Distribution Center.
- Ticket-Granting Service (TGS) è presente solamente sulle macchine che ricoprono il ruolo di Key Distribution Center.
Nell'impletazione Microsoft di Kerberos tutti i Domain Controller sono anche Key Distribution Center. Il processo di autenticazione di Kerberos è stato pensato per essere snello, sicuro, semplice ed efficace, il suo modo di lavorare è il seguente:
- L'utente inserisce il proprio UserName e la propria Password all'interno dei rispettivi campi della schermata di logon. Il Kerberos Client che risiede sulla macchina converte la Password in una chiave di criptatazione creando un one-way hash value.
- L'ora locale del client viene criptata con la chiave generata al punto
precedente.
Viene poi creata una Kerberos Authentication Service Request (KRB_AS_REQ) conetente:
- Lo Username dell'utente.
- La richiesta di una Ticket-Granting Ticket.
- Lo Hash Value della Password.
- L'ora locale criptata.
- Il KDC utilizza lo Username e lo Hash Value della Password per
individuare l'utente all'interno di Active Directory
(o più in generale di un directory service). Grazie allo Hash Value della Password
viene decritata l'ora locale del client e conforntata con l'ora corrente del KDC. Se la
differenza temporale è entro i 5 minuti (questo valore può essere modificato a piacimento), il
KDC ne conclude che la KRB_AS_REQ non è una ripetizione, accertato che le credenziali
dell'utente sono presenti in Active Directory, il KDC procede a:
- Generare una Session Key per eventuali future comunicazioni con l'utente.
- Criptare la Session Key utilizzando lo Hash Value della Password dell'utente.
- Criptare ulteriormente la Session Key sfruttando la propria chiave di criptazione.
Una volta ottenuto un Ticket-Granting Ticket, il client può iniziare a dialogare con gli altri server della rete. Il processo con cui il client si autentica ad un server di rete è il seguente:
- Il client invia un pacchetto al Ticket-Granting Service del KDC contenente:
- Il TGT che aveva ottenuto in precedenza.
- Il nome del server con cui vorrebbe dialogare.
- Il KDC decripta il pacchetto KRB_TGS_REQ utilizzando il TGT dell'utente
(il quale contiene lo Hash Value della Password dell'utente) che era stato precedentemente
criptato con la chiave di criptazione del KDC. Se la Session Key risulta corretta allora
il KDC proceda a:
- Generare una Session Key con cui l'utente può comunicare col server indicato nella KRB_TGS_REQ.
- Criptare la Session Key utilizzando lo Hash Value della Password dell'utente.
- Criptare ulteriormente la Session Key sfruttando la propria chiave di criptazione.
- Ottenuto il nuovo TGT il client procede ad eseguire una Kerberos Application Request
al server con cui voleva comunicare. La Kerberos Application Request (KRB_AP_REQ) consiste
in un pacchetto contenete:
- Lo Username dell'utente.
- L'ora locale del client criptata con la Session Key generata dal KDC per l'occasione.
- Il TGT fornito dal KDC per comunicare col server.
- Il server una volta ricevuta la Kerberos Application Request procede a decripare il pacchetto
appena ricevuto ottenendo:
- La Session Key con cui comunicare con l'utente.
- Lo UserName dell'utente.
- L'ora locale del client.
- Il client ricevuto il KRB_AP_REP provvede a decriptare il pacchetto utilizzando la Session Key che gli ha fornito il KDC per comunicare col server e se l'ora locale del server differisce per meno di 5 minuti dall'ora del client, vuol dire che il server è veramente colui con cui il client vuole dialogare. A questo punto la comunicazione fra il server ed il client può avere luogo.
Si osservi che in tutto questo meccanismo sia il client, sia il server non devono ricordarsi nulla l'uno dell'altro, inoltre il server non deve mai contattare il KDC per autenticare il client. I vari TGT che il client tende ad accumulare vengono conservati dal client per un certo periodo di tempo e poi vengono distrutti. Il KDC non si preoccupa minimamente di gestire questo tipo di procedure e lascia al client completa autonomia sulla gestione dei sui TGT. Per comodità l'Hash Value della Password dell'utente viene conservato in memoria, ma se per qualche motivo dovesse venire perso, il server provvederà a richiedere di nuovo al client di autenticarsi utilizzando la sequenza:
- KRB_TGS_REQ
- KRB_TGS_REP
- KRB_AP_REQ
- KRB_AP_REP
Questo sito ha superato il test W3C Validator HTML e CSS