For the complete documentation index, see llms.txt. This page is also available as Markdown.

Configuración de Devolutions Gateway en Linux

Instalar y ejecutar Devolutions Gateway en Linux es rápido y sencillo, siempre que se cumplan varios requisitos previos. Se ha utilizado Ubuntu 22.04 LTS para demostrar la instalación y la configuración.

Instalar Devolutions Gateway

  1. Vaya a la página Devolutions Gateway GitHub Release y descargue el fichero .deb de la última versión.

  2. Introduzca lo siguiente en la línea de comandos: wget https://github.com/Devolutions/devolutions-gateway/releases/download/v2024.3.2/devolutions-gateway_2024.3.2.0_amd64.deb

  3. Instale el paquete con la utilidad dpkg: sudo dpkg -i devolutions-gateway_2024.3.2.0_amd64.deb

    Los paquetes de configuración y binarios se encuentran en las siguientes ubicaciones:

    • Configuración: /etc/devolutions-gateway

    • Binario: /usr/bin/devolutions-gateway

Actualizar Devolutions Gateway

Para actualizar Devolutions Gateway en Linux, descargue el último paquete como se explica en la sección anterior y ejecute el comando de instalación. El paquete se instalará sobre la instalación existente y conservará las configuraciones.

Instalar el módulo de PowerShell del gateway

Se recomienda utilizar el módulo de PowerShell del gateway para configurar y gestionar la instancia de Devolutions Gateway en Linux.

  1. Instale PowerShell con este comando:

  2. Instale el módulo de PowerShell de Devolutions Gateway:

Una vez instalado, la configuración de Devolutions Gateway se puede iniciar, detener, ver o modificar.

Configurar los certificados

Una confianza adecuada de los certificados entre sistemas es clave para que Devolutions Gateway funcione. Funciones como WebSockets, utilizadas en las vistas del panel web de RDP, SSH, etc., requieren un certificado correctamente confiable. Un certificado de una autoridad oficial como Let's Encrypt sería lo ideal para la mayoría de los sistemas de producción. Se pueden generar certificados autofirmados, como el ejemplo que se muestra a continuación, pero requieren una configuración adicional para su confianza. Puede generar certificados en cualquier sistema y utilizarlos en Devolutions Gateway si cumplen los requisitos de certificado.

Generar un certificado LetsEncrypt en Ubuntu 22.04 LTS mediante Certbot

Una opción es generar un certificado LetsEncrypt con la utilidad Certbot. Para instalar la última versión, puede utilizar el gestor de paquetes snap. Según la distribución de Ubuntu, los repositorios APT predeterminados pueden no contener la última versión del software. En este ejemplo, se utiliza la verificación de dominio con Cloudflare como proveedor de DNS.

  1. El ejemplo siguiente muestra Certbot instalado y ejecutándose como usuario root, pero Devolutions Gateway como un usuario diferente.

  2. Cuando utilice Cloudflare, genere un token de API con ámbito de usuario o de cuenta, utilizando la plantilla Edit zone DNS. Una vez que tenga el token de API, cree la carpeta contenedora y el fichero .ini correspondiente para contener el token de API.

  3. Solicite un certificado para su dominio de Devolutions Gateway utilizando el plugin de DNS de Cloudflare. Sustituya el valor gateway.mydomain.com que aparece a continuación por su propio dominio.

  4. Modifique su fichero de configuración gateway.json para añadir las siguientes líneas y utilizar el certificado recién generado, usando el módulo de PowerShell de Devolutions Gateway. Los comandos siguientes modifican las variables de configuración TlsCertificateFile, TlsPrivateKeyFile y Listeners.

  5. Antes de poder reiniciar Devolutions Gateway para utilizar el nuevo certificado, debe permitir que el usuario que ejecuta Devolutions Gateway lea los ficheros del certificado. Esto supone que su usuario se llama devolutions y que el certificado se llama gateway. Está concediendo derechos de recorrido a los directorios y derechos de lectura a los propios ficheros del certificado.

  6. Reinicie Devolutions Gateway utilizando el comando systemctl o el módulo de PowerShell de Devolutions Gateway.

Renovar el certificado LetsEncrypt

De forma predeterminada, con el método de instalación mediante Snap, se utiliza un temporizador de systemd (en lugar de una tarea cron), que se ejecuta dos veces al día (aunque solo renueva un certificado en los 30 días previos a su caducidad). Para forzar una renovación, puede utilizar el comando siguiente.

Generar un certificado autofirmado en Ubuntu 22.04 LTS mediante OpenSSL

Con la utilidad OpenSSL, genere un certificado directamente desde la línea de comandos. A continuación, el certificado debe colocarse directamente en el directorio de configuración /etc/devolutions-gateway.

La solicitud de certificado será diferente en cada configuración.

