Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Informações de Apoio

Orginfo.json

Comportamento de sondagem de DNS

Comportamento de DNS nos modos de tunelamento do AnyConnect

1. Tunnel-All (ou tunnel-all-DNS ativado)

2. Split-DNS (tunnel-all-DNS desativado)

3. Tunelamento Split-include ou Split-exclude (sem split-DNS e tunnel-all-DNS desativado)

Instalar e configurar o módulo Umbrella Roaming

Método pré-implantação (manual)

Implantar módulo de roaming do OpenDNS

Implantar Orginfo.json

Método de implantação pela Web

Implantar módulo de roaming do OpenDNS

Implantar Orginfo.json

Configurar

Verificar

Troubleshoot

Informações Relacionadas

Introduction

Este documento descreve as etapas para instalação, configuração e solução de problemas do módulo de roaming do OpenDNS (Umbrella). No AnyConnect 4.3.X e posterior, o cliente de roaming do OpenDNS está disponível como um módulo integrado. Também conhecido como módulo de segurança da nuvem e pode ser implantado previamente no endpoint com o instalador do AnyConnect ou pode ser baixado pelo dispositivo de segurança adaptativa (ASA) na implantação pela Web.

Prerequisites

Requirements

A Cisco recomenda que você tenha conhecimento destes tópicos:

- Mobilidade Segura Cisco AnyConnect

- Módulo de roaming do OpenDNS/Umbrella

- Cisco ASA

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

- Cisco ASA versão 9.3(3)7

- Cisco AnyConnect Secure Mobility Client 4.3.01095

- Módulo de roaming do OpenDNS 4.3.01095

- Cisco Adaptive Security Device Manager (ASDM) 7.6.2 ou posterior

- Microsoft Windows 8,1

- Note: Os requisitos mínimos para implantação do módulo Umbrella do OpenDNS são:

-Cliente AnyConnect VPN versão 4.3.01095 ou posterior

- Cisco ASDM 7.6.2 ou superior

O módulo de roaming do OpenDNS não é compatível com a plataforma Linux no momento.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entende o impacto potencial de qualquer configuração ou comando.

Informações de Apoio

Orginfo.json

Para o módulo Roaming de OpenDNS funcionar corretamente, um arquivo OrgInfo.json deve ser baixado no painel de OpenDNS ou obtido do ASA antes que o módulo seja usado. Quando o arquivo é baixado primeiro, ele é salvo em um caminho específico, dependendo do sistema operacional.

No Mac OS X, o download de OrgInfo.json fica em /opt/cisco/anyconnect/Umbrella

No Microsoft Windows, o download de OrgInfo.json fica em C:\ProgramData\Cisco\CiscoAnyConnect Secure Mobility Client\Umbrella

{

"organizationId" : "XXXXXXX",

"fingerprint" : "XXXXXXXXXXXXXXXXXXXXXXXXXX",

"userId" : "XXXXXXX"

}

Como mostrado, o arquivo usa codificação UTF-8 e contém organizationId, impressão digital e userId. A ID de empresa representa as informações da empresa do usuário atualmente conectado ao painel do OpenDNS. A ID de empresa é estática, exclusiva e gerada automaticamente pelo OpenDNS para cada empresa. A impressão digital é usada para validar o arquivo Orginfo.json durante o registro do dispositivo e a ID de usuário representa uma identificação exclusiva do usuário conectado.

Quando o módulo de roaming inicializa no Windows, o arquivo OrgInfo.json é copiado para o diretório de dados dentro do diretório Umbrella e usado como a cópia de trabalho. No MAC OS X, as informações desse arquivo são salvas em updater.plist no diretório de dados dentro do diretório Umbrella. Assim que o módulo tiver lido com êxito as informações do arquivo OrgInfo.json, ele tenta se registrar no OpenDNS com uma API de nuvem. Esse registro resulta na atribuição pelo OpenDNS de uma ID de dispositivo exclusiva para a máquina responsável pela tentativa. Se uma ID de dispositivo de um registro prévio já estiver disponível, o dispositivo ignorará a etapa de registro.

