Configurar clientes VPN ponto a site: autenticação de certificado - Linux

Este artigo ajuda você a se conectar à sua rede virtual do Azure (VNet) usando o Gateway VPN ponto a site (P2S) e a autenticação de certificado de um cliente Linux. Há vários conjuntos de etapas neste artigo, dependendo do tipo de túnel selecionado para sua configuração P2S, do sistema operacional e do cliente VPN usado para se conectar.

Antes de começar

Antes de começar, verifique se você está no artigo correto. A tabela a seguir mostra os artigos de configuração disponíveis para clientes VPN P2S do Gateway de VPN do Azure. As etapas são diferentes, dependendo do tipo de autenticação, do tipo de túnel e do sistema operacional cliente.

Autenticação Tipo de túnel Gerar arquivos de configuração Configurar cliente VPN
Certificado do Azure IKEv2, SSTP Windows Cliente VPN nativo
Certificado do Azure OpenVPN Windows - Cliente OpenVPN
- Cliente VPN do Azure
Certificado do Azure IKEv2, OpenVPN macOS-iOS macOS-iOS
Certificado do Azure IKEv2, OpenVPN Linux Linux
Microsoft Entra ID OpenVPN (SSL) Windows Windows
Microsoft Entra ID OpenVPN (SSL) macOS macOS
RADIUS - certificado - Artigo Artigo
RADIUS - palavra-passe - Artigo Artigo
RADIUS - outros métodos - Artigo Artigo

Importante

A partir de 1 de julho de 2018, o suporte será removido para o TLS 1.0 e 1.1 do Gateway de VPN do Azure. O Gateway de VPN irá suportar apenas o TLS 1.2. Apenas as conexões ponto-a-site são afetadas; As conexões site a site não serão afetadas. Se você estiver usando TLS para VPNs ponto a site em clientes Windows 10 ou posteriores, não precisará tomar nenhuma ação. Se você estiver usando TLS para conexões ponto a site em clientes Windows 7 e Windows 8, consulte as Perguntas frequentes sobre o Gateway VPN para obter instruções de atualização.

Gerar certificados

Para autenticação de certificado, um certificado de cliente deve ser instalado em cada computador cliente. O certificado de cliente que você deseja usar deve ser exportado com a chave privada e deve conter todos os certificados no caminho de certificação. Além disso, para algumas configurações, você também precisará instalar as informações do certificado raiz.

Para obter informações sobre como trabalhar com certificados, consulte Point-to-site: Generate certificates.

Gerar arquivos de configuração do cliente VPN

Todas as definições de configuração necessárias para os clientes VPN estão contidas em um arquivo zip de configuração de perfil de cliente VPN. Os arquivos de configuração de perfil de cliente VPN que você gera são específicos para a configuração do gateway VPN P2S para a rede virtual. Se houver alguma alteração na configuração da VPN P2S depois de gerar os arquivos, como alterações no tipo de protocolo VPN ou no tipo de autenticação, você precisará gerar novos arquivos de configuração de perfil de cliente VPN e aplicar a nova configuração a todos os clientes VPN que deseja conectar. Para obter mais informações sobre conexões P2S, consulte Sobre VPN ponto a site.

Para gerar arquivos de configuração usando o portal do Azure:

  1. No portal do Azure, vá para o gateway de rede virtual da rede virtual à qual você deseja se conectar.

  2. Na página de gateway de rede virtual, selecione Configuração ponto a site para abrir a página Configuração ponto a site.

  3. Na parte superior da página de configuração Ponto a Site, selecione Baixar cliente VPN. Isso não baixa o software do cliente VPN, ele gera o pacote de configuração usado para configurar clientes VPN. Leva alguns minutos para o pacote de configuração do cliente gerar. Durante esse tempo, você pode não ver nenhuma indicação até que o pacote gere.

    Captura de ecrã da página de configuração Ponto-a-site.

  4. Depois que o pacote de configuração é gerado, seu navegador indica que um arquivo zip de configuração do cliente está disponível. Tem o mesmo nome que o seu gateway.

  5. Descompacte o arquivo para visualizar as pastas. Você usará alguns ou todos esses arquivos para configurar seu cliente VPN. Os arquivos gerados correspondem às configurações de autenticação e tipo de túnel que você configurou no servidor P2S.

Em seguida, configure o cliente VPN. Selecione uma das seguintes instruções:

IKEv2 - passos fortesSwan

Instale strongSwan

A seguinte configuração foi usada ao especificar comandos:

  • Computador: Ubuntu Server 18.04
  • Dependências: strongSwan

Use os seguintes comandos para instalar a configuração strongSwan necessária:

sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0

Instalar certificados

