Saltar para o conteudo
Avanet

Configurar manualmente o Sophos DNS Protection no macOS

Num Mac, o Sophos DNS Protection pode ser utilizado manualmente de duas formas: o Traditional DNS introduz os dois endereços IP dos resolvedores num serviço de rede do macOS, enquanto o Secure DNS instala um perfil de configuração com o URL DNS-over-HTTPS específico do tenant e da location. Ambas as opções são adequadas para dispositivos de teste individuais; num parque gerido, a configuração deve ser distribuída por MDM.

É importante ter em conta o limite do produto: a DNS Protection Endpoint Policy do Sophos Fusion (anteriormente Sophos Central) não suporta atualmente o macOS. Um perfil DoH instalado manualmente também não transforma o Mac num endpoint gerido por essa política. Limita-se a definir as configurações DNS do macOS.

O procedimento no qual uma firewall funciona como resolvedor central corresponde a outra arquitetura. Está descrito em Configurar o Sophos DNS Protection com o Sophos Firewall.

Escolher entre Traditional DNS e Secure DNS

O Secure DNS (DoH) é geralmente a melhor opção para um Mac configurado diretamente: os pedidos DNS são cifrados através de HTTPS e a Secure-DNS-location é associada através do seu URL individual. O perfil funciona em todo o sistema e mantém-se ativo após alternar entre redes Wi-Fi. No entanto, é necessário esclarecer previamente como interage com clientes VPN, domínios internos, captive portals e outros perfis DNS ou de filtragem.

O Traditional DNS over IPv4 é mais simples e adequado para um teste limitado ou uma rede cujo IP público de saída esteja registado numa Traditional-DNS-location. A associação é efetuada através desse IP público de origem. A configuração aplica-se por serviço de rede do macOS; além de Wi-Fi, é necessário verificar separadamente, por exemplo, Ethernet e outros serviços ativos. Este método não permite associar a location de forma fiável quando o Mac utiliza um IP de saída não registado.

Não configure as duas variantes simultaneamente como suposto fallback. Um perfil DoH pode sobrepor-se aos resolvedores introduzidos manualmente; vários perfis DNS ou VPN também podem entrar em conflito. Para o piloto, escolha e documente exatamente uma via.

Preparar antes de alterar

É necessário:

  • Acesso a My Products > DNS Protection no Sophos Fusion.
  • Uma location adequada e uma Filtering Policy atribuída.
  • Para Traditional DNS: Traditional DNS over IPv4 ativado, o endereço IPv4 público ou FQDN registado e os dois endereços IP em Installers.
  • Para Secure DNS: uma location com Secure DNS ativado e o respetivo DNS over HTTPS URL gerado.
  • Privilégios de administrador local para instalar o perfil.
  • Um registo das configurações DNS anteriores e um procedimento de reversão testado.

Antes de começar, anote os serviços de rede ativos em System Settings > Network. Se existirem servidores DNS introduzidos estaticamente, guarde os valores atuais; para servidores fornecidos automaticamente por DHCP, documente Automatic/DHCP como estado inicial. Defina também pelo menos um domínio de teste interno e um público. Não publique URLs DoH reais em tickets ou repositórios de scripts, pois estes associam os pedidos à location.

Variante A: configurar Traditional DNS

  1. No Sophos Fusion, abra My Products > DNS Protection > Installers e, junto a IP addresses, clique em Copy. São assim copiados ambos os endereços IP dos resolvedores. Utilize apenas valores do seu próprio tenant.
  2. No Mac, abra System Settings > Network.
  3. Selecione o serviço ativo, por exemplo Wi-Fi, e abra Details > DNS.
  4. Em DNS Servers, utilize + para adicionar os dois endereços Sophos e remova os resolvedores manuais anteriores de terceiros. Um terceiro resolvedor não seria apenas uma reserva e poderia contornar a filtragem e os relatórios.
  5. Confirme com OK.
  6. Repita o procedimento para cada outro serviço de rede efetivamente utilizado.

Os nomes e a disposição de alguns botões podem variar ligeiramente entre versões do macOS. O essencial é alterar os servidores DNS no serviço de rede selecionado, e não num navegador ou apenas numa aplicação.

Em seguida, desligue brevemente o Wi-Fi e volte a ligá-lo, ou volte a ligar o serviço em causa. Não altere imediatamente todos os Macs: teste primeiro um piloto em cada tipo de rede relevante.

Variante B: configurar Secure DNS com um perfil