Depois da conclusão do registro, o módulo de roaming executa uma operação de sincronização para recuperar as informações de política do endpoint. Uma ID de dispositivo é necessária para que a operação de sincronização funcione. Os dados de sincronização incluem syncInterval, domínios de desvio interno e endereços IP, entre outras coisas. O intervalo de sincronização é a quantidade de minutos que o módulo deve esperar antes de tentar sincronizar novamente.

Comportamento de sondagem de DNS

Após o êxito no registro e na sincronização, o módulo de roaming envia sondas de Domain Name System (DNS) para seus resolvedores locais. Essas solicitações de DNS incluem consultas TXT em debug.opendns.com. De acordo com a resposta, o cliente será capaz de determinar se um dispositivo virtual do OpenDNS (VA) local existe na rede.

Se houver um dispositivo virtual (VA), o cliente faz a transição para um modo 'behind-VA' e a aplicação do DNS não é executada no endpoint. O cliente depende do VA para a aplicação do DNS na rede.

Se não houver um VA, o cliente envia uma solicitação de DNS para os resolvedores públicos do OpenDNS (208.67.222.222) com UDP/443.

Uma resposta positiva indica que a criptografia do DNS é possível. Se for recebida uma resposta negativa, o cliente envia uma solicitação de DNS para os resolvedores públicos do OpenDNS com UDP/53.

Uma resposta positiva para esta consulta indica que a proteção do DNS é possível. Se for recebida uma resposta negativa, o cliente fará a consulta novamente após alguns segundos.

Ao receber um determinado número de respostas negativas, o cliente faz a transição para o estado de falha-aberta. Um estado de falha-aberta significa que a criptografia e/ou proteção do DNS não é possível. Depois que o módulo de roaming tiver migrado com êxito para um estado protegido e/ou criptografado, todas as consultas de DNS para domínios de pesquisa fora dos domínios de pesquisa locais e domínios de desvio interno serão enviadas aos resolvedores do OpenDNS para resolução de nome. Com o estado criptografado ativado, todas as transações de DNS são criptografadas pelo processo dnscrypt.

Comportamento de DNS nos modos de tunelamento do AnyConnect

1. Tunnel-All (ou tunnel-all-DNS ativado)

Note: Como mostrado, o comportamento padrão do módulo de roaming é desativar a proteção de DNS enquanto um túnel VPN com configuração tunnel-all está ativo. Para que o módulo esteja ativo com uma configuração tunnel-all do AnyConnect, a opção de Desativar o cliente de roaming enquanto sessões VPN full-tunnel estão ativas deve ser desmarcada no portal do OpenDNS. A capacidade de ativar esse recurso exige um nível de assinatura avançado no OpenDNS. As informações abaixo presumem que a proteção de DNS pelo módulo de roaming está ativada.

Parte do domínio consultado da lista de desvio interno

Solicitações de DNS que se originam no adaptador do túnel são permitidas e enviadas para os servidores DNS do túnel, pelo túnel VPN. A consulta continuará não resolvida se não puder ser resolvida pelos servidores DNS do túnel.

Domínio consultado não faz parte da lista de desvio interno

Solicitações de DNS que se originam no adaptador do túnel são permitidas e serão transmitidas por proxy para os resolvedores públicos do OpenDNS por meio do módulo de roaming e enviadas pelo túnel VPN. Para o cliente DNS será como se a resolução de nomes tivesse ocorrido no servidor DNS da VPN. Se a resolução de nomes nos resolvedores do OpenDNS não tiver êxito, o fail over do módulo de roaming é nos servidores DNS configurados localmente, começando com o adaptador VPN (que é o adaptador preferencial enquanto o túnel está ativo).

2. Split-DNS (tunnel-all-DNS desativado)

Note: Todos os domínios de DNS dividido são automaticamente adicionados à lista de desvio interno do módulo de roaming no estabelecimento do túnel. Isso é feito para fornecer um mecanismo de processamento de DNS confiável entre o AnyConnect e o módulo de roaming. Assegure-se de que, em uma configuração de split-DNS (com tunelamento split-include), os resolvedores públicos do OpenDNS não estejam incluídos nas redes com divisão.