Um certificado de cliente é necessário para autenticação ao usar o tipo de autenticação de certificado do Azure. Um certificado de cliente deve ser instalado em cada computador cliente. O certificado de cliente exportado deve ser exportado com a chave privada e deve conter todos os certificados no caminho de certificação. Certifique-se de que o computador cliente tem o certificado de cliente apropriado instalado antes de prosseguir para a próxima seção.

Para obter informações sobre certificados de cliente, consulte Gerar certificados - Linux.

Visualizar arquivos de perfil de cliente VPN

Vá para os arquivos de configuração do perfil do cliente VPN baixados. Você pode encontrar todas as informações necessárias para a configuração na pasta Genérico . O Azure não fornece um arquivo mobileconfig para essa configuração.

Se você não vir a pasta Genérico, verifique os seguintes itens e gere o arquivo zip novamente.

  • Verifique o tipo de túnel para a sua configuração. É provável que o IKEv2 não tenha sido selecionado como um tipo de túnel.
  • No gateway VPN, verifique se a SKU não é Básica. O VPN Gateway Basic SKU não suporta IKEv2. Em seguida, selecione IKEv2 e gere o arquivo zip novamente para recuperar a pasta Genérico.

A pasta Generic contém os seguintes ficheiros:

  • VpnSettings.xml, que contém configurações importantes, como endereço do servidor e tipo de túnel.
  • VpnServerRoot.cer, que contém o certificado raiz necessário para validar o gateway de VPN do Azure durante a configuração da conexão P2S.

Depois de visualizar os ficheiros, continue com os passos que pretende utilizar:

passos de GUI strongSwan

Esta seção orienta você pela configuração usando a GUI strongSwan. As seguintes instruções foram criadas no Ubuntu 18.0.4. Ubuntu 16.0.10 não suporta strongSwan GUI. Se você quiser usar o Ubuntu 16.0.10, você terá que usar a linha de comando. Os exemplos a seguir podem não corresponder às telas que você vê, dependendo da sua versão do Linux e strongSwan.

  1. Abra o Terminal para instalar strongSwan e seu Network Manager executando o comando no exemplo.

    sudo apt install network-manager-strongswan
    
  2. Selecione Configurações e, em seguida, selecione Rede. Selecione o + botão para criar uma nova conexão.

    A captura de tela mostra a página de conexões de rede.

  3. Selecione IPsec/IKEv2 (strongSwan) no menu e clique duas vezes.

    A captura de tela mostra a página Adicionar VPN.

  4. Na página Adicionar VPN, adicione um nome para sua conexão VPN.

    A captura de tela mostra Escolha um tipo de conexão.

  5. Abra o arquivo VpnSettings.xml da pasta Generic contida nos arquivos de configuração do perfil do cliente VPN baixados. Encontre a tag chamada VpnServer e copie o nome, começando com 'azuregateway' e terminando com '.cloudapp.net'.

    A captura de tela mostra dados de cópia.

  6. Cole o nome no campo Endereço da sua nova conexão VPN na seção Gateway . Em seguida, selecione o ícone de pasta no final do campo Certificado , navegue até a pasta Genérico e selecione o arquivo VpnServerRoot .

  7. Na seção Cliente da conexão, para Autenticação, selecione Certificado/chave privada. Em Certificado e Chave privada, escolha o certificado e a chave privada criados anteriormente. Em Opções, selecione Solicitar um endereço IP interno. Em seguida, selecione Adicionar.

    A captura de tela mostra Solicitar um endereço IP interno.

  8. Ligue a ligação.

    A captura de tela mostra a cópia.

passos strongSwan CLI

