Vai al contenuto

Applications

Il modulo Applications è il modulo centrale per la dichiarazione delle applicazioni (in precedenza risorse) che gli utenti di Bastion vedono poi nel loro portale. Ogni applicazione dichiara un tipo di servizio (il protocollo di accesso: RDP, SSH, VNC, Web, SMB…) e un insieme di parametri di destinazione, di esperienza utente, di sicurezza e di registrazione. Questa pagina descrive l'interfaccia del modulo: elenco, filtri, maschera di aggiunta e di modifica, azioni sull'agente e importazione/esportazione.

Accessibile dalla console di amministrazione, questo modulo si apre anche in modalità bulk da altri moduli (per esempio RDS servers) per creare più applicazioni contemporaneamente a partire dallo stesso modello.

Elenco delle applicazioni

La finestra principale visualizza l'elenco paginato delle applicazioni.

Colonna Descrizione
Name Nome dell'applicazione, preceduto da un'icona che rappresenta il tipo di servizio.
Application type Privileged (accesso supervisionato) o Standard.
Service Tipo di servizio, ossia il protocollo di accesso (vedere la tabella seguente).
Recorded videos Icona che indica se la sessione viene registrata.
Server Indirizzo del server di destinazione e Edge Gateway associato. Per le applicazioni con destinazione dinamica, l'intervallo di IP / l'elenco di IP / l'IP + maschera. Per Citrix Storefront, l'URL. Per il tunnel generico, l'elenco delle destinazioni server:port.
SSO Modalità SSO configurata (Enabled, Disabled, Request, Fixed con il nome dell'alias).
Tags Tag associati. Colonna nascosta per impostazione predefinita.
Description Descrizione libera. Colonna nascosta per impostazione predefinita.

Il numero di righe per pagina è configurabile.

Campi coperti dal campo di ricerca

La ricerca si applica per sottostringa, simultaneamente su cinque campi: il nome, la descrizione, i tag, il server di destinazione e il tipo di servizio. Un'applicazione viene quindi selezionata appena uno di questi cinque campi contiene il testo immesso — comprese le due colonne nascoste per impostazione predefinita.

Tipi di servizio supportati

L'elenco a discesa Service type della maschera propone i valori seguenti, ordinati alfabeticamente per etichetta. La colonna di destra indica l'identificativo tecnico corrispondente, quello utilizzato dall'API pubblica e dal file CSV di importazione / esportazione.

Tipo di servizio (etichetta visualizzata) Ruolo Identificativo
Citrix ICA Sessione Citrix tramite il client ICA. ica
Citrix Storefront Portale Citrix Storefront. nfuse
HTML5 (RDP) Sessione RDS visualizzata nel browser. html5rdp
HTML5 (SSH) Terminale SSH nel browser. html5ssh
HTML5 (VNC) Sessione VNC nel browser. html5vnc
netBIOS Condivisione NetBIOS montata come unità. netBios
RDS Sessione Windows Remote Desktop, con client nativo. rdp
Reverse proxy Applicazione web pubblicata tramite reverse proxy, con registrazione. webrecord_rp
SMB Condivisione di file SMB. smb
SSH (Secure Shell) Terminale SSH, con client nativo. ssh
Generic tunnel Tunnel TCP/UDP verso una o più destinazioni server:port. redirectionport
VNC (Virtual Network Computing) Sessione VNC, con client nativo. vnc
VPN Accesso VPN isolato. vpn
Web Applicazione web registrata. webrecord_web

Disponibilità

I tre tipi HTML5 vengono proposti in fase di creazione solo se la funzionalità HTML5 è abilitata sulla piattaforma; altrimenti restano visibili solo in modifica. I tipi VPN, Generic tunnel, Citrix Storefront, Citrix ICA, SMB e netBIOS esistono unicamente per le applicazioni Standard.

Modalità senza agente per RDS

I tipi RDS e HTML5 (RDP) possono funzionare con o senza un agente Bastion distribuito sul server di destinazione: è una casella di controllo della maschera, non un tipo di servizio distinto. Visivamente l'icona dell'applicazione è diversa (icona colorata con agente, icona grigia senza) e i filtri dell'elenco distinguono le due varianti. I metadati registrati variano di conseguenza:

Accesso Digitazioni Appunti Apertura / chiusura di finestre Avvio di programmi
RDS con agente
RDS senza agente
SSH N/A N/A N/A
VNC

Filtri

Un'area di filtri richiudibile sopra la griglia permette di restringere l'elenco:

Filtro Descrizione
Application type Caselle di controllo Privileged e/o Standard.
Service type Una casella di controllo per tipo, ciascuna con la propria icona.

Fare clic su Display per applicare, su Reset per cancellare tutti i filtri.

Creare un'applicazione

Fare clic sul pulsante +. Si apre la maschera di creazione. La creazione avviene in due passaggi:

  1. scegliere il tipo di applicazione (Privileged / Standard) e poi il tipo di servizio;
  2. compilare i campi — questi variano molto in base al tipo di servizio scelto.

La maschera è organizzata in due schede.

Campi comuni a quasi tutte le applicazioni (esclusi alcuni tipi molto specifici).

Campo Descrizione
Name Obbligatorio, univoco. I caratteri @ e , sono vietati.
Description Testo libero.
Category Categoria di visualizzazione nel portale (vedere il modulo Categories).
Tags Tag liberi, immessi uno per uno e aggiunti con il pulsante Add. Un tag già collegato viene rifiutato. I tag collegati vengono visualizzati in un fieldset dedicato.
Ask for a comment to the user Chiede all'utente di immettere il contesto della propria connessione prima dell'avvio. Il commento è consultabile nel video registrato.
Check video integrity at playback Calcola e verifica l'hash delle registrazioni.
Allow manual removal of archives Consente a un amministratore autorizzato di eliminare un video specifico.
Delete archives automatically Attiva la conservazione automatica.
Archives conservation time (days) Durata in giorni, tra 1 e un massimo configurato. Disponibile solo quando la casella precedente è selezionata. Valore predefinito: 365.

Scegliere il tipo di servizio e compilare i parametri specifici. Una volta scelto un tipo, compaiono più fieldset:

  • Access — server di destinazione, porta, modalità dinamica (intervallo di IP, elenco di IP, IP + maschera), dominio di autenticazione, broker RDS…
  • SSO — vedere la sezione SSO.
  • Remote application — solo per i tipi RDP: modalità RemoteApp, nome dell'applicazione pubblicata, directory di avvio, parametri.
  • View — risoluzione, profondità di colore, ridimensionamento dinamico, layout della tastiera, sfondo, modalità console.
  • Advanced settings — fieldset richiudibile con opzioni specifiche del tipo di servizio (CREDSSP/NLA, Restricted Admin, disabilitazione di Kerberos, reindirizzamenti, timeout, ecc.).

Modalità dinamica

Per i tipi RDS, HTML5 (RDP), SSH, HTML5 (SSH), VNC, HTML5 (VNC) e Generic tunnel, la destinazione può essere immessa come intervallo di IP, elenco di IP o IP + maschera invece di un server fisso. L'utente finale immette poi l'indirizzo esatto all'avvio.

Fare clic su Validate per salvare. Prima del salvataggio vengono applicate diverse verifiche:

  • la maschera deve essere valida;
  • i dati SSO di pre-autenticazione (per le risorse Web) vengono verificati;
  • se l'SSO è Fixed, deve essere selezionato almeno un alias Keeper;
  • per il tunnel generico deve essere definita almeno una destinazione (tranne in modalità dinamica);
  • per le destinazioni non dinamiche viene eseguito un controllo dei duplicati sul server di destinazione; viene presentato un elenco delle applicazioni che condividono già la stessa destinazione e all'amministratore viene chiesto di confermare.

Modificare o eliminare un'applicazione

  • Modifica: selezionare un'applicazione e fare clic sull'icona Properties, oppure fare doppio clic sulla riga. La maschera è identica a quella di creazione.
  • Eliminazione: selezionare una o più applicazioni e fare clic sul pulsante ×. Viene richiesta una conferma; il testo è diverso a seconda che la selezione sia singola o multipla.
  • Duplicazione: selezionare una o più applicazioni e fare clic su Duplicate Application. Ogni copia riprende il nome originale seguito da un numero tra parentesi — (1), poi (2), (3)… fino al primo nome libero. Vengono copiati: i parametri del servizio, i tag, i gruppi di amministratori associati e, quando l'SSO è in modalità Fixed, gli alias del Vault collegati. Il pulsante resta disabilitato appena la selezione contiene un'applicazione non duplicabile.

SSO

Per ogni tipo di servizio compatibile, un campo SSO permette di scegliere il metodo di autenticazione utilizzato all'avvio.

Modalità Descrizione
Enabled Le credenziali dell'utente Bastion vengono trasmesse al servizio di destinazione.
Disabled Non viene trasmessa alcuna credenziale; l'utente si autentica manualmente.
Request L'utente immette le credenziali immediatamente prima dell'avvio.
Fixed Le credenziali provengono da un alias del Vault. Compare un campo Alias per scegliere l'alias da utilizzare.

SSO non disponibile

Per i tipi SMB e netBIOS l'SSO è concettualmente non disponibile: il campo visualizza un'etichetta in grigio invece dell'elenco a discesa.

L'SSO è incompatibile con i domini SAML

La modalità Enabled presuppone che la piattaforma conosca la password dell'utente, per poterla trasmettere al servizio di destinazione. Non è così quando l'utente si autentica su un dominio di autenticazione SAML: la password viene immessa presso il provider di identità, che non la trasmette. Un'applicazione con SSO in modalità Enabled non è quindi utilizzabile dagli utenti di tali domini — riservare loro la modalità Request o Fixed, che prendono le credenziali altrove.

SSO per i tipi Reverse proxy e Web

Per i tipi Reverse proxy e Web, se la modalità SSO è diversa da Disabled, nella scheda Service compare una sezione SSO aggiuntiva.

Per Reverse proxy, la sezione espone tre campi di sintesi:

Campo Descrizione
Login attribute Nome del parametro che trasporterà il login.
Password attribute Nome del parametro che trasporterà la password.
Extra attributes Parametri complementari.

Una casella di controllo Advanced settings dà accesso a una configurazione libera (parametri e intestazioni).

Per Web, la sezione espone inoltre un campo SSO type:

Tipo Descrizione
Classic Comportamento identico a quello di Reverse proxy.
Form preload Il form HTML viene caricato, compilato e inviato automaticamente. Campi aggiuntivi: SSO URL, Form mode (metodo HTTP), CSRF token input name.
Preauthentication Prima del reindirizzamento finale viene inviata una serie di richieste HTTP. Un pulsante Configuration of preauthentication steps apre una finestra dedicata.

Configurazione dei passaggi di pre-autenticazione

La finestra di configurazione elenca le richieste già definite (URL, metodo, ordine di invio).

L'aggiunta di una richiesta con il pulsante + apre una maschera con:

Campo Descrizione
URL URL della richiesta, preceduto dall'host configurato del servizio.
Method GET o POST.
Enable cache Utile solo per GET.
Login parameter / Password parameter Nomi di parametri facoltativi.
ContentType (MIME) Permette di specificare per esempio application/json.

La casella di controllo Advanced settings espone due schede aggiuntive: Settings e Headers, ciascuna delle quali permette di aggiungere coppie nome/valore.

Sintassi particolare dei valori

Il campo Value (parametri, intestazioni, valori dei cookie) accetta stringhe di sostituzione. La casella di controllo Disable special syntax fa prendere il valore alla lettera; le voci create in questo modo vengono visualizzate in corsivo nell'elenco.

Sostituzione Effetto
%user% Login da utilizzare per l'SSO.
%password% Password da utilizzare per l'SSO.
%base64([...])% Codifica in base 64.
%lowercase([...])% / %uppercase([...])% Converte in minuscolo / maiuscolo.
%trim([...])% Rimuove gli spazi iniziali e finali.
%uriencoded([...])% Codifica i caratteri speciali per un URL.
%md5([...])% Hash MD5.
%sha256([...])% Hash SHA-256.
%hmacmd5(data,key)% HMAC-MD5 (parametri separati da %,%).
%rsa(key,data)% Cifratura RSA.
%rsaoaep(key,data)% Cifratura RSA-OAEP (chiave PEM).
%reqresult(n)% / %reqresult(n,key)% Recupera il risultato dell'n-esima richiesta inviata in precedenza, eventualmente filtrato per nome di chiave.
\% Segno di percentuale letterale.

Passaggi di creazione di dati

Un sottomenu del pulsante di aggiunta permette di aggiungere un passaggio di creazione di dati (in contrapposizione a una richiesta). Il tipo di dato può essere:

Tipo Effetto
Local variable Memorizzata nell'archivio locale del browser.
Session variable Memorizzata nell'archivio di sessione del browser.
Cookie Memorizzata in un cookie. Espone campi aggiuntivi: Path (valore predefinito /), Lifetime (in ore; vuoto = nessuna scadenza, 0 o negativo = scadenza immediata), Secured cookie (HTTPS obbligatorio), SameSite (Strict, Lax, None).

Azioni sull'agente

Le azioni sull'agente vengono proposte solo per le applicazioni privilegiate di tipo RDS o HTML5 (RDP) e unicamente se la modalità senza agente non è selezionata. Nella barra degli strumenti sono disponibili due pulsanti.

Distribuire l'agente

Fare clic su Agent deployment apre una maschera precompilata con l'elenco dei server selezionati.

Campo Descrizione
Target server Indirizzo del server di destinazione (compilato automaticamente se il server è unico).
Target drive Lettera dell'unità su cui installare l'agente (per esempio C).
Target directory Percorso di installazione.
Gateway Edge Gateway utilizzato per la distribuzione.
Domain Dominio Active Directory.
Username / Password Account amministratore locale o di dominio autorizzato a installare l'agente.

Fare clic su Validate; lo stato dell'installazione viene poi interrogato ciclicamente dalla console.

Rimuovere l'agente

Fare clic su Agent removal apre una maschera analoga che raccoglie le stesse informazioni di autenticazione e di destinazione per disinstallare l'agente.

Esportazione / importazione

  • Esportazione: scarica l'elenco filtrato in un file .csv. Una verifica preliminare può visualizzare avvertenze che l'amministratore deve confermare una per una.
  • Importazione: apre la finestra di importazione .csv. I campi da compilare sono:

    • File — il file .csv;
    • Record delimiter — il separatore di colonne, ; per un file prodotto dall'esportazione;
    • Field values delimiter — il separatore di valori multipli, + per un file prodotto dall'esportazione.

    Dopo la convalida, una finestra riepiloga il risultato per ogni riga del file.

Colonne del file

Il file contiene una riga di intestazione e poi una riga per applicazione. Le colonne sono le stesse per tutto il file, qualunque siano i tipi di servizio esportati: l'esportazione produce l'unione di tutti i parametri possibili, e ogni riga compila poi solo le colonne che riguardano il proprio tipo. Le altre restano vuote.

Le colonne sono presentate qui sotto per famiglia di tipi di servizio. Il tronco comune è compilato qualunque sia il tipo; le altre schede riguardano solo le applicazioni del tipo indicato.

In pratica, partire da un'esportazione

Per creare applicazioni in massa, la via più semplice resta esportare un'applicazione già configurata del tipo desiderato, poi duplicarne e modificarne le righe: le colonne inutili si lasciano vuote e l'intestazione fornisce i titoli esatti nella lingua della console.

Una colonna condivisa compare una sola volta nel file

Più tipi di servizio utilizzano gli stessi parametri: una colonna come Resolution è quindi elencata in ciascuna scheda interessata, ma il file la contiene una sola volta.

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

Sintassi

Elemento Separatore Esempio
Colonne ; Name;Description;Category;…
Valori multipli all'interno di una stessa cella + 10.0.0.1+10.0.0.2
Gruppo di amministratori delegati @ tra il gruppo e il suo dominio AdminsAccounting@AD-Internal
Booleani True o False; una cella vuota conta come False
Numeri interi Valore senza delimitatori; una cella vuota assume il valore predefinito del campo

Le colonne Name, Category e Service Type sono obbligatorie: una riga che ne omette una viene rifiutata. La categoria è il solo caso in cui un valore sconosciuto viene creato in fase di importazione; tutti gli altri valori referenziati devono già esistere.

Contratti di accesso

Dichiarare un'applicazione non la rende disponibile agli utenti. È quindi necessario creare un contratto di accesso che collega un'applicazione, uno o più gruppi di utenti e una condizione di accesso facoltativa.