Tenga en cuenta que el certificado debe incluir una extensión Subject Alternative Name (SAN) con un nombre DNS o una dirección IP, y también debería contener la extensión Extended Key Usage (EKU) con la finalidad Server Authentication (serverAuth). Esto es necesario porque los sistemas operativos y navegadores modernos, incluidos Google Chrome y macOS, rechazarán los certificados que carezcan de un SAN o del EKU adecuado, incluso si el Common Name (CN) está definido. Es posible relajar este requisito estableciendo la opción TlsVerifyStrict en false si es necesario, pero no se recomienda.

Opciones de personalización

Explicación

req

Crear y procesar solicitudes de certificado, incluidos certificados autofirmados en formato PKCS#10.

-x509

Genera un certificado autofirmado.

-subj

Define el asunto del certificado en la línea de comandos. No debe haber espacios entre las secciones

  • /C - País en código de 2 dígitos, como «CA» para Canadá o «US» para Estados Unidos.

  • /ST - Estado o provincia, como Quebec o California.

  • /L - Localidad, como Lavaltrie o Sacramento.

  • /O - Organización, como Devolutions o Microsoft.

  • /CN - Nombre común, aquí ubuntu-2204 (como se muestra mediante el comando hostname).

-addext

Para añadir un Subject Alternate Name (SAN), puede utilizar este parámetro para definir una entrada de IP o de DNS.

  • "subjectAltName = IP:10.10.0.20"

  • "subjectAltName = DNS:ubuntu-2204"

-nodes

No cifrar la clave privada creada.

-days

El número de días que el certificado es válido.

-newkey

Define el algoritmo y el tamaño en bits, aquí se utiliza rsa:2048.

-keyout

La ubicación donde crear el fichero de clave privada.

-out

La ubicación donde crear el fichero de clave pública.

Confiar en el certificado autofirmado en Ubuntu

El certificado TLS tiene dos finalidades:

  1. Proteger la API de gestión;

  2. Proteger cualquier túnel de cliente a Gateway en el que el gateway pueda inspeccionar o filtrar el tráfico (sitios web, Gateway Tunnel, SCP/SFTP, etc.). Para protocolos opacos como RDP o SSH, Devolutions Gateway simplemente reenvía bytes ya cifrados, pero el certificado sigue siendo necesario para las comprobaciones de estado del gateway y para funciones futuras.

Una vez creado el certificado autofirmado, será necesario confiar en el certificado dentro del sistema Ubuntu. Para confiar en él en todo el sistema, utilice el siguiente conjunto de comandos:

Es posible que ca-certificates ya esté instalado. Al ejecutar el comando update-ca-certificates se creará un enlace simbólico en /etc/ssl/certs al fichero de certificado copiado en /usr/local/share/ca-certificates.

Confiar en el certificado autofirmado en Windows

Después de crear el certificado autofirmado, será necesario confiar en él en Devolutions Server. Los ficheros server.crt y server.key deberán transferirse al sistema Windows; o bien copie y pegue su contenido en ficheros (es decir, sudo cat server.crt en Ubuntu y copiarlo en un fichero de texto en Windows).

1. Copie la clave pública a Windows (en el ejemplo, C:\Gateway es una ubicación temporal): sudo cat server.crt

  1. Copie el contenido en un fichero server.crt.

  2. Copie la clave privada a Windows: sudo cat server.key

  3. Copie el contenido en un fichero server.key.

  4. Cree un fichero PFX utilizando la herramienta de línea de comandos certutil de Windows. Para que esto funcione, el fichero de clave debe tener el mismo nombre que el fichero crt, diferenciándose solo en la extensión: certutil -mergepfx server.crt server.pfx

    1. Haga doble clic en el fichero server.pfx para iniciar el asistente de importación y elija Equipo local.

    2. Haga clic en Siguiente y acepte el aviso.

    3. Haga clic en Siguiente.

    4. Introduzca la contraseña que indicó con el comando certutil.

      • Opcionalmente: elija Marcar esta clave como exportable.

    5. Elija la opción Colocar todos los certificados en el siguiente almacén.

    6. Seleccione Entidades de certificación raíz de confianza con el botón Examinar....

    7. Haga clic en Siguiente.

    8. Haga clic en Finalizar para completar la importación.

Abrir los puertos del cortafuegos de Ubuntu

Si el sistema Linux utiliza UFW (Uncomplicated Firewall) para gestionar el cortafuegos basado en iptables, ejecute los siguientes comandos para abrir los puertos necesarios:

Modificar la configuración de Devolutions Gateway

La configuración predeterminada de un gateway contenida en el fichero /etc/devolutions-gateway/gateway.json necesita que se añadan las directivas del certificado (el InternalUrl deberá utilizar HTTPS):

