USO DE IRONSECUREDOC

Guacamole Docker (Cómo funciona para desarrolladores para la seguridad PDF)

Publicado en 5 de marzo, 2025
Compartir:

¿Qué es Guacamole Docker?

GuacamoleDocker es el despliegue en Docker de Apache Guacamole, una pasarela de escritorio remoto sin cliente que permite a los usuarios acceder a sistemas remotos, como escritorios o servidores, a través de un navegador web sin instalar software adicional. Está compuesto por dos partes principales: la Aplicación Web Guacamole, que actúa como una interfaz de usuario para la gestión de sesiones y el acceso asesiones remotas, y el Demonio Guacamole(guacd), que se encarga de la traducción de protocolos para conexiones RDP, VNC y SSH. Opcionalmente, se puede usar junto con una base de datos como MySQL o PostgreSQL para almacenar cuentas de usuario y configuraciones de conexión. Guacamole Docker simplifica la implementación, es independiente de la plataforma, admite transferencias de archivos y compartición de portapapeles, y ofrece acceso seguro y centralizado a múltiples sistemas remotos.

¿Cómo descargar e instalar Guacamole Docker?

Instalar Docker

Debe tener Docker instalado en su computadora. Si Docker no está instalado, instálelo siguiendo el procedimiento de instalación adecuado para su sistema operativo:

Descargar Docker Desktop
  • Acceder al Docker Desktop para Windowspágina.
  • Haz clic en "Descargar para Windows" para descargar el instalador.
Ejecuta el instalador
  • Haz doble clic en el archivo descargado Docker Desktop Installer.exe.
  • Continúe con el asistente de configuración.
  • Seleccionar "Usar WSL 2 en lugar de Hyper-V"(muy recomendado).
Habilitar WSL 2 (si no está habilitado aún)

Abra PowerShell como Administrador e ingrese el siguiente comando.

wsl --install
wsl --install
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'wsl --install
$vbLabelText   $csharpLabel

Reinicie su computadora si se le solicita.

Sigue el asistente de configuración e inicia sesión en tu cuenta de Docker Hub si se te solicita.

Extraer las imágenes de Docker

Apache Guacamole consiste en dos imágenes principales de Docker:

Demonio Guacamole(guacd)

Tira de la imagen de guacamole/guacd que maneja las traducciones de protocolo para RDP, VNC y SSH.

docker pull guacamole/guacd

Imagen rota Añadir desde Pixabay, seleccionar de tus archivos o arrastrar y soltar una imagen aquí.

Aplicación Web Guacamole

Obtenga una imagen de guacamole/guacamole, que proporcionará la interfaz web para permitir a los usuarios conectarse a sistemas remotos.

docker pull guacamole/guacamole

Imagen rota Añadir desde Pixabay, seleccionar de tus archivos o arrastrar y soltar una imagen aquí.

Configurar la base de datos para Autenticación

Apache Guacamole necesita un mecanismo para autenticar a los usuarios. Esta sección describe la autenticación de bases de datos a través de scripts SQL de MySQL, aunque se admiten la base de datos PostgreSQL y MariaDB para la autenticación de Guacamole, así como otros métodos no basados en bases de datos.

docker pull mysql:8

Imagen rota Añadir desde Pixabay, seleccionar de tus archivos o arrastrar y soltar una imagen aquí.

Cree un script de inicialización de base de datos para crear una tabla para la autenticación MySQL:

docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql

Cambia el nombre y mueve los scripts SQL incluidos con el esquema Guacamole que se pueden ejecutar en el contenedor Docker de MySQL.

docker cp initdb.sql example-mysql:/guac_db.sql

Abra un shell bash dentro del contenedor Docker de la utilidad MySQL.

docker exec -it example-mysql bash

El indicador del shell ahora debería cambiar a bash-4.4# o algo similar. Dentro del símbolo del sistema bash para el contenedor, inicia sesión en la base de datos MySQL como el usuario root:

mysql -u root -p
mysql -u root -p
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'mysql -u root -p
$vbLabelText   $csharpLabel

El indicador debería cambiar de nuevo a MySQL.

Imagen rota Añadir desde Pixabay, seleccionar de tus archivos o arrastrar y soltar una imagen aquí.

