Saltar a contenido

Applications

El módulo Applications es el módulo central para declarar las aplicaciones (antes recursos) que los usuarios de Bastion ven después en su portal. Cada aplicación declara un tipo de servicio (el protocolo de acceso: RDP, SSH, VNC, Web, SMB…) y un conjunto de parámetros de destino, de experiencia de usuario, de seguridad y de grabación. Esta página describe la interfaz del módulo: lista, filtros, formulario de adición y de modificación, acciones sobre el agente e importación/exportación.

Accesible desde la consola de administración, este módulo se abre también en modo masivo desde otros módulos (por ejemplo RDS servers) para crear varias aplicaciones a la vez a partir de una única plantilla.

Lista de aplicaciones

La ventana principal muestra una lista paginada de aplicaciones.

Columna Descripción
Name Nombre de la aplicación, precedido de un icono que representa el tipo de servicio.
Application type Privileged (acceso supervisado) o Standard.
Service Tipo de servicio, es decir, el protocolo de acceso (véase la tabla siguiente).
Recorded videos Icono que indica si la sesión se graba.
Server Dirección del servidor de destino y Edge Gateway asociada. En las aplicaciones de destino dinámico, el intervalo IP / la lista de IP / la IP con máscara. En Citrix Storefront, la URL. En el túnel genérico, la lista de destinos servidor:puerto.
SSO Modo SSO configurado (Enabled, Disabled, Request, Fixed con el nombre del alias).
Tags Etiquetas asociadas. Columna oculta de forma predeterminada.
Description Descripción de texto libre. Columna oculta de forma predeterminada.

El número de filas por página es configurable.

Campos que cubre el campo de búsqueda

La búsqueda se aplica por subcadena, simultáneamente sobre cinco campos: el nombre, la descripción, las etiquetas, el servidor de destino y el tipo de servicio. Una aplicación se conserva por tanto en cuanto uno de esos cinco campos contiene el texto introducido — incluidas las dos columnas ocultas de forma predeterminada.

Tipos de servicio admitidos

La lista desplegable Service type del formulario ofrece los valores siguientes, ordenados alfabéticamente por etiqueta. La columna de la derecha indica el identificador técnico correspondiente, el que utilizan la API pública y el fichero CSV de importación y exportación.

Tipo de servicio (etiqueta mostrada) Función Identificador
Citrix ICA Sesión Citrix mediante el cliente ICA. ica
Citrix Storefront Portal Citrix Storefront. nfuse
HTML5 (RDP) Sesión RDS renderizada en el navegador. html5rdp
HTML5 (SSH) Terminal SSH en el navegador. html5ssh
HTML5 (VNC) Sesión VNC en el navegador. html5vnc
netBIOS Recurso compartido NetBIOS montado como unidad. netBios
RDS Sesión de Escritorio remoto de Windows, cliente nativo. rdp
Reverse proxy Aplicación web publicada a través de un proxy inverso, con grabación. webrecord_rp
SMB Recurso compartido de ficheros SMB. smb
SSH (Secure Shell) Terminal SSH, cliente nativo. ssh
Generic tunnel Túnel TCP/UDP hacia uno o varios destinos servidor:puerto. redirectionport
VNC (Virtual Network Computing) Sesión VNC, cliente nativo. vnc
VPN Acceso VPN aislado. vpn
Web Aplicación web grabada. webrecord_web

Disponibilidad

Los tres tipos HTML5 solo se ofrecen en la creación cuando la funcionalidad HTML5 está activada en la plataforma; en caso contrario permanecen visibles únicamente para la modificación. Los tipos VPN, Generic tunnel, Citrix Storefront, Citrix ICA, SMB y netBIOS existen únicamente en las aplicaciones Standard.

Modo sin agente para RDS

Los tipos RDS y HTML5 (RDP) pueden funcionar con o sin un agente de Bastion desplegado en el servidor de destino: se trata de una casilla del formulario, no de un tipo de servicio aparte. Visualmente, el icono de la aplicación difiere (icono de color con agente, icono gris sin él), y los filtros de la lista sí distinguen ambas variantes. Los metadatos grabados varían en consecuencia:

