
Fala pessoal, tudo bem com vocês?
Chegamos ao terceiro artigo dessa série, se você quiser conferir a introdução a VPN e a configuração do VPN Gateway, basta clicar nos links abaixo:
Parte 2
Hoje vamos mostrar como configurar um cliente vpn para acessar o Azure, e no final do artigo teremos um mapa parecido com este:

Continuando o artigo anterior que já temos o Gateway VPN, agora vamos preparar o cliente vpn, existem 3 métodos de autenticação disponíveis no Azure VPN Gateway:
1 – Certificado do Azure – Certificado Raiz auto assinado no Azure e instalação de certificado cliente para os usuários que queiram se conectar
2 – Autenticação RADIUS – Um servidor RADIUS implantado poderá ser utilizado para realizar autenticação do cliente VPN.
3 – Azure Active Directory (AAD) – Utilizar o próprio Azure Active directory e os usuários do seu tenant para autenticar os clientes VPN
GERAR UM CERTIFICADO AUTO ASSINADO COM POWERSHELL
Neste artigo vamos utilizar o Certificado digital para conectar nossos clientes vpn, então para isso vamos gerar um certificado auto assinado no powershell do Windows, então abra o powershell em modo administrador no seu Windows
CERTIFICADO RAIZ
Poderá utilizar o comando abaixo para gerar o certificado raiz no powershell, alterando somente o common name (CN) na opção “CN=nome-certificado-principal”
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
-Subject "CN=CertificadoPrincipal-VPN" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation “Cert:\CurrentUser\My” -KeyUsageProperty Sign -KeyUsage CertSi

Agora que geramos o certificado root, vamos gerar o certificado cliente
GERAR UM CERTIFICADO CLIENT
Cada computador que vai se conectar na VPN, precisa do certificado instalado, vamos gerar um certificado cliente com base no certificado recém-criado, utilizando o comando abaixo:
Poderá também só alterar o common name (CN) na opção “CN=nome-Certificado-cliente”
New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
-Subject "CN=Certificadocliente-VPN" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" -Signer $cert -TextExtension @(“2.5.29.37={text}1.3.6.1.5.5.7.3.2”)

CHAVE PÚBLICA E CERTIFICADO
Vamos executar 3 passos agora, exportar a chave pública, colocá-la no Azure e exportar o certificado client para ser instalado no computador que vai conectar:
PASSO 1 – EXPORTAR CHAVE PÚBLICA
Para exportar a chave pública, vamos executar o comando (Windows + R) para abrir o executável e depois certmgr.msc (gerenciador de certificado do Windows)

O comando abrirá a tela de gerenciamento dos certificados do usuário, vá até o diretório Pessoal -> Certificados Lá terão os dois certificados que foram gerados no powershell, vamos exportar o Certificado Principal (No meu caso o nome gerado no certificado é CertificadoPrincipal-VPN)

Vamos selecionar o certificado principal e clicar em exportar:

Nas próximas telas vamos selecionar as opções:
1 – Não, Não exportar a chave privada;
2 – X.509 codificado na base 64 (*.cer);
3 – Selecionar a pasta e definir um nome para o certificado exportado;



PASSO 2 – IMPORTAR CHAVE RAIZ NO AZURE
Com o certificado exportado, agora basta abrir esse mesmo certificado (Certificado-Principal-VPN.cer) com o bloco de notas, que teremos uma chave semelhante a mostrada abaixo:

Vamos copiar todo o código que aparecer depois de – – – – BEGIN CERTIFICATE – – – – e antes do – – – – END CERTIFICATE – – – –
Agora vamos importar no Portal do Azure, no Gateway de VPN que criamos, vamos até o item Configuração de ponto a site, configurar o pool de endereços que será distribuído nos clients vpns e colar o certificado copiado, conforme imagem abaixo.

POOL DE ENDEREÇOS
Vamos definir um pool de endereços, esse pool de endereços será o “DHCP” que serão distribuídos no cliente VPN, tente colocar uma classe de IP que não é comum, para não dar conflito de endereçamento (overlap), a rede que vou definir é 192.168.20.0/24.
TIPO DE TÚNEL
Na opção tipo de túnel, conforme expliquei nos artigos anteriores, vamos definir o tipo de cliente, eu recomendo deixar a IKEv2 e SSTP essas duas opções funcionarão em MacOS e Windows.
TIPO DE AUTENTICAÇÃO
No tipo de autenticação vamos selecionar a opção Certificado do Azure, podemos selecionar mais de um tipo, mas para esse momento vamos manter apenas uma opção
CERTIFICADO RAIZ
Depois de selecionado o tipo de autenticação, a opção Certificado Raiz aparecerá, vamos definir um nome para o certificado e na opção Dados de certificado público vamos colar o código que copiamos no certificado exportado que copiamos no bloco de notas (certificado-principal-vpn.cer)

No final essa foi a configuração que ficou no meu caso:

Agora basta salvar e após o processo concluído o botão “Baixar cliente VPN” estará habilitado e você poderá baixar o cliente:
PASSO 3 -EXPORTAR CHAVE CERTIFICADO CLIENT
Para efetuar a instalação dos cliente VPN nas máquinas, vamos precisar exportar também o certificado cliente e instalar em todos os computadores que utilizarão a VPN.
Vamos no gerenciador de certificados e exportar o certificado cliente com a chave privada, adicionar uma senha qualquer, no caso do nosso tutorial é o certificado (Certificadocliente-VPN), seguir conforme imagens abaixo:

Nas próximas telas vamos selecionar as opções:
1 – Sim, exportar a chave privada;
2 – Troca de informações Pessoais – PKCS nº 12 (.PFX, P12):
- Incluir todos os certificados no caminho de certificação, se possível
- Habilitar privacidade de certificados
3 – Vamos criar uma senha qualquer;
4 – Selecionar a pasta e definir um nome para o certificado exportado;




Agora podemos baixar o cliente VPN direto do Portal do Azure, e instalar o cliente e o certificado pfx na máquina que deseja que conecte na VPN>
O cliente VPN já vai vir com as configurações necessárias de conexão, bastando instalar o certificado digital que criamos e exportamos com senha.

Após baixar o cliente vpn e instalar o certificado, só instalar o executável correspondente a sua instalação;

E depois conectar na VPN:

Depois de conectado você pode conferir o status da conexão:


E podemos conferir a comunicação com o ip privado do servidor em Nuvem:

Respondendo o ping da máquina conectada na VPN:

Nos próximos artigos vamos trabalhar com rotas e começar a efetuar o bloqueio de navegação para quem conectar na VPN. Você pode conferir o artigo clicando no link abaixo:
Nos vemos nos próximos posts
Até mais😉
1 Trackback / Pingback