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

Configurazione di Devolutions Gateway su Linux

L'installazione e l'esecuzione di Devolutions Gateway su Linux sono rapide e semplici, a condizione che siano soddisfatti diversi prerequisiti. Ubuntu 22.04 LTS è stato utilizzato per dimostrare l'installazione e la configurazione.

Installare Devolutions Gateway

  1. Vada alla pagina Devolutions Gateway GitHub Release e scarichi il file .deb dell'ultima versione.

  2. Inserisca quanto segue tramite la riga di comando: wget https://github.com/Devolutions/devolutions-gateway/releases/download/v2024.3.2/devolutions-gateway_2024.3.2.0_amd64.deb

  3. Installi il pacchetto utilizzando l'utility dpkg: sudo dpkg -i devolutions-gateway_2024.3.2.0_amd64.deb

    I pacchetti di configurazione e binari si trovano nelle seguenti posizioni:

    • Configurazione: /etc/devolutions-gateway

    • Binario: /usr/bin/devolutions-gateway

Aggiornare Devolutions Gateway

Per aggiornare Devolutions Gateway su Linux, scarichi l'ultimo pacchetto come spiegato nella sezione precedente ed esegua il comando di installazione. Il pacchetto verrà installato sopra l'installazione esistente e conserverà le configurazioni.

Installare il modulo PowerShell gateway

Si consiglia di utilizzare il modulo PowerShell gateway per configurare e gestire l'istanza di Devolutions Gateway su Linux.

  1. Installi PowerShell con questo comando:

  2. Installi il modulo PowerShell di Devolutions Gateway:

Una volta installato, la configurazione di Devolutions Gateway può essere avviata, arrestata, visualizzata o modificata.

Configurare i certificati

La corretta attendibilità dei certificati tra i sistemi è fondamentale per il funzionamento di Devolutions Gateway. Funzionalità come i WebSocket utilizzati nelle viste della dashboard web di RDP, SSH, ecc., richiedono un certificato correttamente attendibile. Un certificato di un'autorità ufficiale come Let's Encrypt sarebbe ideale per la maggior parte dei sistemi di produzione. È possibile generare certificati autofirmati, come nell'esempio mostrato di seguito, ma richiedono una configurazione aggiuntiva per l'attendibilità. Può generare certificati su qualsiasi sistema e utilizzarli all'interno di Devolutions Gateway se rispettano i requisiti dei certificati.

Generare un certificato LetsEncrypt su Ubuntu 22.04 LTS tramite Certbot

Un'opzione consiste nel generare un certificato LetsEncrypt con l'utility Certbot. Per installare l'ultima versione, può utilizzare il gestore di pacchetti snap. A seconda della distribuzione di Ubuntu, i repository APT predefiniti potrebbero non contenere l'ultima versione del software. In questo esempio, la verifica del dominio viene utilizzata con Cloudflare come provider DNS.

  1. L'esempio seguente mostra Certbot installato ed eseguito come utente root, ma Devolutions Gateway come utente diverso.

  2. Quando utilizza Cloudflare, generi un token API con ambito utente o account, utilizzando il modello Edit zone DNS. Una volta ottenuto il token API, crei la cartella contenitore e il corrispondente file .ini per contenere il token API.

  3. Richieda un certificato per il suo dominio Devolutions Gateway utilizzando il plugin DNS di Cloudflare. Sostituisca il valore gateway.mydomain.com di seguito con il suo dominio.

  4. Modifichi il file di configurazione gateway.json per aggiungere le righe seguenti e utilizzare il certificato appena generato, utilizzando il modulo PowerShell di Devolutions Gateway. I comandi seguenti modificano le variabili di configurazione TlsCertificateFile, TlsPrivateKeyFile e Listeners.

  5. Prima di poter riavviare Devolutions Gateway per utilizzare il nuovo certificato, deve consentire all'utente che esegue Devolutions Gateway di leggere i file del certificato. Si presuppone che il suo utente si chiami devolutions e che il certificato si chiami gateway. Sta concedendo i diritti di attraversamento alle directory e i diritti di lettura ai file del certificato stessi.

  6. Riavvii Devolutions Gateway utilizzando il comando systemctl o il modulo PowerShell di Devolutions Gateway.

Rinnovare il certificato LetsEncrypt

Per impostazione predefinita, con il metodo di installazione Snap, viene utilizzato un timer systemd (invece di un cron job), che viene eseguito due volte al giorno (anche se rinnova un certificato solo entro 30 giorni dalla sua scadenza). Per forzare un rinnovo, può utilizzare il comando seguente.

Generare un certificato autofirmato su Ubuntu 22.04 LTS tramite OpenSSL

Utilizzando l'utility OpenSSL, generi un certificato direttamente dalla riga di comando. Il certificato deve quindi essere collocato direttamente nella directory di configurazione /etc/devolutions-gateway.

La richiesta di certificato sarà diversa per ogni configurazione.