Modifique el fichero anterior para que refleje lo siguiente, suponiendo que tanto server.crt como server.key se encuentran en el mismo directorio que gateway.json (se recomienda utilizar el editor de ficheros integrado Nano):

Reiniciar Devolutions Gateway

Con la nueva configuración en su lugar, reinicie Devolutions Gateway. Esto se puede hacer con el comando systemctl:

Como alternativa, también se pueden utilizar los comandos de PowerShell Stop-DGateway y Start-DGateway.

Conectar Devolutions Gateway a Devolutions Server

Copiar la clave pública de Devolutions Server a Devolutions Gateway en Linux

  1. Inicie sesión en la consola web de Devolutions Server y vaya a AdministraciónDevolutions Gateway.

  2. Haga clic en el botón Más y elija la opción Descargar clave pública.

  3. Copie el contenido del fichero gateway_public_key.pem descargado en Windows.

  4. Sustituya el contenido del fichero /etc/devolutions-gateway/provisioner.pem (se recomienda la utilidad Nano) por el contenido copiado desde Windows.

  5. Reinicie Devolutions Gateway con el comando sudo systemctl restart devolutions-gateway.service.

Configurar Devolutions Gateway en Devolutions Server

Vaya a la interfaz web de Devolutions Server donde se añadirá el Devolutions Gateway de Linux recién configurado.

  1. Inicie sesión en la consola web de Devolutions Server y navegue a AdministrationDevolutions Gateway.

  2. Haga clic en el botón Add (+).

  3. Seleccione Gateway.

  1. Introduzca lo siguiente (esto variará según la configuración).

    1. Name: Linux Gateway

    2. Devolutions Gateway URL: https://10.10.0.20:7171

    3. TCP Hostname: Ubuntu-2204

  2. Haga clic en Save.

    Haga clic en el menú de opciones More del gateway y elija la opción Publish revocation list si la lista de revocación está desactualizada.

Resolver hosts en Ubuntu

El sistema Devolutions Gateway alojado en Linux debe poder resolver las direcciones solicitadas por Devolutions Server. El método más sencillo para realizar pruebas es modificar el fichero hosts.

Conéctese al siguiente sistema:

  • Hostname: it-help-dc

  • Nombre de dominio completo (FQDN): it-help-dc.ad.it-help.ninja

  • Dirección IP: 10.10.0.3

Abra el fichero hosts para editarlo con sudo nano /etc/hosts para añadir el host en Ubuntu.

Abrir una sesión RDP basada en web

El gateway ya puede conectarse a hosts. Dado que el host it-help-dc se añadió como resoluble en Ubuntu, puede utilizarse para conectarse en una sesión basada en web.

Las sesiones basadas en web requieren un gateway activo configurado para la entrada y el usuario que la inicie necesitará una licencia asignada de Remote Desktop Manager edición Team o una licencia de Devolutions Launcher.

Además, si se han realizado cambios en las asignaciones de licencias, puede ser necesario cerrar la sesión y volver a iniciarla para ver la opción de lanzar la conexión basada en web.

  1. En la interfaz web de Devolutions Server haga clic en Add. Seleccione una entrada de sesión RDP.

  2. Haga clic en Continue.

  1. Introduzca un Name y un Host que deben ser resolubles por la instalación de Devolutions Gateway en Linux.

  2. Haga clic en Add.

  3. Introduzca o vincule las credenciales necesarias a la sesión RDP y haga clic en Add.

  4. En la pestaña VPN/Tunnel/Gateway elija Devolutions Gateway como tipo de VPN.

  5. Establezca la opción Connect en Always connect.

  6. Elija el gateway correcto.

  7. Haga clic en Add.

  8. Haga clic en Open in web client.

Abrir una sesión RDP de Remote Desktop Manager

Si la entrada ya está configurada desde la interfaz web de Devolutions Server, puede lanzarse desde Remote Desktop Manager cuando esté conectado al workspace de Devolutions Server.

Al crear una nueva entrada desde Remote Desktop Manager, el proceso es similar al de Devolutions Server.

  1. En Remote Desktop Manager, haga clic en New entry. Seleccione una entrada de sesión RDP.

  2. Haga clic en Select.

  3. Introduzca un Name y un Host que deben ser resolubles por la instalación de Devolutions Gateway en Linux.

  4. Introduzca o vincule las credenciales necesarias a la sesión RDP.

  5. Establezca la opción Connect en Always connect.

  6. En la pestaña VPN/Tunnel/Gateway elija Devolutions Gateway como tipo de VPN.

  7. Vaya a la subpestaña Settings (Devolutions Gateway).

  8. Elija el Devolutions Gateway deseado.

  9. Haga clic en Add.

  10. Haga clic en el botón Open session.

    Al pasar el cursor por la barra de título aparecerá un tooltip que mostrará que el RDP está conectado a través de Devolutions Gateway.

Última actualización

¿Te fue útil?