Configurare Sophos DNS Protection su Windows Server
Un server DNS Windows può utilizzare Sophos DNS Protection come server d’inoltro per le query a cui non può rispondere tramite le proprie zone o i server d’inoltro condizionali. I client continuano a interrogare il server DNS interno. Active Directory e i nomi interni rimangono quindi operativi, mentre le query DNS pubbliche vengono filtrate attraverso la posizione configurata in Sophos Central.
Questa guida modifica i server d’inoltro globali del servizio DNS di Windows. Non configura un criterio per endpoint e non cambia i server DNS impostati sulle schede di rete del server o dei client. La variante per endpoint utilizza un percorso dati differente ed è descritta in Sophos DNS Protection for Endpoints.
Architettura di destinazione e prerequisiti
Il percorso previsto è:
Client -> Server DNS Windows -> Sophos DNS Protection -> server DNS autorevole
\-> zona interna/condizionale -> server DNS interno
Prima della modifica, devono essere soddisfatti i seguenti punti:
- Su Windows Server, viene installato il ruolo DNS Server e il server risponde già alle richieste del client in modo affidabile.
- In Sophos Central, una posizione è configurata con Traditional DNS over IPv4 per l’IP di origine pubblica del sito. NAT conta l’IP pubblico con cui le richieste raggiungono Internet.
- In My Products > DNS Protection > Installers sono disponibili due indirizzi IP di protezione DNS. Copiare questi valori specifici dell’inquilino direttamente da Central; i risolutori dell’esempio pubblico non sono un sostituto.
- Il server DNS raggiunge entrambi gli indirizzi tramite la porta UDP e TCP
53. TCP è richiesto, tra l’altro, per risposte che non si adattano a un pacchetto UDP. - Sono documentate zone autorevoli interne e invii condizionali esistenti. Soprattutto con Active Directory, le zone interne devono continuare ad andare ai server DNS interni responsabili.
- Sono disponibili una finestra di manutenzione, un client pilota e una copia registrata della precedente configurazione dei server d’inoltro per il rollback.
⚠️ Importante: Configurare entrambi gli indirizzi forniti da Central. Insieme garantiscono la ridondanza del servizio a monte. Non sostituirli con valori di un altro ambiente Central o ricavati da uno screenshot.
Eseguire il backup della configurazione DNS esistente
Eseguire questi comandi PowerShell in una sessione con privilegi elevati. Salvano l’elenco completo dei server d’inoltro e le impostazioni UseRootHint, timeout ed EnableReordering in un file di rollback riutilizzabile senza modificare la configurazione:
$DnsForwarderBackup = Join-Path $env:SystemDrive "DnsForwarderBackup.xml"
$ForwarderState = Get-DnsServerForwarder
[pscustomobject]@{
IPAddress = @($ForwarderState.IPAddress | ForEach-Object { $_.IPAddressToString })
UseRootHint = [bool]$ForwarderState.UseRootHint
Timeout = $ForwarderState.Timeout
EnableReordering = [bool]$ForwarderState.EnableReordering
} | Export-Clixml -Path $DnsForwarderBackup
Get-DnsServerZone | Select-Object ZoneName,ZoneType,IsDsIntegrated
Salvare l’output insieme alla data e al nome del server nel biglietto di modifica. Verificare anche quanto segue in Server Manager > Tools > DNS:
- In Forward Lookup Zones, annotare le zone ospitate dal server.
- In Conditional Forwarders, annotare gli spazi dei nomi inoltrati specificamente ai server DNS interni o dei partner.
- Nelle Properties del server DNS, nella scheda Forwarders, annotare i server d’inoltro globali e lo stato dell’opzione Use root hints if no forwarders are available.
Le zone ospitate localmente non vengono inviate ai server d’inoltro globali. Anche i server d’inoltro condizionali hanno la precedenza per i rispettivi spazi dei nomi. Questa separazione impedisce, ad esempio, che la zona AD corp.example.internal venga inviata a un resolver pubblico.
Configurare entrambi i forwarder DNS Protection
- In Sophos Central, aprire My Products > DNS Protection > Installers.
- Accanto a IP addresses, fare clic su Copy e registrare in modo sicuro entrambi gli indirizzi IPv4 visualizzati.
- Su Windows Server, aprire Server Manager > Tools > DNS.
- In DNS Manager, fare clic con il pulsante destro del mouse sul server DNS e aprire Properties.
- Nella scheda Forwarders fare clic su Edit.
- Aggiungere entrambi gli indirizzi IP copiati da Sophos Central. Continuare solo quando Windows visualizza entrambi gli indirizzi senza un errore di convalida.
- Decidere se Use root hints if no forwarders are available può rimanere attivo. Se lo è, Windows può utilizzare la normale ricorsione DNS quando tutti i server d’inoltro non rispondono. Ciò migliora la disponibilità, ma aggira DNS Protection. Se tale aggiramento non è consentito, disattivare l’opzione e accettare il possibile errore di risoluzione DNS.
- Fare clic su OK, quindi su Apply e OK.
Come alternativa documentata a PowerShell, un amministratore può impostare l’elenco completo del forwarder:
$DnsProtectionForwarders = @("<DNS_PROTECTION_IP_1>", "<DNS_PROTECTION_IP_2>")
Set-DnsServerForwarder -IPAddress $DnsProtectionForwarders
Sostituire <DNS_PROTECTION_IP_1> e <DNS_PROTECTION_IP_2> con i due indirizzi esatti di Central. Set-DnsServerForwarder sovrascrive l’elenco globale dei server d’inoltro; eseguire quindi il comando solo dopo il backup e mai lasciando i segnaposto tra parentesi angolari. Non sostituisce i server d’inoltro condizionali né le zone autorevoli.
Controllare le zone interne e condizionali prima del test pilota
Specificare almeno un nome da ciascuna di queste classi:
- host interno in una zona localmente ospitata, ad esempio
dc01.corp.example.internal; - host interno o partner dietro un forwarder condizionale;
- dominio pubblico consentito, ad esempio
example.com; - un dominio che è bloccato dimostrabilmente dalla politica di protezione DNS prevista.
Non rendere pubblicamente risolvibili le zone interne come soluzione alternativa. Se manca una zona di inoltro condizionale, crearla separatamente con gli indirizzi IP dei server DNS interni responsabili. Gli indirizzi Sophos devono comparire solo nell’elenco globale Forwarders, non come server master di una zona interna.
Svuotare la cache e convalidare il percorso dei dati
La cache può restituire una risposta corretta anche se il nuovo servizio a monte non funziona ancora. Dopo la modifica, la cache del server può quindi essere svuotata una volta. Questo rimuove solo le risposte cache; le zone e le loro voci rimangono, ma le prossime domande devono essere risolte di nuovo:
Clear-DnsServerCache -Force
Quindi controlla il server DNS:
Get-DnsServerForwarder | Format-List IPAddress,UseRootHint,Timeout,EnableReordering
Resolve-DnsName -Name "example.com" -Server "127.0.0.1" -DnsOnly
Resolve-DnsName -Name "dc01.corp.example.internal" -Server "127.0.0.1" -DnsOnly
dc01.corp.example.internal è sostituito da un FQDN interno esistente. Entrambi gli indirizzi IP Sophos sono previsti nell’elenco in avanti, una risposta pubblica per example.com e l’indirizzo interno corretto per il nome interno.
Su un client pilota, prima svuotare la sua cache e poi richiedere esplicitamente il server DNS di Windows:
Clear-DnsClientCache
Resolve-DnsName -Name "example.com" -Server "<WINDOWS_DNS_SERVER_IP>" -DnsOnly
Resolve-DnsName -Name "dc01.corp.example.internal" -Server "<WINDOWS_DNS_SERVER_IP>" -DnsOnly
<WINDOWS_DNS_SERVER_IP> è l’indirizzo IP interno che i client utilizzano effettivamente attraverso la configurazione DHCP o statica. In un gruppo pilota isolato, anche testare un dominio consentito e un dominio noto per essere bloccato dalla vostra politica. Dopo il ritardo di elaborazione, verificare la risposta del blocco previsto e la query corrispondente in Sophos Central. Una ricerca di successo example.com da sola non dimostra che il filtraggio funziona.
Eseguire un rollout sicuro
In primo luogo, modificare solo un server DNS o un sito controllato.
Con i client pilota, verificare l’accesso, Criteri di gruppo, ricerche Active Directory, applicazioni interne, zone partner e risoluzione pubblica.
Verificare direttamente ogni resolver Sophos dal server DNS senza rimuovere alcun indirizzo dalla configurazione:
Resolve-DnsName -Name "example.com" -Server "<DNS_PROTECTION_IP_1>" -DnsOnly Resolve-DnsName -Name "example.com" -Server "<DNS_PROTECTION_IP_2>" -DnsOnlyOgni comando deve restituire una risposta pubblica valida. Dopo il tempo di elaborazione, verificare entrambe le query per la posizione prevista in Sophos Central. Questi test diretti non modificano la configurazione e dimostrano che ogni servizio a monte risponde autonomamente.
Osservare gli errori DNS e i tempi di risposta durante la finestra pilota e controllare i registri di protezione DNS per la posizione prevista e la politica desiderata.
Solo a questo punto modificare gli altri server DNS, uno alla volta. Anche sui server DNS integrati in AD, la configurazione dei server d’inoltro è specifica di ogni server; verificarli pertanto singolarmente.
I client devono ancora utilizzare i server DNS interni di Windows. Distribuire gli indirizzi IP Sophos direttamente ai client di dominio tramite DHCP bypasserebbe la logica della zona interna.
Rollback e rimozione
Il ripristino è necessario se la risoluzione interna o pubblica non riesce, vengono applicati criteri imprevisti o entrambi i servizi a monte Sophos non sono raggiungibili in modo affidabile dalla sede.
- In DNS Manager, selezionare il nodo del server DNS, fare clic con il pulsante destro del mouse, aprire Properties, selezionare la scheda Forwarders e fare clic su Edit.
- Rimuovere i due indirizzi Sophos e ripristinare l’elenco completo dei server d’inoltro documentato prima della modifica. Se in precedenza non erano presenti server d’inoltro, lasciare vuoto l’elenco. Ripristinare lo stato originale di Use root hints if no forwarders are available e l’impostazione salvata per il riordino dei server d’inoltro.
- Salvare con OK, Apply e OK.
- Eseguire
Clear-DnsServerCache -Forceuna volta e ripetere test interni e pubblici. - Svuotare la cache dei client pilota con
Clear-DnsClientCachee ripetere il test tramite il server DNS Windows.
In alternativa, PowerShell ripristina il backup anche se contiene zero, uno, due o più server d’inoltro precedenti:
$DnsForwarderBackup = Join-Path $env:SystemDrive "DnsForwarderBackup.xml"
$Previous = Import-Clixml -Path $DnsForwarderBackup
$CurrentForwarders = @((Get-DnsServerForwarder).IPAddress)
if ($CurrentForwarders.Count -gt 0) {
Remove-DnsServerForwarder -IPAddress $CurrentForwarders -Force
}
$PreviousForwarders = @($Previous.IPAddress)
if ($PreviousForwarders.Count -gt 0) {
Set-DnsServerForwarder -IPAddress $PreviousForwarders
}
Set-DnsServerForwarder -UseRootHint ([bool]$Previous.UseRootHint) -Timeout $Previous.Timeout -EnableReordering ([bool]$Previous.EnableReordering)
Usare esclusivamente il backup creato su questo server prima della modifica. La rimozione esplicita ripristina anche una configurazione che in precedenza non conteneva server d’inoltro; l’array recupera l’elenco completo con il numero effettivo di elementi. L’ultimo comando ripristina UseRootHint, il timeout ed EnableReordering. Eliminare una posizione o un criterio in Sophos Central solo dopo aver verificato che nessun server DNS lo utilizzi più e aver convalidato il rollback.
Risoluzione dei problemi
I nomi pubblici non vengono risolti
- Con
Get-DnsServerForwarderverificare se entrambi gli indirizzi copiati sono inseriti. - Controllare le regole del routing e del firewall in uscita e NAT per entrambi UDP e TCP
53dal server DNS a entrambi gli indirizzi Sophos. - Assicurarsi che l’IP pubblico di origine appartiene alla posizione con Traditional DNS over IPv4.
- Eseguire
Resolve-DnsNamedirettamente contro127.0.0.1. Se funziona, ma il test client non lo fa, l’errore si trova tra il client e Windows DNS Server. - Se i riferimenti radice sono stati disabilitati intenzionalmente, il mancato funzionamento della risoluzione quando i server d’inoltro non sono raggiungibili è il comportamento di sicurezza «fail-closed» previsto. Non aggirarlo configurando un resolver pubblico qualsiasi.
I nomi interni non vengono più risolti
Con Get-DnsServerZone verificare se la zona esiste localmente o esiste come un forwarder condizionale. Quindi controllare l’accessibilità dei loro server master interni. Il server Sophos forwarder non è il posto giusto per AD, zone DNS o partner divise.
La risoluzione funziona, ma Central non mostra la posizione prevista
Confrontare l’effettivo IP sorgente pubblico del server DNS all’uscita verso Internet con la posizione. Con più collegamenti WAN o NAT modificato, il traffico può lasciare attraverso un IP pubblico diverso. Correggere prima l’uscita o aggiornare la posizione in un cambiamento pianificato; non riutilizzare una posizione non correlata.
Il filtraggio sembra essere bypassato
Verificare che il client utilizzi effettivamente il server DNS Windows, che il browser o l’applicazione non utilizzi un proprio resolver DoH e se Use root hints if no forwarders are available consenta un percorso di ricorsione alternativo. Ripetere quindi la verifica con un dominio di test definito e coperto dal proprio criterio. Una risposta memorizzata nella cache o un resolver esterno configurato direttamente aggira il percorso d’inoltro sottoposto a test.
Sembra rispondere un solo forwarder
Windows non utilizza i server d’inoltro come semplici commutatori primari/secondari permanenti e può tener conto del loro ordine o tempo di risposta. È fondamentale che entrambi gli indirizzi centrali siano configurati e accessibili dal server. Se un indirizzo fallisce ripetutamente, controllare il percorso e il firewall e non ridurre silenziosamente a un solo servizio a monte.