Note: No Mac OS X, se o split-DNS for ativado para os dois protocolos IP (IPv4 e IPv6) ou somente para um protocolo e não houver nenhum pool de endereços configurado para o outro protocolo, o split-DNS verdadeiro similar ao Windows é imposto:

Se o split-DNS está ativado para apenas um protocolo e um endereço de cliente é atribuído para o outro protocolo, apenas o fallback de DNS para split-tunneling é aplicado. Isso significa que o AnyConnect permite somente solicitações de DNS que correspondam aos domínios split-DNS no túnel (outras solicitações são respondidas pelo AC com respostas negativas para forçar o failover para servidores DNS públicos), mas não pode impor que as solicitações que correspondam aos domínios com split-DNS não circulem por um adaptador público.

Parte do domínio consultado da lista de desvio interno e também parte dos domínios Split-DNS

Solicitações de DNS que se originam no adaptador do túnel são permitidas e enviadas para os servidores DNS do túnel, pelo túnel VPN. Todas as outras solicitações para domínios correspondentes de outros adaptadores serão respondidas pelo driver do AnyConnect com 'no such name' para chegar a um split-DNS verdadeiro (impede o fallback de DNS). Portanto, somente o tráfego DNS fora do túnel é protegido pelo módulo de roaming.

Domínio consultado Parte da lista de desvio interno, mas não parte dos domínios Split-DNS

Solicitações de DNS que se originam no adaptador físico são permitidas e enviadas para os servidores DNS públicos, fora do túnel VPN. Todas as outras solicitações para domínios correspondentes vindas do adaptador do túnel serão respondidas pelo driver do AnyConnect com 'no such name' para impedir que a consulta seja enviada pelo túnel VPN.

Domínio consultado não faz parte da lista de desvio interno ou domínios Split-DNS

Solicitações de DNS que se originam no adaptador físico são permitidas, transmitidas por proxy para os resolvedores públicos do OpenDNS e enviadas para fora do túnel VPN. Para o cliente DNS, será como se a resolução de nomes tivesse ocorrido em um servidor DNS público. Se a resolução de nomes nos resolvedores do OpenDNS não tiver êxito, o módulo de roaming realizará o failover para os servidores DNS configurados localmente, o que exclui aqueles configurados no adaptador VPN. Todas as outras solicitações para domínios correspondentes vindas do adaptador do túnel serão respondidas pelo driver do AnyConnect com 'no such name' para impedir que a consulta seja enviada pelo túnel VPN.

3. Tunelamento Split-include ou Split-exclude (sem split-DNS e tunnel-all-DNS desativado)

Parte do domínio consultado da lista de desvio interno

O resolvedor nativo do sistema operacional executa a resolução de DNS com base na ordem dos adaptadores de rede e o AnyConnect é o adaptador preferencial quando a VPN está ativa. As solicitações de DNS se originarão primeiro no adaptador do túnel e serão enviadas para os servidores DNS do túnel pelo túnel VPN. Se a consulta não puder ser resolvida pelos servidores DNS do túnel, o resolvedor do sistema operacional tentará resolvê-la nos servidores DNS públicos.

Domínio consultado não faz parte da lista de desvio interno

O resolvedor nativo do sistema operacional executa a resolução de DNS com base na ordem dos adaptadores de rede e o AnyConnect é o adaptador preferencial quando a VPN está ativa. As solicitações de DNS se originarão primeiro no adaptador do túnel e serão enviadas para os servidores DNS do túnel pelo túnel VPN. Se a consulta não puder ser resolvida pelos servidores DNS do túnel, o resolvedor do sistema operacional tentará resolvê-la nos servidores DNS públicos.

Se os resolvedores públicos do OpenDNS fazem parte da lista de DNS com divisão ou não fazem parte da lista de DNS sem divisão, a solicitação transmitida por proxy é enviada pelo túnel VPN

Se os resolvedores públicos do OpenDNS não fazem parte da lista split-include ou não fazem parte da listasplit-exclude, a solicitação transmitida por proxy é enviada para fora do túnel VPN

Se a resolução de nomes nos resolvedores do OpenDNS não tiver êxito, o fail over do módulo de roaming é nos servidores DNS configurados localmente, começando com o adaptador VPN (que é o adaptador preferencial enquanto o túnel está ativo). Se a resposta final retornada pelo módulo de roaming (e transferida por proxy de volta para o cliente DNS nativo) não tiver êxito, o cliente nativo tentará outros servidores DNS, se houver.