Acceso Pulsaciones de teclas Portapapeles Apertura / cierre de ventanas Inicio de programas
RDS con agente
RDS sin agente
SSH N/A N/A N/A
VNC

Filtros

Una zona de filtros desplegable situada encima de la cuadrícula acota la lista:

Filtro Descripción
Application type Casillas Privileged y/o Standard.
Service type Una casilla por tipo, cada una con su icono.

Pulse Display para aplicarlos y Reset para borrar todos los filtros.

Crear una aplicación

Pulse el botón +. Se abre el formulario de creación. La creación se realiza en dos pasos:

  1. elegir el tipo de aplicación (Privileged / Standard) y después el tipo de servicio;
  2. rellenar los campos — que varían mucho según el tipo de servicio elegido.

El formulario está organizado en dos pestañas.

Campos comunes a casi todas las aplicaciones (salvo algunos tipos muy específicos).

Campo Descripción
Name Obligatorio, único. Los caracteres @ y , están prohibidos.
Description Texto libre.
Category Categoría de visualización en el portal (véase el módulo Categories).
Tags Etiquetas libres, introducidas una a una y añadidas con el botón Add. Una etiqueta ya vinculada se rechaza. Las etiquetas vinculadas se muestran en un cuadro específico.
Ask for a comment to the user Pide al usuario que introduzca el contexto de su conexión antes del inicio. El comentario queda disponible en el vídeo grabado.
Check video integrity at playback Calcula y comprueba la huella de las grabaciones.
Allow manual removal of archives Permite a un administrador autorizado eliminar un vídeo concreto.
Delete archives automatically Activa la conservación automática.
Archives conservation time (days) Duración en días, entre 1 y un máximo configurado. Solo disponible cuando la casilla anterior está marcada. Predeterminado: 365.

Elija el tipo de servicio y rellene los parámetros específicos. Una vez elegido un tipo, aparecen varios cuadros:

  • Access — servidor de destino, puerto, modo dinámico (intervalo IP, lista de IP, IP con máscara), dominio de autenticación, broker RDS…
  • SSO — véase la sección SSO.
  • Remote application — únicamente en los tipos RDP: modo RemoteApp, nombre de la aplicación publicada, directorio de inicio, parámetros.
  • View — resolución, profundidad de color, redimensionado dinámico, distribución de teclado, fondo de escritorio, modo consola.
  • Advanced settings — cuadro desplegable con opciones propias del tipo de servicio (CREDSSP/NLA, Restricted Admin, desactivación de Kerberos, redirecciones, tiempos de espera, etcétera).

Modo dinámico

En los tipos RDS, HTML5 (RDP), SSH, HTML5 (SSH), VNC, HTML5 (VNC) y Generic tunnel, el destino puede introducirse como un intervalo IP, una lista de IP o una IP con máscara en lugar de un servidor fijo. El usuario final introduce entonces la dirección exacta en el momento del inicio.

Pulse Validate para guardar. Antes del guardado se aplican varias comprobaciones:

  • el formulario debe ser válido;
  • se validan los datos SSO de preautenticación (en los recursos Web);
  • si el SSO es Fixed, debe seleccionarse al menos un alias de Keeper;
  • en el túnel genérico, debe definirse al menos un destino (salvo en modo dinámico);
  • en los destinos no dinámicos se ejecuta una comprobación de duplicados del servidor de destino; se muestra una lista de las aplicaciones que ya comparten el mismo destino y se pide confirmación al administrador.

Modificar o eliminar una aplicación

  • Modificar: seleccione una aplicación y pulse el icono Properties, o haga doble clic en la fila. El formulario es idéntico al de creación.
  • Eliminar: seleccione una o varias aplicaciones y pulse el botón ×. Se solicita una confirmación; el texto difiere entre una selección simple y una selección múltiple.
  • Duplicar: seleccione una o varias aplicaciones y pulse Duplicate Application. Cada copia toma el nombre original seguido de un número entre paréntesis — (1), después (2), (3)… hasta el primer nombre libre. Se copian: los parámetros de servicio, las etiquetas, los grupos de administración asociados y, cuando el SSO está en modo Fixed, los alias de la bóveda vinculados. El botón permanece desactivado en cuanto la selección contiene una aplicación no duplicable.

