Partilhar via


Gerar e exportar certificados - Linux (strongSwan)

Este artigo mostra como criar um certificado raiz autoassinado e gerar certificados de cliente usando strongSwan. As etapas deste exercício ajudam a criar ficheiros .pem de certificado. Se precisar dos arquivos .pfx e .cer, consulte as instruções do Windows-PowerShell.

Para conexões ponto a site, cada cliente VPN deve ter um certificado de cliente instalado localmente para se conectar. Além disso, as informações de chave pública do certificado raiz devem ser carregadas no Azure. Para obter mais informações, consulte Configuração ponto a site - autenticação de certificado.

Instale strongSwan

Os passos seguintes ajudam-no a instalar o strongSwan.

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

  • Computador: Ubuntu Server 18.04
  • Dependencies: 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

Instruções da CLI do Linux (strongSwan)

As etapas a seguir ajudam você a gerar e exportar certificados usando a CLI do Linux (strongSwan). Para obter mais informações, consulte Instruções adicionais para instalar a CLI do Azure.

Generate the CA certificate.

ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem

Imprima o certificado da AC no formato base64, o formato suportado pelo Azure. Você carrega esse certificado no Azure como parte das etapas de configuração do P2S.

openssl x509 -in caCert.pem -outform der | base64 -w0 ; echo

Gere o certificado do usuário.

Observação

A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento requer um grau muito elevado de confiança na aplicação e acarreta riscos que não estão presentes noutros fluxos. Você só deve usar esse fluxo quando outros fluxos mais seguros, como identidades gerenciadas, não forem viáveis.

export PASSWORD="password"
export USERNAME=$(hostnamectl --static)

ipsec pki --gen --outform pem > "${USERNAME}Key.pem"
ipsec pki --pub --in "${USERNAME}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERNAME}" --san "${USERNAME}" --flag clientAuth --outform pem > "${USERNAME}Cert.pem"

Gere um pacote p12 contendo o certificado do usuário. Esse pacote será usado nas próximas etapas ao trabalhar com os arquivos de configuração do cliente.

openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"

Próximos passos

Continue with your point-to-site configuration. Consulte Configurar clientes VPN P2S: autenticação de certificado - Linux.