1. Copiar o URL DoH

Ao criar ou editar a Secure-DNS-location no Sophos Fusion, copie o DNS over HTTPS URL gerado. Copie o URL completo; não componha manualmente o nome do host nem o caminho.

2. Gerar o perfil

No Mac, crie no Terminal um ficheiro sophos-dns.sh e introduza este script:

#!/bin/bash
set -eu

DOH_URL=${1:?Usage: $0 <doh_url>}
case "$DOH_URL" in
  https://*) ;;
  *) echo "The DoH URL must start with https://" >&2; exit 1 ;;
esac

OUTPUT="dns-config.mobileconfig"
UUID1=$(uuidgen)
UUID2=$(uuidgen)

cat > "$OUTPUT" <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>PayloadContent</key>
  <array>
    <dict>
      <key>PayloadDescription</key>
      <string>Configures DNS settings</string>
      <key>PayloadDisplayName</key>
      <string>DNS Settings</string>
      <key>PayloadIdentifier</key>
      <string>com.apple.dnsSettings.managed.custom</string>
      <key>PayloadType</key>
      <string>com.apple.dnsSettings.managed</string>
      <key>PayloadUUID</key>
      <string>$UUID1</string>
      <key>PayloadVersion</key>
      <integer>1</integer>
      <key>DNSSettings</key>
      <dict>
        <key>DNSProtocol</key>
        <string>HTTPS</string>
        <key>ServerURL</key>
        <string>$DOH_URL</string>
      </dict>
    </dict>
  </array>
  <key>PayloadDescription</key>
  <string>DNS Protection DoH</string>
  <key>PayloadDisplayName</key>
  <string>DNS-Global DNS over HTTPS</string>
  <key>PayloadIdentifier</key>
  <string>com.example.dns.profile</string>
  <key>PayloadRemovalDisallowed</key>
  <false/>
  <key>PayloadType</key>
  <string>Configuration</string>
  <key>PayloadUUID</key>
  <string>$UUID2</string>
  <key>PayloadVersion</key>
  <integer>1</integer>
  <key>PayloadScope</key>
  <string>System</string>
</dict>
</plist>
EOF

plutil -lint "$OUTPUT"
open "$OUTPUT"

O script altera o estado local: substitui um ficheiro dns-config.mobileconfig existente na pasta atual e abre depois a janela de instalação. O URL da Sophos substitui o placeholder; as aspas protegem os carateres especiais:

chmod +x sophos-dns.sh
./sophos-dns.sh 'https://<tenant-specific-doh-url>/dns-query'

Prossiga apenas se plutil indicar OK para dns-config.mobileconfig. O domínio de exemplo em PayloadIdentifier é apenas um identificador técnico estável, não um endereço de destino para pedidos DNS.

3. Verificar e instalar o perfil

  1. Depois de abrir o ficheiro, confirme o aviso com OK. Em seguida, abra Device Management.
  2. Aí, faça duplo clique em DNS-Global DNS over HTTPS.
  3. Verifique o conteúdo: devem estar visíveis DNS Settings, o protocolo HTTPS e o URL de servidor esperado específico do tenant.
  4. Selecione Install, aceite a nova confirmação e autentique-se com uma conta de administrador local.
  5. Em Device Management, confirme que o perfil é depois apresentado como instalado.

Um perfil instalado a partir de um ficheiro é manual, mesmo que o macOS classifique o payload como managed. O Sophos Fusion não o distribui, inventaria nem remove. Para vários Macs, um administrador deve distribuir o mesmo payload DNS Settings através do MDM aprovado, em vez de pedir a cada utilizador que execute scripts. Os campos e as regras de conflito específicos do MDM devem ser verificados no respetivo MDM.

Verificar o funcionamento

Comece por verificar o estado dos resolvedores ativos e uma resolução normal:

scutil --dns
dig example.com

scutil --dns pode apresentar vários resolvedores para VPN, domínios de pesquisa e serviços de todo o sistema. Por isso, não procure apenas um único IP: verifique qual resolvedor é responsável pelo domínio de teste. dig confirma uma resposta, mas, por si só, não prova que a política Sophos foi aplicada nem qual transporte foi utilizado.

A validação inclui, portanto, todos os níveis:

  1. Execute o teste de configuração em DNS Protection > Installers.
  2. Resolva um domínio público normal.
  3. Utilize um domínio inofensivo que seja deliberadamente bloqueado para o piloto pela Filtering Policy atribuída.
  4. Nos relatórios de DNS Protection, confirme se aparecem o pedido, a location e a decisão. Conte com um pequeno atraso nos relatórios.
  5. Teste nomes internos, VPN, portal de convidado/captive portal e pelo menos uma segunda mudança de rede.

