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 orientações abrangentes para implementar Zero Trust DNS (ZTDNS) em ambientes Windows 11 Enterprise, incluindo passos obrigatórios, opções de configuração e considerações de implementação.
Pré-requisitos
Antes de implementar o ZTDNS, certifique-se de que o seu ambiente cumpre os seguintes requisitos:
Requisitos de sistema
- Windows 11 Compilação: o dispositivo tem de executar a compilação mais recente de Windows 11 Enterprise ou Windows 11 Education.
- Privilégios de administrador: todos os comandos de configuração ZTDNS requerem acesso ao nível do administrador.
- Servidor DNS encriptado acessível: o servidor DNS encriptado tem de estar acessível a partir do dispositivo.
Requisitos do servidor DNS de proteção
Para que os servidores DNS sejam compatíveis com o ZTDNS, têm de cumprir estes requisitos:
- Suporte de DNS encriptado: tem de suportar DNS através de PROTOCOLOS HTTPS (DoH) ou DNS através de protocolos TLS (DoT).
- Imposição de política: só deve resolve nomes de domínio permitidos com base em políticas organizacionais.
- Autenticação de cliente com mTLS (Opcional): deve suportar o TLS mútuo (mTLS) para políticas de resolução por cliente com certificados de cliente.
Exceções manuais
Determinadas aplicações e serviços que não utilizam DNS para detetar pontos finais requerem exceções de permissão manual para que os intervalos de endereços IP necessários continuem a funcionar após a ativação do ZTDNS. As aplicações do Microsoft 365, como o Exchange, SharePoint, Teams e Office, requerem exceções manuais para intervalos de endereços IP listados aqui.
Modos de implementação
O ZTDNS suporta dois modos operacionais:
- Modo de auditoria: regista todo o comportamento ZTDNS esperado sem bloquear o tráfego de saída. Este modo ajuda os administradores a compreender os padrões de tráfego antes da imposição total. Vivamente recomendado para testes iniciais e validação, fornece visibilidade sobre potenciais cenários de bloqueio sem interromper a conectividade de rede.
- Modo de imposição: bloqueia ativamente o tráfego não fidedigno e mantém um registo abrangente. Ative apenas o modo de imposição depois de testar exaustivamente o modo de auditoria e confirmar se todas as exceções necessárias estão configuradas.
Implementar o ZTDNS com netsh
Siga estes passos para implementar o ZTDNS:
Passo 1: Configurar as definições de DNS da aplicação
Certifique-se de que todas as aplicações utilizam o cliente DNS do Windows em vez de implementações DNS personalizadas:
- Microsoft Edge: Configurar a política BuiltInDnsClientEnabled para desativar o cliente DNS personalizado
- Google Chrome: Configurar a política BuiltInDnsClientEnabled para desativar o cliente DNS personalizado
- Outras aplicações: reveja e configure definições semelhantes para outros browsers e aplicações com os seus clientes DNS personalizados
Passo 2: Adicionar exceções de permissão manual
Antes de ativar o ZTDNS, configure exceções para aplicações que necessitem de ligações IP diretas:
Serviços do Microsoft 365
Adicione exceções aos serviços do Microsoft 365 que requerem exceções de permissão manual 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
Aplicações de teleconferência
As aplicações de teleconferência como o Teams utilizam o WebRTC, que negoceia endereços IP para elementos dentro de um túnel TLS e não tem visibilidade DNS. Estas sub-redes IP também estão documentadas publicamente e precisam de exceções de permissão manual para a aplicação funcionar com zTDNS.
netsh ztdns add exception name=TeamsWebRTC description="Teams WebRTC IP ranges" subnets=3fff::/48,3fff:123::/38
Exceções de aplicações personalizadas
As aplicações e serviços personalizados essenciais para a produtividade dos funcionários que não detetam pontos finais através de DNS ou utilizam endereços IP codificados requerem exceções de permissão manual para funcionarem 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
Passo Opcional: Autenticação de cliente com mTLS
Se o seu servidor DNS fidedigno suportar a autenticação de cliente através do TLS mútuo (mTLS):
Configurar autoridades de certificação fidedignas
Defina hashes de certificados de AC fidedignos para validar o certificado do servidor DNS:
netsh ztdns set trustedca certhashes=00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff,11112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
Configurar certificados de cliente
Defina hashes de certificados de cliente e OIDs de Utilização Alargada de Chaves (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
Passo 3: Configurar o servidor DNS fidedigno
Adicione um ou mais servidores DNS Protetores que suportem DoH ou DoT:
DNS através do servidor HTTPS (DoH)
netsh ztdns add server type=doh address=203.0.113.0 template=https://doh.resolver.example/dns-query priority=0
DNS através do servidor TLS (DoT)
netsh ztdns add server type=dot address=2001:db8::1 hostname=dot.resolver.example priority=1
Passo 4: Ativar o ZTDNS no modo de auditoria
Importante: comece sempre com o modo de auditoria para validar a configuração antes de ativar a imposição:
netsh ztdns set state enable=yes audit=yes
Este comando ativa o registo ZTDNS sem bloquear o tráfego, o que lhe permite:
- Identificar aplicações que possam precisar de exceções
- Validar a configuração do servidor DNS
- Monitorizar padrões de tráfego antes da imposição
Passo 5: Monitorizar e validar
Depois de ativar o modo de auditoria:
- Monitorizar registos ZTDNS para padrões de tráfego bloqueados
- Adicionar exceções conforme necessário
- Verificar se todas as aplicações críticas funcionam corretamente
- Rever e ajustar políticas de resolução de nomes no servidor DNS fidedigno
Passo 6: Ativar o modo de imposição
Após testes minuciosos no modo de auditoria, ative a imposição:
netsh ztdns set state enable=yes audit=no
Passo 7: Reiniciar (Recomendado)
Embora não seja necessário reiniciar para ativar a funcionalidade ZTDNS, recomendamos que reinicie o dispositivo depois de ativar o ZTDNS para garantir que as aplicações não continuam a utilizar endereços IP em cache dos quais o ZTDNS não tem conhecimento ou que terminem as ligações existentes que não foram aprovadas pela política.
Implementar o ZTDNS com JSON
Para simplificar a gestão da configuração ZTDNS, considere implementar o ZTDNS através de um ficheiro JSON com todas as configurações necessárias.
Apresentar as definições atuais no formato JSON
netsh ztdns show settings
Guardar a configuração no ficheiro JSON (executar através do PowerShell)
netsh ztdns show settings | Out-File ztdns_config.json
Configurar com o ficheiro JSON
netsh ztdns set settings json=ztdns_config.json
Alterar o estado do serviço ZTDNS com JSON
netsh ztdns set state json=state_config.json
Configuração JSON de exemplo
O exemplo seguinte mostra um ficheiro 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: definido como
yes,noouwhenready(ativa quando os pré-requisitos são cumpridos) - auditMode: valor booleano para o modo de auditoria (verdadeiro = auditoria, falso = imposição)
- blockLocalIps: controla o tráfego para endereços de computador locais
- allowHostsFile: permite o tráfego para entradas no ficheiro de anfitriões do Windows
- enableForwarder: permite que o localhost receba consultas DNS feitas por clientes DNS da aplicação e reencaminhe-as para o servidor DNS fidedigno através de ZTDNS
- maxRecordAge: tempo máximo (em segundos) um endereço IP permanece na lista de permitidos após a resolução de DNS
- serviceNameRefreshTimeout: tempo entre as atualizações de obtenção do nome do serviço
Reiniciar (Recomendado)
Embora não seja necessário reiniciar para ativar a funcionalidade ZTDNS, recomendamos que reinicie o dispositivo depois de ativar o ZTDNS para garantir que as aplicações não continuam a utilizar endereços IP em cache dos quais o ZTDNS não tem conhecimento ou que terminem as ligações existentes que não foram aprovadas pela política.
Desativar o ZTDNS
Se tiver problemas de conectividade inesperados durante a implementação do ZTDNS:
netsh ztdns set state enable=no audit=no
Este comando desativa imediatamente a imposição do ZTDNS e restaura a conectividade de rede normal.