Generación y exportación de certificados: Linux (strongSwan)

Las conexiones de punto a sitio de VPN Gateway pueden usar certificados para realizar la autenticación. En este artículo, se muestra cómo crear un certificado raíz autofirmado y generar certificados de cliente con strongSwan. También puede usar PowerShell o MakeCert.

Cada cliente debe tener instalado localmente un certificado de cliente para conectarse. Además, la información de la clave pública del certificado raíz debe cargarse en Azure. Para más información, consulte Configuración de la conexión de punto a sitio: Autenticación de certificados.

Instalación de strongSwan

Los pasos siguientes le ayudarán a instalar strongSwan.

Se usó la siguiente configuración al especificar comandos:

  • Equipo: Ubuntu Server 18.04
  • Dependencias: strongSwan

Ejecute los comandos siguientes para instalar la configuración necesaria de strongSwan:

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

Instrucciones de la CLI de Linux (strongSwan)

Los pasos siguientes le ayudan a generar y exportar certificados mediante la CLI de Linux (strongSwan). Para más información, consulte Instrucciones adicionales para instalar la CLI de Azure.

Genere el certificado de entidad de certificación.

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

Imprima el certificado de entidad de certificación en formato base64. Es el formato compatible con Azure. Cargue este certificado en Azure como parte de los pasos de configuración de P2S.

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

Genere el certificado de usuario.

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"

Genere un paquete p12 que contengan el certificado de usuario. Este conjunto de productos se usará en los pasos siguientes cuando se trabaje con los archivos de configuración de cliente.

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

Pasos siguientes

Continúe con la configuración de punto a sitio para crear e instalar archivos de configuración de cliente de VPN: Linux.