SSO

En cada tipo de servicio compatible, un campo SSO elige el método de autenticación utilizado en el inicio.

Modo Descripción
Enabled Las credenciales del usuario de Bastion se transmiten al servicio de destino.
Disabled No se envía ninguna credencial; el usuario se autentica manualmente.
Request El usuario introduce las credenciales justo antes del inicio.
Fixed Las credenciales se toman de un alias de la bóveda. Aparece un campo Alias para elegir el alias que debe utilizarse.

SSO no disponible

En los tipos SMB y netBIOS, el SSO no tiene sentido: el campo muestra una etiqueta atenuada en lugar de la lista desplegable.

El SSO es incompatible con los dominios SAML

El modo Enabled presupone que la plataforma conoce la contraseña del usuario, para poder transmitirla al servicio de destino. No es el caso cuando el usuario se autentica en un dominio de autenticación SAML: la contraseña se introduce en el proveedor de identidad, que no la transmite. Una aplicación en modo SSO Enabled es por tanto inutilizable por los usuarios de esos dominios — resérveles el modo Request o Fixed, que toman las credenciales de otro lugar.

SSO en los tipos Reverse proxy y Web

En los tipos Reverse proxy y Web, si el modo SSO es distinto de Disabled, aparece una sección SSO adicional en la pestaña Service.

En Reverse proxy, la sección expone tres campos de resumen:

Campo Descripción
Login attribute Nombre del parámetro que llevará el login.
Password attribute Nombre del parámetro que llevará la contraseña.
Extra attributes Parámetros complementarios.

Una casilla Advanced settings da acceso a una configuración libre (parámetros y encabezados).

En Web, la sección expone además un campo SSO type:

Tipo Descripción
Classic Comportamiento idéntico al de Reverse proxy.
Form preload El formulario HTML se recupera, se rellena y se envía automáticamente. Campos adicionales: SSO URL, Form mode (método HTTP), CSRF token input name.
Preauthentication Se envía una serie de solicitudes HTTP antes de la redirección final. Un botón Configuration of preauthentication steps abre una ventana específica.

Configuración de los pasos de preautenticación

La ventana de configuración enumera las solicitudes ya definidas (URL, método, orden de envío).

Añadir una solicitud con el botón + abre un formulario con:

Campo Descripción
URL URL de la solicitud, prefijada con el host configurado del servicio.
Method GET o POST.
Enable cache Útil únicamente en GET.
Login parameter / Password parameter Nombres de parámetro opcionales.
ContentType (MIME) Permite indicar por ejemplo application/json.

La casilla Advanced settings expone dos pestañas adicionales: Settings y Headers, que sirven cada una para añadir pares nombre/valor.

Sintaxis especial de los valores

El campo Value (parámetros, encabezados, valores de cookie) admite cadenas de sustitución. La casilla Disable special syntax toma el valor literalmente; las entradas creadas de este modo se muestran en cursiva en la lista.

Sustitución Efecto
%user% Login utilizado para el SSO.
%password% Contraseña utilizada para el SSO.
%base64([...])% Codificación en base 64.
%lowercase([...])% / %uppercase([...])% Minúsculas / mayúsculas.
%trim([...])% Elimina los espacios iniciales y finales.
%uriencoded([...])% Codifica los caracteres especiales para una URI.
%md5([...])% Hash MD5.
%sha256([...])% Hash SHA-256.
%hmacmd5(datos,clave)% HMAC-MD5 (parámetros separados por %,%).
%rsa(clave,datos)% Cifrado RSA.
%rsaoaep(clave,datos)% Cifrado RSA-OAEP (clave PEM).
%reqresult(n)% / %reqresult(n,clave)% Recupera el resultado de la enésima solicitud enviada anteriormente, opcionalmente filtrado por nombre de clave.
\% Signo de porcentaje literal.

