VPN por domínio no iPhone: decida onde ocorre a recusa
O NeverConnect impede a VPN de iniciar; não bloqueia um site. Decida se a recusa pertence à fronteira do serviço ou a uma política gerenciada.
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.
| Layer | Action | What it controls |
|---|---|---|
| Outer rule | connect | Bring the tunnel up when the rule matches |
| Outer rule | disconnect | Tear the tunnel down when the rule matches |
| Outer rule | evaluateConnection | Run a hostname evaluation instead of acting directly |
| Outer rule | ignore | Leave the current tunnel state alone |
| Connection evaluation | connectIfNeeded | Start the tunnel when the hostname cannot be resolved |
| Connection evaluation | neverConnect | Do 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.