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.
Per la configurazione sono necessari Devolutions Server o Devolutions Cloud, così come una licenza di Devolutions Gateway.
Installare Devolutions Gateway
Vada alla pagina Devolutions Gateway GitHub Release e scarichi il file .deb dell'ultima versione.
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
Installi il pacchetto utilizzando l'utility
dpkg:sudo dpkg -i devolutions-gateway_2024.3.2.0_amd64.deb
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.
Installi PowerShell con questo comando:
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.
L'esempio seguente mostra Certbot installato ed eseguito come utente root, ma Devolutions Gateway come utente diverso.
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
.iniper contenere il token API.Richieda un certificato per il suo dominio Devolutions Gateway utilizzando il plugin DNS di Cloudflare. Sostituisca il valore
gateway.mydomain.comdi seguito con il suo dominio.Modifichi il file di configurazione
gateway.jsonper aggiungere le righe seguenti e utilizzare il certificato appena generato, utilizzando il modulo PowerShell di Devolutions Gateway. I comandi seguenti modificano le variabili di configurazioneTlsCertificateFile,TlsPrivateKeyFileeListeners.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.
Riavvii Devolutions Gateway utilizzando il comando
systemctlo 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, quiubuntu-2204(come mostrato tramite il comandohostname).
-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:
Protegge l'API di gestione;
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.
Se questa operazione viene eseguita in Firefox, appariranno più errori di attendibilità poiché il browser non utilizza l'archivio certificati di sistema. La loro documentazione offre alcune soluzioni a riguardo.
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).
Salti questa sezione se Devolutions Server non è in esecuzione su Windows.
1. Copi la chiave pubblica su Windows (nell'esempio, C:\Gateway è una posizione temporanea):
sudo cat server.crt

Copi il contenuto in un file server.crt.

Copi la chiave privata su Windows:
sudo cat server.key
Copi il contenuto in un file server.key.

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
Importi il file PFX nell'Archivio certificati Autorità di certificazione radice attendibili.
Faccia doppio clic sul file server.pfx per avviare la procedura guidata di importazione e scelga Computer locale.
Clicchi su Avanti e accetti il prompt.

Clicchi su Avanti.

Inserisca la password che ha inserito con il comando
certutil.Facoltativamente: scelga di Contrassegnare questa chiave come esportabile.

Scelga l'opzione Colloca tutti i certificati nel seguente archivio.
Selezioni Autorità di certificazione radice attendibili con il pulsante Sfoglia....
Clicchi su Avanti.

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
Acceda alla console web di Devolutions Server e navighi in Amministrazione – Devolutions Gateway.
Clicchi sul pulsante Altro e scelga l'opzione Scarica chiave pubblica.

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

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

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.
Salti questa sezione se sta installando Devolutions Gateway con Devolutions Cloud.
Acceda alla console web di Devolutions Server e vada in Administration – Devolutions Gateway.
Clicchi sul pulsante Add (+).
Selezioni Gateway.

Inserisca quanto segue (varierà in base alla configurazione).
Name: Linux Gateway
Devolutions Gateway URL:
https://10.10.0.20:7171TCP Hostname:
Ubuntu-2204
Clicchi su Save.



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-dcFully-Qualified Domain Name (FQDN):
it-help-dc.ad.it-help.ninjaIndirizzo 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.
Nell'interfaccia web di Devolutions Server clicchi su Add. Selezioni una voce di sessione RDP.
Clicchi su Continue.

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

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

Nella scheda VPN/Tunnel/Gateway scelga Devolutions Gateway come tipo di VPN.
Imposti l'opzione Connect su Always connect.
Scelga il gateway corretto.
Clicchi su Add.

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.
Salti questa sezione se sta installando Devolutions Gateway con Devolutions Cloud.
Quando si crea una nuova voce da Remote Desktop Manager il processo è simile a quello di Devolutions Server.
In Remote Desktop Manager, clicchi su New entry. Selezioni una voce di sessione RDP.
Clicchi su Select.

Inserisca un Name e un Host che deve essere risolvibile dall'installazione di Devolutions Gateway su Linux.
Inserisca o colleghi le credenziali necessarie alla sessione RDP.

Imposti l'opzione Connect su Always connect.
Nella scheda VPN/Tunnel/Gateway scelga Devolutions Gateway come tipo di VPN.

Vada alla sotto-scheda Settings (Devolutions Gateway).
Scelga il Devolutions Gateway desiderato.
Clicchi su Add.

Clicchi sul pulsante Open session.

Ultimo aggiornamento
È stato utile?