Gerar e exportar certificados - Linux (strongSwan)

As conexões ponto a site do Gateway VPN podem usar certificados para autenticação. Este artigo mostra como criar um certificado raiz autoassinado e gerar certificados de cliente usando strongSwan. Você também pode usar o PowerShell ou o MakeCert.

Cada cliente 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
  • 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

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.

Gere o certificado da autoridade de certificação.

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 autoridade de certificação no formato base64. Este é 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.

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 com sua configuração ponto-a-site para Criar e instalar arquivos de configuração do cliente VPN - Linux.