Pasos de creación de datos

Un submenú del botón de adición permite añadir un paso de creación de datos (a diferencia de una solicitud). El tipo de dato puede ser:

Tipo Efecto
Local variable Almacenado en el almacenamiento local del navegador.
Session variable Almacenado en el almacenamiento de sesión del navegador.
Cookie Almacenado en una cookie. Expone campos adicionales: Path (predeterminado /), Lifetime (en horas; vacío = sin caducidad, 0 o negativo = caducidad inmediata), Secured cookie (HTTPS obligatorio), SameSite (Strict, Lax, None).

Acciones sobre el agente

Las acciones sobre el agente solo se ofrecen en las aplicaciones privilegiadas de tipo RDS o HTML5 (RDP), y únicamente cuando el modo sin agente no está marcado. Hay dos botones disponibles en la barra de herramientas.

Desplegar el agente

Al pulsar Agent deployment se abre un formulario precargado con la lista de servidores seleccionados.

Campo Descripción
Target server Dirección del servidor de destino (rellenada automáticamente en el caso de un solo servidor).
Target drive Letra de la unidad en la que debe instalarse el agente (por ejemplo C).
Target directory Ruta de instalación.
Gateway Edge Gateway utilizada para el despliegue.
Domain Dominio de Active Directory.
Username / Password Cuenta de administrador local o de dominio autorizada a instalar el agente.

Pulse Validate; la consola consulta después el estado de la instalación.

Retirar el agente

Al pulsar Agent removal se abre un formulario similar que recoge los mismos datos de autenticación y de destino para desinstalar el agente.

Exportación / importación

  • Exportación: descarga la lista filtrada en un fichero .csv. Una comprobación previa puede mostrar advertencias que el administrador debe confirmar una a una.
  • Importación: abre la ventana de importación .csv. Campos que deben rellenarse:

    • File — el fichero .csv;
    • Record delimiter — el separador de columnas, ; en un fichero producido por la exportación;
    • Field values delimiter — el separador de valores múltiples, + en un fichero producido por la exportación.

    Tras la validación, una ventana resume el resultado de cada línea del fichero.

Columnas del fichero

El fichero contiene una fila de encabezado y después una fila por aplicación. Las columnas son las mismas en todo el fichero, sean cuales sean los tipos de servicio exportados: la exportación produce la unión de todos los parámetros posibles, y cada fila rellena después únicamente las columnas que le conciernen. Las demás quedan vacías.

Las columnas se presentan a continuación por familia de tipos de servicio. El tronco común se rellena sea cual sea el tipo; las demás pestañas solo conciernen a las aplicaciones del tipo indicado.

En la práctica, parta de una exportación

Para crear aplicaciones de forma masiva, lo más sencillo sigue siendo exportar una aplicación ya configurada del tipo deseado y duplicar y modificar después sus filas: las columnas no utilizadas se dejan vacías, y el encabezado da los títulos exactos en el idioma de la consola.

Una columna compartida solo figura una vez en el fichero

Varios tipos de servicio utilizan los mismos parámetros: una columna como Resolution se enumera por tanto en cada pestaña afectada, pero el fichero solo la contiene una vez.