Si noti che il certificato deve includere un'estensione Subject Alternative Name (SAN) con un nome DNS o un indirizzo IP, e dovrebbe anche contenere l'estensione Extended Key Usage (EKU) con lo scopo Server Authentication (serverAuth). Ciò è necessario perché i sistemi operativi e i browser moderni, inclusi Google Chrome e macOS, rifiuteranno i certificati privi di un SAN o dell'EKU appropriato, anche se il Common Name (CN) è impostato. È possibile allentare questo requisito impostando l'opzione TlsVerifyStrict su false se necessario, ma non è consigliato.

Opzioni di personalizzazione

Spiegazione

req

Crea ed elabora richieste di certificato, inclusi i certificati autofirmati in formato PKCS#10.

-x509

Produce un certificato autofirmato.

-subj

Definisce il soggetto del certificato dalla riga di comando. Non devono esserci spazi tra le sezioni

  • /C - Paese in codice a 2 cifre come “CA” per il Canada o “US” per gli Stati Uniti.

  • /ST - Stato o Provincia, come Quebec o California.

  • /L - Località, come Lavaltrie o Sacramento.

  • /O - Organizzazione, come Devolutions o Microsoft.

  • /CN - Nome comune, qui ubuntu-2204 (come mostrato tramite il comando hostname).

-addext

Per aggiungere un Subject Alternate Name (SAN), può utilizzare questo parametro per definire una voce IP o DNS.

  • "subjectAltName = IP:10.10.0.20"

  • "subjectAltName = DNS:ubuntu-2204"

-nodes

Non cifrare la chiave privata creata.

-days

Il numero di giorni di validità del certificato.

-newkey

Definisce l'algoritmo e la dimensione in bit, qui viene utilizzato rsa:2048.

-keyout

La posizione in cui creare il file della chiave privata.

-out

La posizione in cui creare il file della chiave pubblica.

Considerare attendibile il certificato autofirmato su Ubuntu

Il certificato TLS ha due scopi:

  1. Protegge l'API di gestione;

  2. Protegge qualsiasi tunnel client-Gateway in cui il gateway può ispezionare o filtrare il traffico (siti web, Gateway Tunnel, SCP/SFTP, ecc.). Per i protocolli opachi come RDP o SSH, Devolutions Gateway si limita a inoltrare byte già cifrati, ma il certificato è comunque necessario per i controlli di integrità del gateway e per le funzionalità future.

Una volta creato il certificato autofirmato, il certificato all'interno del sistema Ubuntu dovrà essere considerato attendibile. Per renderlo attendibile a livello di sistema, utilizzi il seguente set di comandi:

Il pacchetto ca-certificates potrebbe essere già installato. Eseguendo il comando update-ca-certificates verrà creato un collegamento simbolico in /etc/ssl/certs al file di certificato copiato in /usr/local/share/ca-certificates.

Considerare attendibile il certificato autofirmato su Windows

Dopo aver creato il certificato autofirmato, dovrà essere considerato attendibile su Devolutions Server. I file server.crt e server.key dovranno essere trasferiti sul sistema Windows; oppure copi e incolli il contenuto nei file (ad es. sudo cat server.crt in Ubuntu e copi il risultato in un file di testo su Windows).

1. Copi la chiave pubblica su Windows (nell'esempio, C:\Gateway è una posizione temporanea): sudo cat server.crt

  1. Copi il contenuto in un file server.crt.

  2. Copi la chiave privata su Windows: sudo cat server.key

  3. Copi il contenuto in un file server.key.

  4. Crei un file PFX utilizzando lo strumento da riga di comando certutil di Windows. Affinché ciò funzioni, il file della chiave deve avere lo stesso nome del file crt, differendo solo per l'estensione: certutil -mergepfx server.crt server.pfx

    1. Faccia doppio clic sul file server.pfx per avviare la procedura guidata di importazione e scelga Computer locale.

    2. Clicchi su Avanti e accetti il prompt.

    3. Clicchi su Avanti.

    4. Inserisca la password che ha inserito con il comando certutil.

      • Facoltativamente: scelga di Contrassegnare questa chiave come esportabile.

    5. Scelga l'opzione Colloca tutti i certificati nel seguente archivio.

    6. Selezioni Autorità di certificazione radice attendibili con il pulsante Sfoglia....

    7. Clicchi su Avanti.

    8. Clicchi su Fine per completare l'importazione.

Aprire le porte del firewall di Ubuntu

Se il sistema Linux utilizza UFW (Uncomplicated Firewall) per gestire il firewall basato su iptables, esegua i seguenti comandi per aprire le porte necessarie:

Modificare la configurazione di Devolutions Gateway

La configurazione predefinita di un gateway contenuta nel file /etc/devolutions-gateway/gateway.json necessita dell'aggiunta delle direttive del certificato (l'InternalUrl dovrà utilizzare HTTPS):