Instalar e configurar o módulo Umbrella Roaming

A fim de integrar o módulo de roaming do OpenDNS com o cliente AnyConnect VPN, o módulo precisa ser instalado com o método pré-implantação ou o método de implantação pela Web:

Método pré-implantação (manual)

O método pré-implantação exige a instalação manual do módulo de roaming do OpenDNS e a cópia do arquivo OrgInfo.json para a máquina do usuário. Implantações em larga escala são normalmente obtidas com sistemas de gerenciamento de software empresariais (SMS).

Implantar módulo de roaming do OpenDNS

Durante a instalação do pacote AnyConnect, escolha os módulos AnyConnect VPN e AnyConnect Umbrella Roaming Security:

Implantar Orginfo.json

Para baixar o arquivo OrgInfo.json, siga estas etapas:

1. Faça login no painel OpenDNS.

2. Escolha Configuration > Identities > Roaming Computers (Configuração > Identidades > Computadores de roaming).

3. Clique no sinal +.

4. Role a página para baixo e escolha Module Profile (Perfil do módulo) na seção Anyconnect Umbrella Roaming Security Module conforme mostra a imagem:

Assim que o download do arquivo for concluído, ele deve ser salvo em um destes caminhos, dependendo do sistema operacional.

Para Mac OS X: /opt/cisco/anyconnect/Umbrella

Para Windows:  C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Umbrella

Método de implantação pela Web

Implantar módulo de roaming do OpenDNS

Faça o download do pacote do AnyConnect Security Mobility Client (por exemplo, anyconnect-win-4.3.02039-k9.pkg) no site da Cisco e carregue para a memória flash do ASA. Depois de carregar, no ASDM, escolha Group Policy > Advanced > AnyConnect Client > Optional Client Modules to Download (Política de grupo > Avançado > Cliente AnyConnect > Módulos do cliente opcional para download) e escolha Umbrella Roaming Security (Segurança de roaming do Umbrella).

Equivalente CLI

group-policy <Group_Policy_Name> attributes

webvpn

anyconnect modules value umbrella

Implantar Orginfo.json

1. Faça o download do arquivo OrgInfo.json do painel do OpenDNS e depois o upload para a memória flash do ASA.

2. Configurar a ASA para enviar o arquivo OrgInfo.json para endpoints remotos.

webvpn

anyconnect profiles OpenDNS disk0:/OrgInfo.json

!

!

group-policy <Group_Policy_Name> attribute

webvpn

anyconnect profiles value OpenDNS type umbrella

Note: Esta configuração só pode ser executada pelo CLI. Para usar o ASDM nesta tarefa, é preciso ter a versão 7.6.2 ou posterior instalada.

Assim que o cliente de roaming Umbrella é instalado por um dos métodos descritos, ele deve aparecer como um módulo integrado dentro da GUI do AnyConnect conforme mostrado nesta imagem:

Até o Orginfo.json ser implantado no endpoint no local correto, o módulo de roaming Umbrella não será inicializado.

Configurar

A seção mostra amostras de trechos de configurações CLI necessárias para operar o módulo de roaming do OpenDNS com os vários modos de tunelamento do AnyConnect.

!--- ip local pool for vpn

ip local pool vpn_pool 198.51.100.1-198.51.100.9 mask 255.255.255.224

!--- Optional NAT Hairpin configuration to reach OpenDNS servers through VPN tunnel

object network OpenDNS

subnet 198.51.100.0 255.255.255.0

nat (outside,outside) source dynamic OpenDNS interface

!

same-security-traffic permit intra-interface

!--- Global Webvpn Configuration

webvpn

enable outside

anyconnect image disk0:/anyconnect-win-4.3.01095-k9.pkg 1

anyconnect profiles Anyconnect disk0:/anyconnect.xml

anyconnect profiles OpenDNS disk0:/OrgInfo.json

anyconnect enable

tunnel-group-list enable

!--- split-include Configuration

access-list Split_Include standard permit <host/subnet>

group-policy OpenDNS_Split_Include internal

