Um pacote de aprovisionamento cria uma ligação IKEv2, e o perfil resultante negoceia algo diferente do conjunto que tinha em mente. O pacote fez o seu trabalho; simplesmente nunca teve um campo para a tarefa que assumiu. Trate o conjunto criptográfico como um passo de aprovisionamento separado e verificável.

Percorra os cinco pontos abaixo por ordem e mantenha os resultados de aceitação separados.

Dois tipos de política por trás de nomes parecidos

O Windows separa a política que protege a troca de chaves da política que protege o tráfego. O lado IKE é configurado por um método de cifra e um método de integridade. O lado dos dados é configurado por constantes de cifra e de transformação de autenticação, e essas constantes usam nomes próprios. Uma única etiqueta AES copiada para o campo errado produz uma ligação que se estabelece sob uma política que ninguém aprovou.

O grupo de troca de chaves e o sigilo perfeito para a frente pertencem à mesma negociação e têm de ser aceitáveis para o gateway. Defini-los sem verificar o extremo remoto produz uma falha numa fase posterior à que estava a editar, e é por isso que estes erros parecem problemas do gateway.

Construa uma política completa, não dois nomes de algoritmo

Escreva cada campo de forma explícita, incluindo os que considera predefinidos. Uma política parcial aplicada com um sinalizador de força torna-se a configuração guardada, e os valores que omitiu são os que a plataforma tinha nesse momento. Os valores que começam pelo mesmo prefixo não são intermutáveis entre campos, e um dos nomes de transformação conhecidos só é válido como transformação de autenticação.

$policy = @{
    ConnectionName = 'Corp IKEv2'
    AllUserConnection = $true
    EncryptionMethod = 'AES256'
    IntegrityCheckMethod = 'SHA384'
    CipherTransformConstants = 'AES256'
    AuthenticationTransformConstants = 'SHA384128'
    DHGroup = 'Group19'
    PfsGroup = 'PFS2048'
    Force = $true
}
Set-VpnConnectionIPsecConfiguration @policy

Trate esse bloco como um conjunto ilustrativo que ambos os pares têm de suportar, não como uma recomendação. O interruptor de força suprime um pedido; não aprova um pacote que não tenha revisto.

Primeiro crie, depois aplique — num único âmbito

A ligação tem de existir antes de a política poder ser definida, e o âmbito tem de coincidir em cada passo. Um passo em contexto de máquina não consegue encontrar o perfil privado de um utilizador arbitrário só porque o nome apresentado é o mesmo. As ligações para todos os utilizadores, as ligações de utilizador e os respetivos diretórios de estado são objetos separados com nomes separados.

A ordem importa mais do que parece num pacote de aprovisionamento, porque dois comandos podem correr mais perto um do outro do que a criação da ligação leva. Embale o trabalho após a configuração como um comando de aprovisionamento aprovado com um contexto de execução declarado, e deixe o motor de aprovisionamento sequenciá-lo em vez de inserir um atraso adivinhado. Uma espera suficientemente longa no seu hardware de teste é uma condição de corrida com um atraso anexado. Registe a dependência em vez da duração.

Os campos documentados do Configuration Designer descrevem uma definição de VPN e não expõem todos os controlos nativos de IPsec. Se o requisito for uma entrega gerida, o fornecedor do serviço de configuração VPNv2 tem uma secção de conjunto criptográfico exatamente para esse fim.

Nomeie um único proprietário da política

Uma atualização posterior do perfil de gestão pode recriar a ligação e substituir o que um script aplicou, e a substituição parecerá uma regressão. Decida se o conjunto pertence ao perfil, a um script ou ao canal de gestão, e faça com que as atualizações de rotina sigam o mesmo caminho da primeira instalação.

Dois proprietários são o mesmo que nenhum quando os dois discordam. Escreva o nome do proprietário no registo de alterações do perfil. A próxima atualização seguirá o que esse registo disser.

Verifique o resultado negociado, não o pacote

Leia o perfil guardado e o seu âmbito, depois estabeleça uma ligação nova e compare as propostas selecionadas no gateway. Confirme também o comportamento de renovação de chaves, porque um aperto de mão inicial pode ter êxito com um conjunto que uma fase posterior recusa.

Get-VpnConnection -Name 'Corp IKEv2' -AllUserConnection | Format-List
Get-ChildItem 'C:\ProgramData\Microsoft\Network\Connections\Pbk' | Select-Object Name, LastWriteTime

Três resultados de aceitação não são o mesmo acontecimento: o pacote foi instalado, o perfil existe com a política pretendida e os pares negociaram-no. Mantenha-os separados, para que um campo em falta nunca seja reparado enfraquecendo a autenticação ou ativando uma alternativa que ninguém escolheu.

Artigos relacionados