Columna Formato esperado
Name (obligatoria) texto
Description texto
Category (obligatoria) texto
Comment True / False
Integrity True / False
Manual deletion True / False
Archives conservation time número entero
Service Type (obligatoria) texto
Presented message texto
Authorized IP address texto
End IP range dirección IP
Start IP range dirección IP
Subnet IP dirección IP
SSO texto
Subnet mask texto
Authorized networks texto
Dynamic True / False
Vidéo recording texto
Server texto
Port número entero
Application type texto
Launch VNC application True / False
Columna Tipos afectados Formato esperado
Without agent HTML5 (RDP), RDS True / False
Embedded gateway HTML5 (RDP), RDS True / False
Gateway name HTML5 (RDP), RDS texto
Resolution HTML5 (RDP), RDS texto
Console mode HTML5 (RDP), RDS True / False
Remote Executable HTML5 (RDP), RDS texto
Launch Directory HTML5 (RDP), RDS texto
Authentication Domain HTML5 (RDP), RDS texto
Background HTML5 (RDP), RDS True / False
RemoteApp mode HTML5 (RDP), RDS True / False
RemoteApp name HTML5 (RDP), RDS texto
RDS Broker HTML5 (RDP), RDS True / False
Disable Kerberos HTML5 (RDP), RDS True / False
Acquire the Kerberos TGT HTML5 (RDP), RDS texto
Time before disconnection (seconds) HTML5 (RDP), RDS número entero
RDP broker server collection HTML5 (RDP), RDS texto
Use another client program RDS True / False
Alternate client program executable RDS texto
Client program arguments RDS texto
Full Screen RDS True / False
CSSP RDS True / False
Clipboard RDS True / False
Plug and play RDS texto
Redirect Audio RDS True / False
Install Disks RDS True / False
Install Printers RDS True / False
Connect COM Ports RDS True / False
Colors HTML5 (RDP), RDS número entero
Change title of RDP RDS True / False
Enable the restrictedadmin option RDS True / False
Custom RDP file parameters RDS texto
Mstsc args RDS texto
Enable AUP RDS True / False
Launch TSE executable RDS True / False
Force RDP auth on client side RDS True / False
Enable wallpaper RDS True / False
Ignore client-side cert RDS True / False
Ask interaction mode HTML5 (RDP) True / False
Redirect Clipboard HTML5 (RDP) True / False
Keyboard format HTML5 (RDP) texto
Security HTML5 (RDP) texto
User Domain HTML5 (RDP) True / False
Visual styles HTML5 (RDP) texto
Customize variable clientname HTML5 (RDP) texto
RemoteApp parameters HTML5 (RDP) texto
Resize method HTML5 (RDP) texto
Extended Clipboard (HTML) HTML5 (RDP) True / False
Font smoothing HTML5 (RDP) True / False
Change the title of tab HTML5 (RDP) True / False
Enable file transfer HTML5 (RDP) True / False
Columna Tipos afectados Formato esperado
Command to execute at launch HTML5 (SSH), SSH texto
Enable file transfer HTML5 (SSH), SSH True / False
Password injection settings HTML5 (SSH), SSH lista (+)
Use another client program SSH True / False
Alternate client program executable SSH texto
Client program arguments SSH texto
Remote Executable SSH texto
Parameters SSH texto
Local Port SSH número entero
Remote Server SSH texto
Enable X11 forwarding SSH True / False
local ip SSH dirección IP
local port SSH número entero
Launch Executable SSH True / False
Remote commands file SSH texto
Ask interaction mode HTML5 (SSH) True / False
Redirect Clipboard HTML5 (SSH) True / False
Authentication Domain HTML5 (SSH) texto
Console mode HTML5 (SSH) True / False
Backspace character HTML5 (SSH) número entero
Terminal type (xterm, vt100 ...) HTML5 (SSH) texto
Columna Tipos afectados Formato esperado
VNC proxy address HTML5 (VNC), VNC texto
Resize method HTML5 (VNC), VNC número entero
Encoding HTML5 (VNC), VNC texto
VNC proxy port HTML5 (VNC), VNC texto
Compression level HTML5 (VNC), VNC número entero
JPEG Quality HTML5 (VNC), VNC número entero
Change title of RDP HTML5 (VNC), VNC True / False
Change the title of tab HTML5 (VNC), VNC True / False
Ignore client-side cert HTML5 (VNC), VNC True / False
Custom RDP file parameters HTML5 (VNC), VNC texto
Use another client program VNC True / False
Alternate client program executable VNC texto
Client program arguments VNC texto
Resolution VNC texto
Ask interaction mode HTML5 (VNC) True / False
Redirect Clipboard HTML5 (VNC) True / False
Columna Tipos afectados Formato esperado
Virtualhost Reverse proxy, Web texto
URL Reverse proxy, Web texto
https Reverse proxy, Web True / False
Authentication type Reverse proxy, Web número entero
SSO type Reverse proxy, Web texto
Form mode Reverse proxy, Web número entero
Login attribute Reverse proxy, Web texto
Password attribute Reverse proxy, Web texto
Extra attributes Reverse proxy, Web texto
SSO settings Reverse proxy, Web texto
SSO URL Reverse proxy, Web texto
Forbidden Urls Reverse proxy, Web lista (+)
SSO on classic HTML forms Reverse proxy, Web True / False
Advanced settings Reverse proxy, Web True / False
csrf Reverse proxy, Web texto
IP address(es) Web lista (+)
additional networks Web True / False
Columna Tipos afectados Formato esperado
Authentication Domain Citrix ICA, Citrix Storefront texto
Number of colors Citrix ICA número entero
Resolution Citrix ICA texto
Keyboard type Citrix ICA texto
Keyboard Configuration Citrix ICA texto
Remote application Citrix ICA texto
Borderless window Citrix ICA True / False
Launch ICA application Citrix ICA True / False
Storefront server URL Citrix Storefront texto
Protocol Citrix Storefront texto
URL Citrix Storefront texto
composed URL Citrix Storefront texto
List of IPs or domains Citrix Storefront texto
Citrix version Citrix Storefront número entero
Enable SSO for web portal access Citrix Storefront texto
Enable SSO for ICA connections Citrix Storefront texto
Enable web parsing Citrix Storefront True / False
Enable handling of Session Reliability mode Citrix Storefront True / False
Columna Tipos afectados Formato esperado
Display VPN state graphical user interface VPN True / False
Mode VPN texto
Protocol Generic tunnel, VPN texto
Network VPN dirección IP
Netmask VPN dirección IP
User IP address allocation policy VPN texto
DNS suffixes VPN texto
Redirect all network flows in the VPN tunnel (full tunneling) VPN True / False
Routes pushed VPN lista (+)
Authorized IP addresses VPN lista (+)
Forbidden IP VPN lista (+)
IP ranges VPN lista (+)
Allowed network masks VPN lista (+)
DNS Servers VPN lista (+)
URL Generic tunnel texto
Remote Server Generic tunnel texto
Remote port Generic tunnel número entero
Local server Generic tunnel texto
Local Port Generic tunnel número entero
Default remote port Generic tunnel número entero
Inform user Generic tunnel True / False
Launch Executable Generic tunnel True / False
Launch in a web client Generic tunnel True / False
Executable Generic tunnel texto
Parameters Generic tunnel texto
Enable URL rewriting Generic tunnel True / False
Avoid windows authentication Generic tunnel True / False
Preserve Host header Generic tunnel True / False
SSO on classic HTML forms Generic tunnel texto
Login attribute Generic tunnel texto
Password attribute Generic tunnel texto
Form mode Generic tunnel número entero
Extra attributes Generic tunnel texto
Redirections Generic tunnel lista (+)
Columna Tipos afectados Formato esperado
Share(s) SMB texto
Force download SMB True / False
Display IP SMB True / False
Drive choice netBIOS texto
Drive label netBIOS texto
Replace an existing network drive netBIOS True / False
Launch Windows explorer netBIOS True / False
Share netBIOS texto

Sintaxis

Elemento Separador Ejemplo
Columnas ; Name;Description;Category;…
Varios valores dentro de una misma celda + 10.0.0.1+10.0.0.2
Grupo de administradores delegados @ entre el grupo y su dominio AdminsContabilidad@AD-Interno
Booleanos True o False; una celda vacía cuenta como False
Números enteros Valor sin más; una celda vacía toma el valor predeterminado del campo

Las columnas Name, Category y Service Type son obligatorias: una fila a la que le falte una de ellas se rechaza. La categoría es el único caso en el que un valor desconocido se crea al importar; cualquier otro valor referenciado debe existir previamente.

Contratos de acceso

Declarar una aplicación no la pone a disposición de los usuarios. Hay que crear después un contrato de acceso que vincule una aplicación, uno o varios grupos de usuarios y, opcionalmente, una condición de acceso.