group-policy OpenDNS_Split_Include attributes

wins-server none

dns-server value 198.51.100.11

vpn-tunnel-protocol ssl-client ssl-clientless

split-tunnel-policy tunnelspecified

split-tunnel-network-list value Split_Include

split-dns value

(Optional Split-DNS Configuration)

webvpn

anyconnect profiles value AnyConnect type user

anyconnect profiles value OpenDNS type umbrella

!

tunnel-group OpenDNS_Split_Include type remote-access

tunnel-group OpenDNS_Split_Include general-attributes

address-pool vpn_pool

default-group-policy OpenDNS_Split_Include

tunnel-group OpenDNS_Split_Include webvpn-attributes

group-alias OpenDNS_Split_Include enable

!--- Split-exclude Configuration

access-list Split_Exclude standard permit <host/subnet>

group-policy OpenDNS_Split_Exclude internal

group-policy OpenDNS_Split_Exclude attributes

wins-server none

dns-server value 198.51.100.11

vpn-tunnel-protocol ssl-client ssl-clientless

split-tunnel-policy excludespecified

split-tunnel-network-list value Split_Exclude

webvpn

anyconnect profiles value AnyConnect type user

anyconnect profiles value OpenDNS type umbrella

!

tunnel-group OpenDNS_Split_Exclude type remote-access

tunnel-group OpenDNS_Split_Exclude general-attributes

address-pool vpn_pool

default-group-policy OpenDNS_Split_Exclude

tunnel-group OpenDNS_Split_Exclude webvpn-attributes

group-alias OpenDNS_Split_Exclude enable

!--- Tunnelall Configuration

group-policy OpenDNS_Tunnel_All internal

group-policy OpenDNS_Tunnel_All attributes

wins-server none

dns-server value 198.51.100.11

vpn-tunnel-protocol ssl-client ssl-clientless

split-tunnel-policy tunnelall

webvpn

anyconnect profiles value AnyConnect type user

anyconnect profiles value OpenDNS type umbrella

!

tunnel-group OpenDNS_Tunnel_All type remote-access

tunnel-group OpenDNS_Tunnel_All general-attributes

address-pool vpn_pool

default-group-policy OpenDNS_Tunnel_All

tunnel-group OpenDNS_Tunnel_All webvpn-attributes

group-alias OpenDNS_Tunnel_All enable

Verificar

No momento, não há procedimento de verificação disponível para esta configuração.

Troubleshoot

As etapas para a solução de problemas relacionados ao AnyConnect usado junto com o OpenDNS são:

1. Assegure-se de que o módulo de segurança de roaming Umbrella esteja instalado junto com o Anyconnect Secure Mobility Client.

2. Assegure-se de que OrgInfo.json esteja presente no endpoint no caminho correto com base no sistema operacional e esteja no formato especificado neste documento.

3. Se consultas de DNS para os resolvedores do OpenDNS devem passar pelo túnel AnyConnect VPN, assegure-se de que o hairpin está configurado na ASA para permitir acessibilidade aos resolvedores do OpenDNS.

4. Colete capturas de pacotes (sem qualquer filtro) no adaptador virtual do AnyConnect e no adaptador físico simultaneamente e anote os domínios que não forem resolvidos.

5. Se o módulo de roaming funciona em um estado criptografado, colete as capturas de pacotes depois de bloquear o UDP 443 localmente, somente para fins de solução de problemas. Assim há visibilidade nas transações de DNS.

6. Execute o AnyConnect DART, os diagnósticos do Umbrella e anote o tempo de falha de DNS: Consulte Como coletar o pacote DART para Anyconnect para obter mais informações.

7. Coletar os registros de diagnóstico do Umbrella e enviar a URL resultante para o administrador do OpenDNS. Só você e o administrador do OpenDNS têm acesso a essas informações.
Para Windows: C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\UmbrellaDiagnostic.exe

No Mac OSX: /opt/cisco/anyconnect/bin/UmbrellaDiagnostic

Informações Relacionadas

- ID do Cisco bug CSCvb34863 : Latência na resolução de DNS quando o AnyConnect está configurado para tunelamento split-include

- Suporte Técnico e Documentação - Cisco Systems