Configurazione di scavenging DNS
Questo articolo illustra come configurare lo scavenging dns (Domain Name System) e fornisce un esempio di impostazione dello scavenging in una zona preesistente.
Scavenging pulisce (elimina) i record non aggiornati nel DNS. Poiché l'eliminazione è coinvolta, molte valvole di sicurezza sono integrate in scavenging, che richiede molto tempo per abilitare lo scavenging.
Note
Questo articolo è incentrato sullo scenario DNS Windows più comune: server DNS Windows Server che ospitano zone integrate di Active Directory (AD).
In Windows Server, lo scavenging deve essere impostato in tutte le tre posizioni seguenti:
- Nel record della singola risorsa da scavenged.
- Su una zona da scavenged.
- In uno o più server che eseguono lo scavenging.
Scavenging settings on the resource record (Scavenging settings on the resource record)
In DNS Microsoft Management Console (MMC) selezionare Visualizza>avanzate e controllare le proprietà di un record di risorse per visualizzare le impostazioni di scavenging. Ad esempio:
Lo scavenging su un record di risorsa può essere impostato in tre metodi:
- Il primo consiste nel controllare la casella di controllo Elimina questo record quando diventa non aggiornata e selezionare Applica. Quando si seleziona Applica, l'ora corrente viene arrotondata per difetto all'ora più vicina e applicata come timestamp sul record. Il timestamp dei record statici è 0, a indicare che non sono scavenged.
- Il secondo modo consiste nel momento in cui un record viene creato da un computer client che esegue la registrazione tramite DNS dinamico (DDNS). I client Windows aggiornano dinamicamente DNS ogni 24 ore. Tutti i record DDNS sono impostati su scavenge. Quando un record viene creato per la prima volta da un client senza record esistente, viene considerato "Update" e viene impostato un timestamp. Se il client ha un record host esistente e modifica l'INDIRIZZO IP del record host, viene considerato anche "Update" e viene impostato un timestamp. Se il client ha un record host esistente con lo stesso indirizzo IP, questo viene considerato un "Aggiornamento" e se il timestamp cambia dipende dalle impostazioni della zona.
- Il terzo modo per impostare lo scavenging sui record consiste nell'usare il comando dnscmd /ageallrecords . Se si esegue questo comando su una zona, verrà impostato lo scavenging e un timestamp per tutti i record nella zona, inclusi i record statici che non si desidera scavenged.
Una volta impostato un timestamp su un record, verrà replicato in tutti i server che ospitano la zona.
Note
Se la zona che ospita il record non abilita lo scavenging, non scavenge, quindi il timestamp è irrilevante. Il timestamp può essere aggiornato nel server in cui viene registrato dinamicamente il client, ma non verrà replicato in altri server nella zona.
Impostazioni di scavenging nella zona
Prima che un server controlli un record per verificare se sarà scavenged, la zona deve avere scavenging abilitato. Per accedere alle impostazioni di scavenging di una zona, fare clic con il pulsante destro del mouse sulla zona, selezionare Proprietà e quindi selezionare Invecchiamento nella scheda Generale.
Note
Lo screenshot è lo stesso in qualsiasi server DNS in cui viene replicata questa zona.
Quando si imposta scavenging per la prima volta su un fuso, il timestamp (visualizzato nella parte inferiore) viene impostato sull'ora corrente (arrotondata per difetto all'ora più vicina) più l'intervallo di aggiornamento. Questa impostazione viene reimpostata anche ogni volta che la zona viene caricata o gli aggiornamenti dinamici sono abilitati nella zona.
Note
Se non vedi La zona può essere scavenged dopo il timestamp, ricaricare la zona.
La zona può essere scavenged dopo il timestamp è la prima valvola di sicurezza. Offre ai client il tempo necessario per aggiornare i timestamp dei record. Poiché i nuovi timestamp dei record non vengono replicati quando lo scavenging del fuso è disabilitato, questo garantisce anche il tempo di replica per mantenere gli elementi in ordine.
Intervalli di aggiornamento e nessun aggiornamento
Le valvole di sicurezza successive sono gli intervalli refresh e no-refresh. Dopo che entrambi gli intervalli sono trascorsi, è possibile eliminare un record.
L'intervallo di aggiornamento non è un periodo di tempo durante il quale non è possibile aggiornare un record di risorsa. Un "Aggiornamento" è un aggiornamento dinamico in cui non si modifica il record di risorse host; toccare solo il timestamp. Se un client modifica l'INDIRIZZO IP di un record host, viene considerato un "Aggiornamento" ed è esente dall'intervallo di nessun aggiornamento. Lo scopo di un intervallo di aggiornamento non è ridurre il traffico di replica. Una modifica a un record indica che la modifica deve essere replicata.
Dopo che è trascorso il timestamp del record più l'intervallo di aggiornamento senza aggiornamento, è possibile immettere un intervallo di aggiornamento. L'intervallo di aggiornamento è l'ora in cui sono consentiti gli aggiornamenti al timestamp. Il client può entrare e aggiornarne il timestamp. Questo timestamp verrà replicato e l'intervallo di aggiornamento non verrà avviato di nuovo. Se il client non riesce ad aggiornare il record durante l'intervallo di aggiornamento, diventa idoneo a essere scavenged.
Note
Quando si impostano gli intervalli di aggiornamento e nessun aggiornamento, consentire ai client di effettuare diversi tentativi di registrazione durante l'intervallo di aggiornamento. Se non si esegue questa operazione, un record può diventare idoneo per lo scavenging a causa di un tentativo di aggiornamento non riuscito.
Se si fa clic con il pulsante destro del mouse sul server e si seleziona Imposta invecchiamento/Scavenging per Tutte le zone... verrà visualizzato uno screenshot simile a quello precedente. Questa opzione imposta le impostazioni predefinite che verranno usate quando questo server crea una nuova zona. A meno che non si selezioni la casella di controllo Applica queste impostazioni alle zone integrate in Active Directory esistenti, l'impostazione non influisce sulle zone esistenti.
Impostazioni di scavenging nel server
Per impostare lo scavenging sul server, fare clic con il pulsante destro del mouse sul server in MMC e scegliere Proprietà. Selezionare quindi la casella di controllo Abilita scavenging automatico dei record non aggiornati nella scheda Avanzate come indicato di seguito:
Il valore del periodo di scavenging è la frequenza con cui questo server scavenges. Quando un server scavenges, registra un ID evento DNS 2501 per indicare quanti record vengono scavenged. Se non vengono registrati record, viene registrato l'ID evento 2502. È necessario un solo server per scavenge perché i dati della zona vengono replicati in tutti i server che ospitano la zona.
Suggerimento
Ottenendo il timestamp sull'ID evento più recente 2501 o 2502 e aggiungendo il periodo di scavenging, è possibile indicare esattamente quando un server tenterà di scavenge.
Anche se è possibile impostare ogni server che ospita la zona per scavenge, è consigliabile avere solo un set. Se il server non riesce a scavenge, non avrà un impatto grave. Si avrà un posto in cui cercare il sospetto e un set di log da controllare. Se sono impostati molti server su scavenge, sono disponibili molti log per verificare se lo scavenging ha esito negativo.
Per controllare quale server sta scavenging per una zona, è possibile usare il comando dnscmd per specificare esattamente quali server possono scavenge. Ad esempio, il dnscmd /zoneresetscavengeservers contoso.com 192.168.1.1 192.168.1.2
comando consente solo ai server DNS con indirizzi IP 192.168.1.1 e 192.168.1.2 di scavenge sulla contoso.com
zona.
Processo di scavenging e controlli finali
È anche possibile avviare manualmente un tentativo di scavenging facendo clic con il pulsante destro del mouse sul server e scegliendo Scavenge Stale Resource Records (Record di risorse non aggiornati). Si noti che i tentativi manuali non ignorano le valvole di sicurezza.
Prima di eliminare i record non aggiornati, verificare quanto segue:
- Lo scavenging è abilitato nella zona?
- L'aggiornamento dinamico è abilitato nella zona?
- Il server di scavenging è elencato come uno dei server di scavenging per la zona?
- Il timestamp "zone can be scavenged after" (La zona può essere scavenged dopo) sul superamento della zona?
In questo modo è possibile preparare i client e la replica di Active Directory prima di iniziare. - È stato più lungo dell'intervallo di aggiornamento dall'ultima replica di questa zona in Active Directory?
Se scavenging è abilitato in un server con problemi di replica, ciò può contribuire a evitare la rimozione definitiva non necessaria dei record che potrebbero essere ancora validi in altri server.
Se vengono superati tutti i controlli precedenti, la zona è pronta per lo scavenging. A questo punto, il server di scavenging controlla il timestamp in ogni record di risorsa. Se la data e l'ora correnti sono maggiori del timestamp più Intervalli di aggiornamento e Nessun aggiornamento, il record viene eliminato.
Esempio: Impostazione dello scavenging su una zona preesistente
Ecco un esempio di impostazione dello scavenging su una zona preesistente. Questa procedura è progettata per garantire la massima sicurezza. Se si usano le impostazioni predefinite, questo processo può richiedere da quattro a cinque settimane (due settimane per la fase di controllo della integrità e da due a tre settimane per la fase di abilitazione).
Fase di installazione
- Disattivare lo scavenging su tutti i server. È possibile usare il
dnscmd /zoneresetscavengeservers
comando per limitare lo scavenging a un singolo server e quindi assicurarsi che questo server abbia scavenging disabilitato. - Attiva scavenging sulle zone che vuoi scavenge. Impostare gli intervalli di aggiornamento e nessun aggiornamento in base alle esigenze. Per scavenge in modo più efficace, è consigliabile abbassare l'intervallo di aggiornamento senza aggiornare e lasciare l'intervallo di aggiornamento predefinito.
- Aggiungere la data odierna più gli intervalli Aggiorna e Nessun aggiornamento. Torna in poche settimane, quando questo tempo è trascorso.
Fase di controllo della integrità
Cercare eventuali record precedenti all'intervallo Aggiorna più Nessun aggiornamento nei record DNS. Se viene visualizzato un problema con il processo di registrazione dinamica, che deve essere corretto prima di procedere. Un controllo approfondito a questo punto è il passaggio più importante della configurazione.
Elementi da controllare se si trovano record obsoleti:
- Il
ipconfig /registerdns
comando funziona? - Chi è il proprietario del record (vedere la scheda Sicurezza nelle proprietà del record)?
- Il record viene creato in modo statico da un amministratore e quindi abilitato per lo scavenging? In questo caso, è necessario eliminare il record per cancellare la proprietà ed eseguire il
ipconfig /registerdns
comando per aggiornarlo. - La replica di Active Directory del server funziona correttamente?
Non procedere a meno che non sia possibile spiegare eventuali record obsoleti. Nella fase successiva verranno eliminati.
Fase di abilitazione
È possibile usare il dnscmd /zoneresetscavengeservers
comando per abilitare lo scavenging in un singolo server.
Dopo aver abilitato scavenging, creare un nuovo record di test e abilitarlo per lo scavenging. Quindi, mappare il punto nel tempo in cui questo record scompare. Di seguito sono riportati i passaggi:
- Iniziare con il timestamp del record.
- Aggiungere l'intervallo di aggiornamento.
- Aggiungere l'intervallo di nessun aggiornamento.
- Il risultato sarà il tempo "idoneo per scavenge". Tuttavia, il record non scomparirà in questo momento.
- Controllare i registri eventi DNS per gli ID evento 2501 e 2502 per trovare quando il server DNS eseguirà lo scavenging.
- In base all'ora "idonea per scavenge", trovare l'evento con ID evento 2501 o ID evento 2502 più recente e aggiungere il periodo di scavenging del server (dalla scheda Avanzate delle proprietà del server) a esso.
- Questo è il momento in cui il record di test scompare.
Ad esempio:
- Una zona è impostata su un intervallo di aggiornamento di 3 giorni e un intervallo di nessun aggiornamento di 3 giorni.
- Il periodo di scavenging del server è impostato su tre giorni.
- L'ultimo ID evento DNS 2501 o 2502 si è verificato alle 6:00 il 1/1/2008.
- Si dispone di un record con timestamp 1/1/2008 alle 12:00 (mezzogiorno).
Considerati questi presupposti, è possibile prevedere che il record verrà eliminato alle 6:00 circa il 10/10/2008. Ecco un diagramma dell'esempio.
Dopo l'abilitazione dello scavenging, è possibile controllare periodicamente per cercare gli eventi 2501 e 2502 id evento per vedere come stanno andando le cose. È anche possibile tornare alla data e all'ora stimate e verificare se il record di test è scomparso.