Esta seção orienta você pela configuração usando a CLI strongSwan.

  1. Na pasta Generic dos arquivos de configuração do perfil do cliente VPN, copie ou mova o VpnServerRoot.cer para /etc/ipsec.d/cacerts.

  2. Copie ou mova os arquivos gerados para /etc/ipsec.d/certs e /etc/ipsec.d/private/ respectivamente. Esses arquivos são o certificado do cliente e a chave privada, eles precisam estar localizados em seus diretórios correspondentes. Use os seguintes comandos:

    sudo cp ${USERNAME}Cert.pem /etc/ipsec.d/certs/
    sudo cp ${USERNAME}Key.pem /etc/ipsec.d/private/
    sudo chmod -R go-rwx /etc/ipsec.d/private /etc/ipsec.d/certs
    
  3. Execute o seguinte comando para anotar seu nome de host. Você usará esse valor na próxima etapa.

    hostnamectl --static
    
  4. Abra o arquivo VpnSettings.xml e copie o <VpnServer> valor. Você usará esse valor na próxima etapa.

  5. Ajuste os valores no exemplo a seguir e adicione o exemplo à configuração /etc/ipsec.conf .

    conn azure
          keyexchange=ikev2
          type=tunnel
          leftfirewall=yes
          left=%any
          # Replace ${USERNAME}Cert.pem with the key filename inside /etc/ipsec.d/certs  directory. 
          leftcert=${USERNAME}Cert.pem
          leftauth=pubkey
          leftid=%client # use the hostname of your machine with % character prepended. Example: %client
          right= #Azure VPN gateway address. Example: azuregateway-xxx-xxx.vpn.azure.com
          rightid=% #Azure VPN gateway FQDN with % character prepended. Example: %azuregateway-xxx-xxx.vpn.azure.com
          rightsubnet=0.0.0.0/0
          leftsourceip=%config
          auto=add
          esp=aes256gcm16
    
  6. Adicione os valores secretos a /etc/ipsec.secrets.

    O nome do arquivo PEM deve corresponder ao que você usou anteriormente como seu arquivo de chave de cliente.

    : RSA ${USERNAME}Key.pem  # Replace ${USERNAME}Key.pem with the key filename inside /etc/ipsec.d/private directory. 
    
  7. Finalmente, execute os seguintes comandos:

    sudo ipsec restart
    sudo ipsec up azure
    

Etapas do OpenVPN

Esta seção ajuda você a configurar clientes Linux para autenticação de certificado que usa o tipo de túnel OpenVPN. Para se conectar ao Azure, baixe o cliente OpenVPN e configure o perfil de conexão.

Nota

A versão 2.6 do OpenVPN Client ainda não é suportada.

  1. Abra uma nova sessão do Terminal. Você pode abrir uma nova sessão pressionando 'Ctrl + Alt + t' ao mesmo tempo.

  2. Digite o seguinte comando para instalar os componentes necessários:

    sudo apt-get install openvpn
    sudo apt-get -y install network-manager-openvpn
    sudo service network-manager restart
    
  3. Em seguida, vá para a pasta de perfil do cliente VPN e descompacte para visualizar os arquivos.

  4. Exporte o certificado de cliente P2S que você criou e carregou para sua configuração P2S no gateway. Para conhecer as etapas, consulte Gateway de VPN ponto a site.

  5. Extraia a chave privada e a impressão digital base64 do .pfx. Existem várias formas de o fazer. Usar OpenSSL no seu computador é uma maneira.

    openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
    

    O arquivo profileinfo.txt conterá a chave privada e a impressão digital da autoridade de certificação e o certificado do cliente. Certifique-se de usar a impressão digital do certificado do cliente.

  6. Abra profileinfo.txt em um editor de texto. Para obter a impressão digital do certificado do cliente (filho), selecione o texto incluindo e entre "-----BEGIN CERTIFICATE-----" e "-----END CERTIFICATE-----" para o certificado filho e copie-o. Você pode identificar o certificado de criança observando a linha subject=/.

  7. Abra o arquivo vpnconfig.ovpn e encontre a seção mostrada abaixo. Substitua tudo entre "cert" e "/cert".

    # P2S client certificate
    # please fill this field with a PEM formatted cert
    <cert>
    $CLIENTCERTIFICATE
    </cert>
    
  8. Abra o profileinfo.txt em um editor de texto. Para obter a chave privada, selecione o texto incluindo e entre "-----BEGIN PRIVATE KEY-----" e "-----END PRIVATE KEY-----" e copie-o.

  9. Abra o arquivo vpnconfig.ovpn em um editor de texto e localize esta seção. Cole a chave privada substituindo tudo entre "key" e "/key".

    # P2S client root certificate private key
    # please fill this field with a PEM formatted key
    <key>
    $PRIVATEKEY
    </key>
    
  10. Não altere nenhum outro campo. Utilize a configuração preenchida na entrada de cliente para ligar à VPN.

    • Para se conectar usando a linha de comando, digite o seguinte comando:

      sudo openvpn --config <name and path of your VPN profile file>&
      
    • Para desconectar usando a linha de comando, digite o seguinte comando:

      sudo pkill openvpn
      
    • Para se conectar usando a GUI, vá para as configurações do sistema.

  11. Selecione + para adicionar uma nova conexão VPN.

  12. Em Adicionar VPN, selecione Importar do arquivo....

  13. Navegue até o arquivo de perfil e clique duas vezes ou selecione Abrir.

  14. Selecione Adicionar na janela Adicionar VPN .

    A captura de tela mostra Importar do arquivo na página Adicionar VPN.

  15. Você pode se conectar ativando a VPN na página Configurações de Rede ou sob o ícone de rede na bandeja do sistema.

Próximos passos

Para etapas adicionais, retorne ao artigo original ponto a site no qual você estava trabalhando.