En el aviso de MySQL, cambia la contraseña de root, crea una nueva base de datos MySQL y crea un nuevo usuario para esa base de datos recién creada. Al ejecutar los comandos a continuación, reemplace cualquier instancia de password con una cadena de contraseña segura para el usuario root de MySQL y el nuevo usuario de su base de datos, respectivamente.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE guacamole_db;
CREATE USER 'guacamole_user'@'%' IDENTIFIED BY 'password';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'%';
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE guacamole_db;
CREATE USER 'guacamole_user'@'%' IDENTIFIED BY 'password';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'%';
FLUSH PRIVILEGES;
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'ALTER USER 'root"@"clocalhost' IDENTIFIED BY 'password'; CREATE DATABASE guacamole_db; CREATE USER 'guacamole_user"@"c%' IDENTIFIED BY 'password'; GRANT @SELECT,INSERT,UPDATE,DELETE @ON guacamole_db.* @TO 'guacamole_user"@"c%'; FLUSH PRIVILEGES;
$vbLabelText   $csharpLabel

Guacamole Docker(Cómo funciona para los desarrolladores para la seguridad PDF): Figura 5 - Esquema de Guacamole

Podemos ver todas las tablas en la tabla usando el siguiente comando:

SHOW TABLES;
SHOW TABLES;
Dim TABLES As SHOW
$vbLabelText   $csharpLabel

Guacamole Docker(Cómo funciona para desarrolladores para la seguridad de PDF): Figura 6 - Tablas SQL

Iniciar Guacamole Docker Usando Comandos de Docker

Inicie guacd usando los comandos Docker a continuación(Demonio de Guacamole).

docker run -d --name guacd guacamole/guacd

Guacamole Docker(Cómo Funciona para Desarrolladores para la Seguridad de PDF): Figura 7 - Iniciar Demonio Guacamole

Iniciar Guacamole (Aplicación Web)

Enlazar manualmente el contenedor guacd y la base de datos MySQL en Guacamole:

docker run --name guacamole-client --link guacd:guacd --link guacamoledb:mysql -e MYSQL_DATABASE=guacdb -e MYSQL_USER=guacamole_user -e MYSQL_PASSWORD=password -d -p 85:8085 guacamole/guacamole

Guacamole Docker(Cómo funciona para desarrolladores para la seguridad de PDF): Figura 8 - Iniciar aplicación web de Guacamole

Como se muestra a continuación, verifiquemos el estado de cada contenedor de Docker en el sistema o máquina que aloja Docker.

docker ps -a

Deberías ver cada contenedor que creaste en los pasos anteriores.

Una vez que se crea el contenedor del cliente Guacamole, podemos acceder a él a través del navegador web con el número de puerto proporcionado en el momento de crear el contenedor Guacamole. A continuación, se muestra la captura de pantalla de la página de inicio de sesión del cliente Guacamole.

Guacamole Docker(Cómo funciona para desarrolladores para la seguridad de PDF): Figura 9 - Inicio de sesión

Agregando servidor Linux a Conexión de Guacamole

Verificar soporte SSH

Guacamole admite SSH por defecto. Asegúrese de que la extensión requerida(guacamole-auth-jdbc o similar)y sus dependencias están instaladas. SSH generalmente es compatible de forma predeterminada con Guacamole.

Agregar una conexión SSH

  • Inicia sesión en la interfaz web de Guacamole como administrador.
  • Ve a Configuración > Conexiones.
  • Haz clic en Nueva Conexión.

    Guacamole Docker(Cómo funciona para los desarrolladores en la seguridad PDF): Figura 10 - Conexión SSH

Configuración Básica de Conexión

  • Nombre: Asigne un nombre a la conexión, por ejemplo, "Mi servidor SSH".
  • Protocolo: Elige SSH.

Detalles de Conexión SSH

  • Nombre del host: Ingrese la dirección IP o el nombre de host del servidor al que le gustaría conectarse.
  • Puerto: El valor predeterminado es 22. Utilice otro si su servidor SSH utiliza otro puerto.
  • Nombre de usuario: Ingrese su nombre de usuario de inicio de sesión SSH.
  • Contraseña: Si no está utilizando la autenticación basada en claves, también puede ingresar la contraseña.

    Guacamole Docker(Cómo funciona para desarrolladores para la seguridad de PDF): Figura 11 - Detalles de la conexión

    Ahora, cierre sesión en la interfaz de administración y inicie sesión como usuario con acceso a la nueva conexión. Seleccione la conexión de la lista.

    Guacamole Docker(Cómo Funciona para Desarrolladores en Seguridad PDF): Figura 12 - Conexiones de Usuario

    Abre la sesión SSH en el navegador.

    Guacamole Docker(Cómo funciona para los desarrolladores en la seguridad de PDF): Figura 13 - Sesión SSH

¿Qué es IronSecureDoc?

