Dois requisitos são escritos como uma única frase e depois implementados em locais completamente diferentes. «Este site só deve ser acessível pela VPN» é uma afirmação sobre admissão, e seu lar natural é a rede à frente do serviço. «Este iPhone nunca deve contactar esse domínio diretamente» é uma afirmação sobre o dispositivo, e só uma política de cliente gerenciada pode expressá-la. Decida qual você realmente tem antes de abrir um editor de perfis.

Dois requisitos que soam idênticos

Pegue o host ilustrativo records.corp.example. No caso de admissão, publica-o apenas para endereços atrás da VPN, de modo que uma tentativa direta a partir de um telefone na rede celular falha na rede, enquanto o mesmo pedido pelo túnel tem sucesso e ainda exige um início de sessão real na conta. No caso do dispositivo, o telefone pode alcançar a internet pública, por isso o host resolve e responde a qualquer um, e o único lugar para parar a tentativa é o dispositivo. O serviço não pode aplicar uma regra a um pedido que nunca chega até ele.

A leitura errada do requisito manifesta-se como uma implementação concreta. O registo continua público, o operador acredita que a VPN é obrigatória, e uma auditoria de uma tentativa celular mostra que o pedido nunca entrou no túnel. Nada nos registos parece quebrado, porque nada foi bloqueado.

Leia as ações de avaliação à letra

A maquinaria a pedido tem duas camadas distintas de ações, e confundi-las produz a maior parte da confusão aqui. A ação da regra externa decide o que acontece ao túnel quando a regra coincide, e a ação de avaliação de ligação decide o que acontece a uma correspondência de nome de host dentro de uma regra de avaliação. A referência Never Connect da Apple descreve apenas a segunda camada.

LayerActionWhat it controls
Outer ruleconnectBring the tunnel up when the rule matches
Outer ruledisconnectTear the tunnel down when the rule matches
Outer ruleevaluateConnectionRun a hostname evaluation instead of acting directly
Outer ruleignoreLeave the current tunnel state alone
Connection evaluationconnectIfNeededStart the tunnel when the hostname cannot be resolved
Connection evaluationneverConnectDo not start the tunnel for that match

neverConnect é o valor que é mais frequentemente mal lido, porque o nome sugere um bloqueio. Controla o início do túnel para um nome de host correspondente, não a permissão do telefone para alcançar um nome, portanto uma entrada Never Connect não é um bloqueio de domínio. Rotulá-la assim num documento de design é como uma implementação é aprovada com uma fronteira de aplicação que não tem.

Quando o serviço é seu, aplique na fronteira

Restringir a admissão significa publicar o nome apenas onde o caminho da VPN o pode alcançar, e depois testar que o caminho previsto funciona e outro caminho não. Cubra cada registo publicado, as duas famílias de endereços se as publicar, e qualquer nome intermédio ou alternativo usado pela aplicação. Um CNAME antigo que ainda aponta para um balanceador de carga público mantém o caminho direto vivo, por muito arrumado que esteja o registo principal.

Isto protege o serviço em vez do dispositivo. Não impede o telefone de enviar uma consulta DNS, nem impede a aplicação de tentar. Se essas tentativas forem aceitáveis, a aplicação na fronteira é a escolha mais barata e duradoura, porque vale para todos os clientes e não apenas para os que configurou. Também sobrevive a um telefone que nunca foi inscrito.

Quando o telefone não deve nem tentar, precisa de uma política gerenciada

Parar a tentativa exige uma política de aplicação suportada que cubra a aplicação ou os destinos antes da ligação, durante uma falha do túnel e após uma mudança de rede. Peça ao fornecedor de VPN ou de gestão de dispositivos que nomeie essa política, diga se exige gestão organizacional e descreva o que mais afeta. Um túnel por aplicação mais uma regra a pedido não é a mesma coisa, e um atalho do ecrã inicial para uma ligação também não.

Teste o caso de falha desativando o túnel e observando se o pedido sai. Se sair, a fronteira que documentou não é a fronteira que implementou.

Decida com três perguntas

Primeiro, controla o serviço ou apenas o telefone? Segundo, pode o dispositivo usar legitimamente a internet pública para todo o resto? Terceiro, o telefone é gerido, e por quem? Possuir o serviço mais uma frota gerida significa que qualquer das camadas está disponível, enquanto possuir apenas o telefone torna a política de cliente a única opção e esta tem de ser suportada.

Responda a essas três antes de tocar num perfil. Então a configuração deixa de ser um palpite sobre o que significa uma caixa chamada Never.

Artigos relacionados