Modifichi il file di cui sopra in modo che rifletta quanto segue, presupponendo che sia server.crt che server.key si trovino nella stessa directory di gateway.json (si consiglia di utilizzare l'editor di file integrato Nano):

Riavviare Devolutions Gateway

Con la nuova configurazione in atto, riavvii Devolutions Gateway. Ciò può essere fatto con il comando systemctl:

In alternativa, è possibile utilizzare anche i comandi PowerShell Stop-DGateway e Start-DGateway.

Connettere Devolutions Gateway a Devolutions Server

Copiare la chiave pubblica da Devolutions Server a Devolutions Gateway Linux

  1. Acceda alla console web di Devolutions Server e navighi in AmministrazioneDevolutions Gateway.

  2. Clicchi sul pulsante Altro e scelga l'opzione Scarica chiave pubblica.

  3. Copi il contenuto del file gateway_public_key.pem scaricato su Windows.

  4. Sostituisca il contenuto del file /etc/devolutions-gateway/provisioner.pem (si consiglia l'utility Nano) con il contenuto copiato da Windows.

  5. Riavvii Devolutions Gateway con il comando sudo systemctl restart devolutions-gateway.service.

Configurare Devolutions Gateway in Devolutions Server

Acceda all'interfaccia web di Devolutions Server in cui verrà aggiunto il Devolutions Gateway Linux appena configurato.

  1. Acceda alla console web di Devolutions Server e vada in AdministrationDevolutions Gateway.

  2. Clicchi sul pulsante Add (+).

  3. Selezioni Gateway.

  1. Inserisca quanto segue (varierà in base alla configurazione).

    1. Name: Linux Gateway

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

    3. TCP Hostname: Ubuntu-2204

  2. Clicchi su Save.

    Clicchi sul menu delle opzioni More del gateway e scelga l'opzione Publish revocation list se l'elenco di revoca non è aggiornato.

Risolvere gli host in Ubuntu

Il sistema Devolutions Gateway ospitato su Linux deve essere in grado di risolvere gli indirizzi richiesti da Devolutions Server. Il metodo più semplice per fare dei test è modificare il file hosts.

Si connetta al seguente sistema:

  • Hostname: it-help-dc

  • Fully-Qualified Domain Name (FQDN): it-help-dc.ad.it-help.ninja

  • Indirizzo IP: 10.10.0.3

Apra il file hosts per la modifica con sudo nano /etc/hosts per aggiungere l'host in Ubuntu.

Aprire una sessione RDP basata sul web

Il gateway ora può connettersi agli host. Poiché l'host it-help-dc è stato aggiunto come risolvibile in Ubuntu, può essere utilizzato per connettersi in una sessione basata sul web.

Le sessioni basate sul web richiedono un gateway attivo configurato per la voce e l'utente che avvia la sessione dovrà disporre di una licenza Remote Desktop Manager Team edition o di una licenza Devolutions Launcher assegnata.

Inoltre, se sono state apportate modifiche alle assegnazioni delle licenze, potrebbe essere necessario disconnettersi e riconnettersi per visualizzare l'opzione di avvio della connessione basata sul web.

  1. Nell'interfaccia web di Devolutions Server clicchi su Add. Selezioni una voce di sessione RDP.

  2. Clicchi su Continue.

  1. Inserisca un Name e un Host che deve essere risolvibile dall'installazione di Devolutions Gateway su Linux.

  2. Clicchi su Add.

  3. Inserisca o colleghi le credenziali necessarie alla sessione RDP e clicchi su Add.

  4. Nella scheda VPN/Tunnel/Gateway scelga Devolutions Gateway come tipo di VPN.

  5. Imposti l'opzione Connect su Always connect.

  6. Scelga il gateway corretto.

  7. Clicchi su Add.

  8. Clicchi su Open in web client.

Aprire una sessione RDP di Remote Desktop Manager

Se la voce è già configurata all'interno dell'interfaccia web di Devolutions Server, può essere avviata da Remote Desktop Manager quando si è connessi allo spazio di lavoro di Devolutions Server.

Quando si crea una nuova voce da Remote Desktop Manager il processo è simile a quello di Devolutions Server.

  1. In Remote Desktop Manager, clicchi su New entry. Selezioni una voce di sessione RDP.

  2. Clicchi su Select.

  3. Inserisca un Name e un Host che deve essere risolvibile dall'installazione di Devolutions Gateway su Linux.

  4. Inserisca o colleghi le credenziali necessarie alla sessione RDP.

  5. Imposti l'opzione Connect su Always connect.

  6. Nella scheda VPN/Tunnel/Gateway scelga Devolutions Gateway come tipo di VPN.

  7. Vada alla sotto-scheda Settings (Devolutions Gateway).

  8. Scelga il Devolutions Gateway desiderato.

  9. Clicchi su Add.

  10. Clicchi sul pulsante Open session.

    Passando il puntatore sulla barra del titolo apparirà una descrizione che mostra che la sessione RDP è connessa tramite Devolutions Gateway.

Ultimo aggiornamento

È stato utile?