Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece diretrizes abrangentes para implantar o Zero Trust DNS (ZTDNS) em ambientes Windows 11 Enterprise, incluindo etapas obrigatórias, opções de configuração e considerações de implantação.
Pré-requisitos
Antes de implantar o ZTDNS, certifique-se de que seu ambiente atenda aos seguintes requisitos:
Requisitos de sistema
- Build do Windows 11: o dispositivo deve executar o build mais recente do Windows 11 Enterprise ou do Windows 11 Education.
- Privilégios de administrador: Todos os comandos de configuração ZTDNS requerem acesso no nível do administrador.
- Servidor DNS criptografado acessível: o servidor DNS criptografado deve ser acessível a partir do dispositivo.
Requisitos do servidor DNS de proteção
Para que os servidores DNS sejam compatíveis com o ZTDNS, eles devem atender a estes requisitos:
- Suporte a DNS criptografado: deve dar suporte a protocolos DNS sobre HTTPS (DoH) ou DNS sobre TLS (DoT).
- Imposição de política: só deve resolver nomes de domínio permitidos com base em políticas organizacionais.
- Autenticação de cliente usando mTLS (opcional): deve dar suporte a TLS mútuo (mTLS) para políticas de resolução por cliente usando certificados de cliente.
Exceções manuais
Determinados aplicativos e serviços que não usam DNS para descobrir pontos de extremidade exigem exceções manuais para que os intervalos de endereços IP necessários continuem funcionando após a ativação do ZTDNS. Aplicativos do Microsoft 365 como Exchange, SharePoint, Teams e Office exigem exceções manuais para intervalos de endereços IP listados aqui.
Modos de implantação
O ZTDNS oferece suporte a dois modos operacionais:
- Modo de auditoria: registra todo o comportamento esperado do ZTDNS sem realmente bloquear o tráfego de saída. Esse modo ajuda os administradores a entender os padrões de tráfego antes da aplicação total. Altamente recomendado para testes e validação iniciais, ele fornece visibilidade em possíveis cenários de bloqueio sem interromper a conectividade de rede.
- Modo de imposição: bloqueia ativamente o tráfego não confiável, mantendo o registro em log abrangente. Só habilite o modo de imposição depois de testar minuciosamente o modo de auditoria e confirmar que todas as exceções necessárias estão configuradas.
Implantando ZTDNS usando netsh
Siga estas etapas para implantar o ZTDNS:
Etapa 1: Definir as configurações de DNS do aplicativo
Verifique se todos os aplicativos usam o cliente DNS do Windows em vez de implementações DNS personalizadas:
- Microsoft Edge: Configurar a política BuiltInDnsClientEnabled para desabilitar o cliente DNS personalizado
- Google Chrome: Configurar a política BuiltInDnsClientEnabled para desabilitar o cliente DNS personalizado
- Outros aplicativos: examine e defina configurações semelhantes para outros navegadores e aplicativos usando seus clientes DNS personalizados
Etapa 2: adicionar exceções manuais de permissão
Antes de habilitar o ZTDNS, configure exceções para aplicativos que exigem conexões IP diretas:
Serviços do Microsoft 365
Adicione exceções para os serviços do Microsoft 365 que exigem permissões manuais para manter a conectividade.
netsh ztdns add exception name=M365Services description="Microsoft 365 IP ranges" subnets=192.0.2.128/25,198.51.100.0/24,3fff::/48,3fff:123::/38
Aplicativos de teleconferência
Aplicativos de teleconferência como o Teams usam WebRTC, que negocia endereços IP para pares em um túnel TLS e não tem visibilidade de DNS. Essas sub-redes IP também são documentadas publicamente e precisam de exceções manuais para que o aplicativo funcione com ZTDNS.
netsh ztdns add exception name=TeamsWebRTC description="Teams WebRTC IP ranges" subnets=3fff::/48,3fff:123::/38
Exceções de aplicativo personalizado
Aplicativos e serviços personalizados essenciais para a produtividade dos funcionários que não descobrem pontos de extremidade por meio do DNS ou usam endereços IP embutidos em código exigem que as exceções manuais funcionem corretamente após a ativação do ZTDNS.
netsh ztdns add exception name=AppName description="Description of AppName" subnets=192.0.2.128/25,198.51.100.0/24,3fff::/48,3fff:123::/38
Etapa opcional: Autenticação do cliente com mTLS
Se o seu servidor DNS confiável der suporte à autenticação do cliente usando TLS mútuo (mTLS):
Configurar autoridades de certificação confiáveis
Defina hashes de certificado de AC confiáveis para validar o certificado do servidor DNS:
netsh ztdns set trustedca certhashes=00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff,11112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
Configurar certificados de cliente
Defina hashes de certificado do cliente e OIDs de Uso Estendido de Chave (EKU):
netsh ztdns set clientcert certhashes=00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff,00112233445566778899aabbccddeeff00112233 ekus=1.3.6.1.4.1.311.64.256,1.3.6.1.4.1.311.64.255
Etapa 3: Configurar um servidor DNS confiável
Adicione um ou mais servidores DNS de proteção que dão suporte a DoH ou DoT:
Servidor DoH (DNS sobre HTTPS)
netsh ztdns add server type=doh address=203.0.113.0 template=https://doh.resolver.example/dns-query priority=0
Servidor DoT (DNS sobre TLS)
netsh ztdns add server type=dot address=2001:db8::1 hostname=dot.resolver.example priority=1
Etapa 4: habilitar o ZTDNS no modo de auditoria
Importante: Sempre comece com o modo de auditoria para validar a configuração antes de habilitar a imposição:
netsh ztdns set state enable=yes audit=yes
Esse comando habilita o registro em log ZTDNS sem bloquear o tráfego, permitindo que você:
- Identificar aplicativos que podem precisar de exceções
- Validar a configuração do servidor DNS
- Monitorar padrões de tráfego antes da aplicação
Etapa 5: Monitorar e validar
Depois de habilitar o modo de auditoria:
- Monitorar logs ZTDNS para padrões de tráfego bloqueados
- Adicionar exceções conforme necessário
- Verifique se todos os aplicativos críticos funcionam corretamente
- Examine e ajuste as políticas de resolução de nomes em servidores DNS confiáveis
Etapa 6: habilitar o modo de imposição
Após testes completos no modo de auditoria, habilite a imposição:
netsh ztdns set state enable=yes audit=no
Etapa 7: reiniciar (recomendado)
Embora uma reinicialização não seja necessária para habilitar a funcionalidade ZTDNS, recomendamos reinicializar o dispositivo após habilitar o ZTDNS para garantir que os aplicativos não continuem usando endereços IP em cache que o ZTDNS não conhece ou para encerrar conexões existentes que não foram aprovadas pela política.
Implantando ZTDNS usando JSON
Para simplificar o gerenciamento da configuração do ZTDNS, considere implantar o ZTDNS usando um arquivo JSON com todas as configurações necessárias.
Exibir as configurações atuais no formato JSON
netsh ztdns show settings
Salvar a configuração no arquivo JSON (executar pelo PowerShell)
netsh ztdns show settings | Out-File ztdns_config.json
Configurar usando arquivo JSON
netsh ztdns set settings json=ztdns_config.json
Alterar o estado do serviço ZTDNS usando JSON
netsh ztdns set state json=state_config.json
Configuração JSON de exemplo
O exemplo a seguir mostra um arquivo de configuração JSON de exemplo completo:
{
"config": {
"flags": 511,
"enableZtdns": "whenready",
"auditMode": false,
"blockLocalIps": false,
"allowHostsFile": false,
"enableForwarder": false,
"maxRecordAge": 86400,
"allowICSDHCPserver": false,
"serviceNameRefreshTimeout": 1800
},
"rules": {
"app_name": {
"description": "Exception for app_name",
"flags": 0,
"subnets": ["192.0.2.1", "2001:db8::/64"]
},
"app_name2": {
"description": "Exception for app_name2",
"flags": 0,
"subnets": ["192.0.2.1", "2001:db8::/64"]
}
},
"clientCerts": {
"flags": 0,
"hashes": ["00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", "00112233445566778899aabbccddeeff00112233"],
"ekus": ["1.3.6.1.4.1.311.64.256", "1.3.6.1.4.1.311.64.255"]
},
"trustedCas": {
"flags": 0,
"hashes": ["00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", "11112233445566778899aabbccddeeff00112233445566778899aabbccddeeff"]
},
"servers": {
"1.1.1.1": {
"flags": 0,
"priority": 0,
"dot": {
"hostname": null,
"port": 853
}
},
"8.8.8.8": {
"flags": 0,
"priority": 0,
"doh": {
"template": "https://test.com/dns-query",
"port": 443
}
}
},
"message": "The operation completed successfully.",
"status": 0
}
Parâmetros de configuração JSON
-
enableZtdns: Defina como
yes,noouwhenready(habilita quando os pré-requisitos são atendidos) - auditMode: Valor booliano para o modo de auditoria (true = audit, false = enforcement)
- blockLocalIps: controla o tráfego para endereços de computador local
- allowHostsFile: permite o tráfego para entradas no arquivo de hosts do Windows
- enableForwarder: Permite que o localhost receba consultas DNS feitas por clientes DNS de aplicativo e as encaminhe para o servidor DNS confiável por meio do ZTDNS
- maxRecordAge: tempo máximo (em segundos) que um endereço IP permanece na lista permitida após a resolução do DNS
- serviceNameRefreshTimeout: Tempo entre as atualizações de recuperação do nome do serviço
Reiniciar (recomendado)
Embora uma reinicialização não seja necessária para habilitar a funcionalidade ZTDNS, recomendamos reinicializar o dispositivo após habilitar o ZTDNS para garantir que os aplicativos não continuem usando endereços IP em cache que o ZTDNS não conhece ou para encerrar conexões existentes que não foram aprovadas pela política.
Desabilitando o ZTDNS
Se você tiver problemas inesperados de conectividade ao implantar o ZTDNS:
netsh ztdns set state enable=no audit=no
Esse comando desabilita imediatamente a imposição do ZTDNS e restaura a conectividade normal da rede.