IronSecureDoces una herramienta de gestión y seguridad de documentos, que utiliza encriptación avanzada, manipulación compleja de PDF y firma digital. Ofrece a las empresas y desarrolladores la comodidad de un acceso fluido y, por lo tanto, permite un procesamiento más sencillo de documentos PDF sin dependencias directas o indirectas. Se puede referir como una API de PDF Agresiva si las características permiten a los desarrolladores crear, cargar, manipular y asegurar archivos y documentos PDF automáticamente mediante programación.

Guacamole Docker(Cómo funciona para desarrolladores para la seguridad de PDF): Figura 14 - IronSecureDoc: El servidor de seguridad y cumplimiento de PDF

A más de eso, IronPDF es una API de PDF que permite la creación de un PDF desde cualquier tipo de entrada de datos y la adición o edición de contenido a través de parámetros como texto, imágenes o metadatos. Incorpora la funcionalidad para combinar varios PDFs y crear archivos compuestos, dividir documentos, e incluso agregar comentarios, destacados o marcas de agua para anotaciones.

Extraer la imagen de Docker de IronSecureDoc Guacamole SSH

Ejecute el siguiente comando para descargar la imagen de Docker.

docker pull ironsoftwareofficial/ironsecuredoc:latest

ironsecuredoc: última Reemplace con la versión o etiqueta dada si se proporciona.

Guacamole Docker(Cómo funciona para desarrolladores para la seguridad de PDF): Figura 15 - IronSecureDoc

Ejecutar el contenedor Docker de IronSecureDoc

Inicia un contenedor usando la imagen descargada.

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest

Guacamole Docker(Cómo funciona para desarrolladores para la seguridad PDF): Figura 16 - Contenedor de Docker

Accede a IronSecureDoc

Si IronSecureDoc tiene una interfaz web, abre la dirección IP del servidor en tu navegador con el puerto especificado, por ejemplo, http://:8080. Completa cualquier configuración inicial requerida para la aplicación.

A continuación se muestra la interfaz web de IronSecureDoc:

Guacamole Docker(Cómo funciona para desarrolladores para la seguridad de PDF): Figura 17 - Interfaz web de IronSecureDoc

curl -X 'POST' \
  'http://localhost:8080/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'

Guacamole Docker(Cómo funciona para desarrolladores para la seguridad de PDF): Figura 18 - API POST

Pero si publicamos el código en elIronSecureDoc API, es posible que también deseemos solicitar la contraseña para cifrar la solicitud con la contraseña de un usuario a un documento. El archivo de salida del documento se enviará y descargará automáticamente, y se guardará de forma segura.

Conclusión

Apache Guacamole permitirá una fácil integración de Docker para los usuarios que deseen acceder de forma remota y gestionar fácilmente aplicaciones en contenedores, incluido IronSecureDoc, a través de interfaces SSH seguras y fáciles de usar. La flexibilidad de Docker y la conveniencia ofrecida por Guacamole permiten a los administradores de sistemas aprovisionar, gestionar y ofrecer acceso controlado a herramientas potentes sin exponer sus servidores directamente a los usuarios.

Esto garantizaría escalabilidad, seguridad y facilidad de uso, que son beneficios ideales para las organizaciones al utilizar entornos conteinerizados. Proporcionar una plataforma confiable que simplifica las operaciones mientras hace que el acceso sea más accesible para los usuarios finales en la implementación de aplicaciones, pruebas o incluso en la producción, funciona.

Fiable y compatible: Puede realizar una auditoría completa con la máxima seguridad. Con la API REST de IronSecureDoc, ahora se puede integrar fácilmente la impresión segura en formato PDF eficiente y el manejo de errores en las aplicaciones desarrolladas por desarrolladores de sistemas web, móviles y corporativos. Para obtener información sobre la licencia de IronSecureDoc, por favor visite elpágina de licencias. Para obtener información detallada sobre la configuración de los productos de Iron Software, siga la suite de bibliotecaspágina.

Jordi Bardia

Jordi Bardia

Ingeniero de software

 LinkedIn |  Website

Jordi es más competente en Python, C# y C++, cuando no está aprovechando sus habilidades en Iron Software; está programando juegos. Compartiendo responsabilidades en las pruebas de productos, el desarrollo de productos y la investigación, Jordi añade un inmenso valor a la mejora continua de los productos. La variada experiencia le mantiene desafiado y comprometido, y dice que es uno de sus aspectos favoritos de trabajar con Iron Software. Jordi creció en Miami, Florida, y estudió Informática y Estadística en la Universidad de Florida.
SIGUIENTE >
Graylog Docker (Cómo funciona para los desarrolladores en la seguridad de PDF)