SSL-VPN con autenticación de dos factores mejora la seguridad. Para ello, exige que los clientes se autentiquen primero con un certificado de cliente SSL y después con un nombre de usuario y contraseña verificados por IDaaS (Identity as a Service). Cuando se usa la autenticación de IDaaS, es posible vincular un servidor de Active Directory (AD) para habilitar el inicio de sesión basado en AD. Este tema describe cómo usar la autenticación de dos factores de SSL-VPN para conectar un cliente a una Virtual Private Cloud (VPC) mediante un servidor de AD. Una vez establecida la conexión, el cliente puede acceder a los recursos dentro de la VPC.
Escenario
En este escenario, una empresa cuenta con una VPC en la región China (Hangzhou), donde las aplicaciones están desplegadas en instancias ECS. Por motivos de negocio, los empleados en viaje necesitan acceder de forma remota a estos recursos. Para garantizar la seguridad, la empresa exige que todos los empleados se autentiquen a través de su servidor local de Active Directory (AD) antes de acceder a los recursos de la VPC.
La empresa puede usar la función SSL-VPN de una puerta de enlace VPN y habilitar la autenticación de dos factores para la conexión SSL-VPN. También puede configurar una aplicación de IDaaS para gestionar la autenticación AD. Cuando un empleado intenta establecer una conexión SSL-VPN con Alibaba Cloud, primero debe superar la autenticación con un certificado de cliente SSL y luego la autenticación AD, gestionada por una instancia de IDaaS EIAM. La instancia de IDaaS EIAM envía las credenciales del empleado al servidor de AD de la empresa para su verificación y devuelve el resultado. Tras una verificación correcta, el empleado puede establecer una conexión SSL-VPN con Alibaba Cloud y acceder a los recursos de la VPC.
Requisitos previos
-
Creó una VPC en la región China (Hangzhou) y desplegó aplicaciones en instancias ECS dentro de dicha VPC. Para obtener más información, consulte Set up an IPv4 VPC.
Asegúrese de que las reglas del security group de las instancias ECS permiten a los clientes acceder a los recursos de la nube necesarios. Para obtener más información, consulte Query security group rules y Add a security group rule.
Compruebe que el cliente tiene acceso a Internet y que su bloque CIDR privado no se superpone con el bloque CIDR privado de la VPC.
-
Creó una instancia de IDaaS EIAM Enterprise Edition. Para obtener más información, consulte Manage instances.
ImportanteLas instancias de IDaaS EIAM 1.0 ya no están disponibles para su compra. Se recomienda usar una instancia de IDaaS EIAM 2.0. Este tema toma como ejemplo una instancia de IDaaS EIAM 2.0. Para obtener más información, consulte [[Change Announcement] SSL-VPN two-factor authentication supports IDaaS EIAM 2.0](t2719229.xdita#).
Para saber cómo usar una instancia de IDaaS EIAM 1.0, consulte IDaaS EIAM 1.0 configuration.
-
Cuenta con la dirección IP pública y el puerto de servicio del servidor de AD.
En este ejemplo, el sistema AD está desplegado en Windows Server 2022. La dirección IP pública es 47.XX.XX.62 y el puerto de servicio es 389.
-
Cuenta con el Base DN del servidor de AD.
En este ejemplo, el Base DN del servidor de AD es dc=zxtest,dc=com.
-
Cuenta con el DN, el nombre de usuario y la contraseña del administrador en el servidor de AD.
En este ejemplo, el nombre de la cuenta de administrador es Administrator y la contraseña es 1****2. El DN es cn=Administrator,cn=Users,dc=zxtest,dc=com. Por ejemplo, en Active Directory Users and Computers, expanda el nodo del dominio (por ejemplo,
zxtest.com) y el contenedor Users para ubicar al usuario Administrator. El DN esCN=Administrator,CN=Users,DC=zxtest,DC=com.
Procedimiento
Paso 1: Vincular el servidor de AD
Vincule un servidor de AD a la instancia de IDaaS EIAM para sincronizar la información de cuentas desde dicho servidor. Para obtener más información, consulte Bind AD - Inbound.
En este ejemplo, utilice los valores predeterminados para todos los parámetros, excepto los obligatorios, al vincular el servidor de AD. A continuación se muestra la información de cuentas sincronizada desde el servidor de AD hacia la instancia de IDaaS EIAM.
Una vez completada la sincronización, vaya a la pestaña Accounts. En la lista de cuentas, el campo Source de la cuenta wangwu aparece como AD Import y su estado es normal. El campo Source de otras cuentas, como zhangsan y Lisi, es Self-created. Esto confirma que las cuentas de AD se sincronizaron correctamente con la instancia de IDaaS EIAM.
Paso 2: Agregar la aplicación SSL-VPN
Inicie sesión en la consola de IDaaS.
En la página EIAM, busque la instancia de EIAM que creó en Prerequisites y, en la columna Actions, haga clic en Console.
En el panel de navegación izquierdo de la instancia de EIAM, haga clic en Application. En la página Application, haga clic en Add Application.
En la página Add Application, busque la plantilla Alibaba Cloud - SSL VPN y haga clic en Add Application.
En el cuadro de diálogo Add Application, introduzca un nombre para la aplicación y haga clic en Add.
-
En la pestaña Sign-In de la página de detalles de la aplicación, configure los siguientes parámetros y haga clic en Save en la parte inferior de la pestaña.
SSO: Mantenga esta función habilitada.
Grant Types: El valor predeterminado es Password Grant. Para IdP, seleccione el servidor de AD vinculado. El sistema utiliza este servidor para autenticar a los empleados.
Authorize: Utilice el valor predeterminado Manually. Esta configuración requiere autorizar manualmente cuentas específicas para acceder a la aplicación. Para obtener más información sobre los alcances de autorización, consulte Authorization scope.
-
Permanezca en la pestaña Sign-In y haga clic en la pestaña Application Authorization.
Otorgue permisos a las cuentas de los empleados que necesiten establecer conexiones SSL-VPN. Para obtener más información, consulte Application authorization.
Paso 3: Crear una puerta de enlace VPN
Inicie sesión en la consola de puertas de enlace VPN.
En la página VPN Gateways, haga clic en Create VPN Gateway.
-
En la página VPN Gateway, configure la puerta de enlace VPN tal como se indica a continuación, haga clic en Buy Now y complete el pago.
La siguiente tabla describe únicamente los parámetros relevantes para este tema. Mantenga los valores predeterminados para el resto de los parámetros. Para obtener más información, consulte Create and manage a VPN Gateway instance.
Parámetro
Descripción
Region
Seleccione la región donde desea crear la instancia de VPN Gateway. En este ejemplo, se selecciona China (Hangzhou).
NotaAsegúrese de que la VPC y la instancia de VPN Gateway estén en la misma región.
gateway type
Seleccione el tipo de puerta de enlace VPN que desea crear. En este ejemplo, se selecciona Standard.
Network Type
Seleccione el tipo de red de la instancia de VPN Gateway. En este ejemplo, se selecciona Public.
tunnel
El sistema muestra los modos de túnel para conexiones IPsec-VPN compatibles con la región actual.
VPC
Seleccione la VPC a la que desea conectarse.
vSwitch 1
Seleccione un vSwitch de la VPC.
Si selecciona Single-tunnel, solo necesita especificar un vSwitch.
Si selecciona Dual-tunnel, debe especificar dos vSwitches.
Después de habilitar la función IPsec-VPN, el sistema crea una interfaz de red elástica (ENI) para cada uno de los dos vSwitches. Estas interfaces sirven para comunicarse con la VPC a través de una conexión IPsec-VPN. Cada ENI ocupa una dirección IP en el vSwitch.
NotaEl sistema selecciona un vSwitch de forma predeterminada. Puede cambiarlo o usar el vSwitch predeterminado.
Una vez creada la puerta de enlace VPN, no es posible modificar el vSwitch asociado. En la página de detalles de la puerta de enlace VPN puede consultar el vSwitch asociado, la zona a la que pertenece y la ENI correspondiente.
vSwitch 2
Seleccione el segundo vSwitch de la VPC.
Especifique dos vSwitches en zonas distintas dentro de la VPC asociada para implementar la recuperación ante desastres entre zonas en las conexiones IPsec-VPN.
En una región que solo admite una zona, no es posible aplicar la recuperación ante desastres entre zonas. Se recomienda especificar dos vSwitches en la misma zona para lograr alta disponibilidad en las conexiones IPsec-VPN. También puede seleccionar el mismo vSwitch que usó como primero.
NotaSi la VPC no cuenta con un segundo vSwitch, cree uno. Para obtener más información, consulte Create and manage a vSwitch.
IPsec-VPN
Indica si se habilita la función IPsec-VPN. En este ejemplo, seleccione Disable.
SSL-VPN
Indica si se habilita la función SSL-VPN. En este ejemplo, seleccione Enable.
SSL connections
Seleccione el número máximo de clientes que pueden conectarse al mismo tiempo.
NotaSolo es posible configurar SSL Connections después de habilitar la función SSL-VPN.
-
Regrese a la página VPN Gateways para consultar la instancia de VPN Gateway.
Una nueva instancia de VPN Gateway se encuentra en estado Preparing. Después de 1 a 5 minutos, el estado cambia a Normal. El estado Normal indica que la instancia de VPN Gateway se inicializó correctamente.
Paso 4: Crear un servidor SSL
En el panel de navegación izquierdo, elija .
-
En la barra de navegación superior, seleccione la región del servidor SSL.
NotaAsegúrese de que el servidor SSL y la instancia de VPN Gateway estén en la misma región.
En la página SSL Server, haga clic en Create SSL Server.
-
En el panel Create SSL Server, configure el servidor SSL según la siguiente tabla y haga clic en OK.
La siguiente tabla describe únicamente los parámetros relevantes para este tema. Mantenga los valores predeterminados para el resto de los parámetros. Para obtener más información, consulte Create and manage an SSL server.
Parámetro
Descripción
VPN Gateways
Seleccione la instancia de VPN Gateway que creó.
Local Network
Introduzca el bloque CIDR de la VPC a la que desea acceder. En este ejemplo se usa 192.168.0.0/16.
Client CIDR Block
Introduzca el bloque CIDR que utilizará el cliente para acceder a la VPC. En este ejemplo se usa 10.0.0.0/24.
ImportanteLa máscara de subred del bloque CIDR del cliente debe tener entre 16 y 29 bits de longitud.
El bloque CIDR del cliente no debe superponerse con Local Network, el bloque CIDR de la VPC ni ningún bloque CIDR enrutado en el cliente.
Utilice bloques CIDR privados como 10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16, o sus subredes. Si necesita usar un rango de IP públicas, configúrelo como un bloque CIDR definido por el usuario en la VPC para garantizar un enrutamiento adecuado. VPC FAQ y VPC FAQ.
Después de crear el servidor SSL, el sistema agrega una ruta para el bloque CIDR del cliente en la tabla de rutas de la VPC. No agregue esta ruta manualmente, ya que podría interrumpir el tráfico SSL-VPN. Si un vSwitch está asociado a una tabla de rutas personalizada, el sistema no agrega automáticamente la ruta del bloque CIDR del cliente a dicha tabla. Debe agregar manualmente una entrada de ruta cuyo bloque CIDR de destino sea el bloque CIDR del cliente y cuyo siguiente salto sea la puerta de enlace VPN. De lo contrario, los hosts en los bloques CIDR asociados a la tabla de rutas personalizada no podrán comunicarse con los clientes SSL-VPN.
Advanced Settings
Habilite la autenticación de dos factores. Este tema utiliza EIAM 2.0. Mantenga los valores predeterminados para el resto de las configuraciones.
IDaaS Instance Region: Seleccione China (Hangzhou).
IDaaS Instance: Seleccione la instancia de EIAM que creó en los requisitos previos.
IDaaS Application: Seleccione la aplicación SSL-VPN de Alibaba Cloud que agregó.
NotaAl crear un servidor SSL en la región EAU (Dubái), vincule una instancia de IDaaS EIAM 2.0 en la región Singapur para reducir la latencia entre regiones.
Paso 5: Crear un certificado de cliente SSL
En el panel de navegación izquierdo, elija .
En la página SSL Client, haga clic en Create SSL Client.
En el panel Create SSL Client, introduzca un nombre para el certificado de cliente SSL, seleccione el SSL Server correspondiente y haga clic en OK.
-
En la página SSL Client, busque el certificado de cliente SSL que creó y haga clic en Download Certificate en la columna Actions.
Guarde el certificado de cliente SSL descargado. Lo necesitará para configurar el cliente.
Paso 6: Configurar el cliente
Cliente Linux
Abra la interfaz de línea de comandos (CLI).
-
Ejecute el siguiente comando para instalar el cliente OpenVPN.
CentOS
yum install -y openvpn mkdir -p /etc/openvpn/confUbuntu
apt-get update apt-get install -y openvpn mkdir -p /etc/openvpn/conf Extraiga el paquete del certificado de cliente SSL descargado y copie los archivos en el directorio /etc/openvpn/conf/.
-
Vaya al directorio /etc/openvpn/conf/, ejecute el siguiente comando e introduzca el nombre de usuario y la contraseña. Una vez que el servidor de AD autentique al cliente, se establece la conexión SSL-VPN.
openvpn --config /etc/openvpn/conf/config.ovpn --daemon[root@iZufxxxmcZ ~]# cd /etc/openvpn/conf [root@iZufxxxmcZ conf]# openvpn --config /etc/openvpn/conf/config.ovpn --daemon Enter Auth Username: wangwu Enter Auth Password: ********* [root@iZufxxx conf]# ps aux | grep openvpn ogt 21148 0.0 0.1 14664 5712 ? Ss May10 0:00 openvpn --config /etc/openvpn/conf/config.ovpn --daemon root 23249 0.0 0.0 21528 916 pts/0 S+ 10:46 0:00 grep --color=auto openvpn
Cliente Windows
-
Descargue el cliente OpenVPN compatible con su versión de Windows y complete la instalación siguiendo las indicaciones de la interfaz:
Sistema Windows de 64 bits (Intel/AMD): cliente OpenVPN (Windows de 64 bits).
Sistema Windows ARM64: cliente OpenVPN (Windows ARM64).
-
Descomprima el certificado de cliente SSL descargado y copie todos los archivos extraídos en el directorio de configuración de OpenVPN.
Ruta predeterminada:
C:\Program Files\OpenVPN\configNota: Si modificó la ruta de instalación, cópielos en la carpeta config de su directorio de instalación real.

-
Abra el archivo
config.ovpncon el Bloc de notas y agregue la siguiente línea al final:disable-dco.La función Data Channel Offload (DCO), introducida en OpenVPN 2.6, presenta problemas de compatibilidad en algunos sistemas Windows (como ciertas versiones de Windows 10/11). Esta configuración deshabilita DCO para resolver el problema que impide la conexión en algunos dispositivos.

Inicie el cliente OpenVPN, haga clic en Connect e introduzca su nombre de usuario y contraseña. Una vez que el servidor de AD autentique al cliente, se establece la conexión SSL-VPN.
Cliente macOS (OpenVPN)
Abra una ventana de línea de comandos.
-
Si Homebrew no está instalado, ejecute el siguiente comando para instalarlo.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Ejecute el siguiente comando para instalar el cliente OpenVPN.
brew install openvpn -
Extraiga el certificado de cliente SSL descargado y copie los archivos en el directorio de configuración.
-
Respalde todos los archivos de configuración en la carpeta /usr/local/etc/openvpn.
ImportanteLa ruta de instalación predeterminada de OpenVPN puede variar según la versión de macOS. Asegúrese de usar la ruta de instalación real en los pasos siguientes.
-
Ejecute el siguiente comando para eliminar los archivos de configuración de OpenVPN.
rm /usr/local/etc/openvpn/* -
Ejecute el siguiente comando para copiar el certificado de cliente SSL descargado en el directorio de configuración.
cp cert_location /usr/local/etc/openvpn/cert_locationes la ruta del certificado de cliente SSL descargado. Ejemplo: /Users/example/Downloads/certs6.zip.
-
-
Ejecute el siguiente comando para extraer el certificado.
cd /usr/local/etc/openvpn/ unzip /usr/local/etc/openvpn/certs6.zip -
Vaya al directorio /usr/local/etc/openvpn/, ejecute el siguiente comando e introduzca el nombre de usuario y la contraseña para establecer la conexión SSL-VPN.
sudo /usr/local/opt/openvpn/sbin/openvpn --config /usr/local/etc/openvpn/config.ovpn
Paso 7: Probar la conectividad
Después de completar los pasos anteriores, el cliente puede acceder de forma remota a los recursos de la VPC. A continuación se describe cómo probar la conectividad entre un cliente Linux y la VPC.
Abra la ventana de línea de comandos en el cliente.
-
Ejecute el comando
pingpara acceder a la instancia ECS1 en la VPC y comprobar la conectividad.ping <IP address of the ECS1 instance>Si recibe paquetes de respuesta como los que se muestran a continuación, el cliente se conectó correctamente a la VPC.
[root@iZuf6 ihcZ conf]# ping 192.168.10.154 PING 192.168.10.154 (192.168.10.154) 56(84) bytes of data. 64 bytes from 192.168.10.154: icmp_seq=1 ttl=63 time=11.9 ms 64 bytes from 192.168.10.154: icmp_seq=2 ttl=63 time=11.7 ms 64 bytes from 192.168.10.154: icmp_seq=3 ttl=63 time=11.7 ms 64 bytes from 192.168.10.154: icmp_seq=4 ttl=63 time=11.8 ms 64 bytes from 192.168.10.154: icmp_seq=5 ttl=63 time=11.5 ms ^Z [8]+ Stopped ping 192.168.10.154 [root@iZuf6hgotc :Z conf]#
Configuración de IDaaS EIAM 1.0
Para usar una instancia de IDaaS EIAM 1.0, siga los pasos a continuación. Debe enable LDAP authentication y vincular la instancia de EIAM 1.0 cuando cree el servidor SSL. Los demás pasos son los mismos que para EIAM 2.0.
de la columna status y luego haga clic en Submit en el cuadro de diálogo que aparece para habilitar el origen de autenticación LDAP.