Após configurar Traditional DNS, confirme também se o IP público de saída atual pertence à location. Após configurar Secure DNS, confirme que nenhum segundo perfil DNS, VPN ou de filtragem assume o resolvedor.

Gerir separadamente a página de bloqueio e o certificado

Um bloqueio DNS bem-sucedido não significa que uma página de bloqueio HTTPS apareça sem um aviso de certificado. Para isso, o DNS Protection Root Certificate de DNS Protection > Installers tem de ser instalado no Mac através de um processo de confiança controlado. Não se trata do certificado da Sophos Firewall para TLS Inspection.

Esta tarefa de certificado deve ter um responsável próprio e um teste piloto separado. Em Macs geridos, o certificado é distribuído por MDM; num único Mac de teste, a origem e a impressão digital são verificadas antes de se confiar no certificado. Se apenas estiver a testar a resolução de nomes, um aviso de certificado numa página de bloqueio HTTPS não prova que o DNS Protection falhou.

Reversão e remoção

Reverter Traditional DNS

Em System Settings > Network > <Serviço> > Details > DNS, remova os endereços IP da Sophos e reponha exatamente o estado inicial documentado: os resolvedores estáticos anteriores ou a atribuição automática por DHCP. Repita para cada serviço de rede alterado, volte a ligar e verifique a resolução pública e interna.

Remover o perfil Secure DNS

  1. Abra Device Management.
  2. Selecione DNS-Global DNS over HTTPS e escolha a função para remover o perfil.
  3. Autentique a remoção e confirme que o perfil deixou de aparecer na lista.
  4. Volte a ligar a rede e utilize scutil --dns e dig example.com para confirmar que o resolvedor anterior está novamente ativo.

O perfil gerado permite a remoção (PayloadRemovalDisallowed é false). Se a função de remoção não existir ou for recusada, o dispositivo ou o perfil poderá ser gerido por uma organização. Não tente contrariar essa gestão localmente; o administrador MDM responsável deverá remover a atribuição. Os ficheiros sophos-dns.sh e dns-config.mobileconfig podem ser eliminados em segurança após uma instalação documentada e bem-sucedida, mas isso não remove um perfil já instalado.

Resolução de problemas por sintoma

A Internet não funciona após a alteração

Efetue primeiro a reversão. Depois, analise a ligação de rede, o captive portal e a acessibilidade por IP separadamente do DNS. Com Traditional DNS, confirme se os dois resolvedores foram aplicados corretamente e se a firewall ou o fornecedor permite DNS através de UDP/TCP 53. Com Secure DNS, o URL DoH específico do tenant tem de estar acessível por HTTPS.

Os domínios públicos funcionam, mas os nomes internos não

Com um perfil DoH de todo o sistema, o Mac envia, em princípio, o DNS para o serviço configurado. O DNS Protection não conhece automaticamente as zonas internas. O Split DNS através de VPN ou resolvedores internos tem de ser planeado antes da implementação e testado com os perfis VPN/MDM efetivamente utilizados. Uma allowlist pública não substitui um servidor DNS interno autoritativo.

O teste de configuração não deteta o DNS Protection

Com Traditional DNS, compare o IP público de origem atual com a location, sobretudo depois de uma mudança de rede, Multi-WAN ou fornecedor. Com Secure DNS, verifique o URL completo no perfil instalado e procure perfis DNS ou VPN concorrentes. Em seguida, volte a ligar e repita o teste.

Não é possível instalar o perfil

Execute primeiro plutil -lint dns-config.mobileconfig. Depois, procure em Device Management um perfil já carregado ou instalado com o mesmo identificador e eventuais restrições organizacionais. Não instale vários perfis ligeiramente diferentes uns sobre os outros; remova o perfil anterior de forma controlada ou substitua-o através do MDM.

Uma página HTTPS bloqueada apresenta um aviso de certificado

Verifique separadamente a política DNS e a confiança no certificado raiz. Se o bloqueio aparecer no relatório, a decisão DNS provavelmente já está a funcionar. Peça depois ao responsável pelos certificados que verifique a distribuição do certificado, a cadeia de confiança e a acessibilidade da página de bloqueio, em vez de flexibilizar precipitadamente a Filtering Policy.