Devolutions Gateway-Konfiguration unter Linux
Die Installation und Ausführung von Devolutions Gateway unter Linux ist schnell und einfach, sofern mehrere Voraussetzungen erfüllt sind. Für die Demonstration der Installation und Konfiguration wurde Ubuntu 22.04 LTS verwendet.
Für die Konfiguration sind Devolutions Server oder Devolutions Cloud sowie eine Devolutions Gateway-Lizenz erforderlich.
Devolutions Gateway installieren
Navigieren Sie zur Seite Devolutions Gateway GitHub Release und laden Sie die .deb-Datei der neuesten Version herunter.
Geben Sie Folgendes über die Befehlszeile ein:
wget https://github.com/Devolutions/devolutions-gateway/releases/download/v2024.3.2/devolutions-gateway_2024.3.2.0_amd64.deb
Installieren Sie das Paket mit dem
dpkg-Dienstprogramm:sudo dpkg -i devolutions-gateway_2024.3.2.0_amd64.deb
Devolutions Gateway aktualisieren
Um Devolutions Gateway unter Linux zu aktualisieren, laden Sie das neueste Paket wie im vorherigen Abschnitt beschrieben herunter und führen Sie den Installationsbefehl aus. Das Paket wird über die bestehende Installation installiert und behält die Konfigurationen bei.
Das PowerShell-Gateway-Modul installieren
Es wird empfohlen, das PowerShell-Gateway-Modul zu verwenden, um die Devolutions Gateway-Instanz unter Linux zu konfigurieren und zu verwalten.
Installieren Sie PowerShell mit diesem Befehl:
Installieren Sie das Devolutions Gateway PowerShell-Modul:
Nach der Installation kann die Devolutions Gateway-Konfiguration gestartet, gestoppt, angezeigt oder geändert werden.
Zertifikate konfigurieren
Ein ordnungsgemäßes Vertrauen der Zertifikate zwischen den Systemen ist entscheidend, damit Devolutions Gateway funktioniert. Funktionen wie WebSockets, die in Web-Dashboard-Ansichten von RDP, SSH usw. verwendet werden, erfordern ein ordnungsgemäß vertrauenswürdiges Zertifikat. Ein Zertifikat einer offiziellen Zertifizierungsstelle wie Let's Encrypt wäre für die meisten Produktionssysteme ideal. Selbstsignierte Zertifikate, wie im untenstehenden Beispiel gezeigt, können generiert werden, erfordern jedoch eine zusätzliche Konfiguration für das Vertrauen. Sie können Zertifikate auf jedem System generieren und in Devolutions Gateway verwenden, sofern sie den Zertifikatsanforderungen entsprechen.
Ein LetsEncrypt-Zertifikat unter Ubuntu 22.04 LTS mit Certbot generieren
Eine Option ist die Generierung eines LetsEncrypt-Zertifikats mit dem Certbot-Dienstprogramm. Um die neueste Version zu installieren, können Sie den Snap-Paketmanager verwenden. Je nach Ubuntu-Distribution enthalten die standardmäßigen APT-Repositories möglicherweise nicht die neueste Version der Software. In diesem Beispiel wird die Domänenüberprüfung mit Cloudflare als DNS-Anbieter verwendet.
Das untenstehende Beispiel zeigt Certbot, das als Root-Benutzer installiert und ausgeführt wird, während Devolutions Gateway als anderer Benutzer läuft.
Wenn Sie Cloudflare verwenden, generieren Sie entweder ein benutzer- oder kontobezogenes API-Token mit der Vorlage Edit zone DNS. Sobald Sie das API-Token haben, erstellen Sie den enthaltenden Ordner und die entsprechende
.ini-Datei, die das API-Token enthält.Fordern Sie ein Zertifikat für Ihre Devolutions Gateway-Domäne mithilfe des Cloudflare-DNS-Plugins an. Ersetzen Sie den Wert
gateway.mydomain.comunten durch Ihre eigene Domäne.Ändern Sie Ihre
gateway.json-Konfigurationsdatei, um die folgenden Zeilen hinzuzufügen und das neu generierte Zertifikat zu verwenden, indem Sie das Devolutions Gateway PowerShell-Modul nutzen. Die untenstehenden Befehle ändern die KonfigurationsvariablenTlsCertificateFile,TlsPrivateKeyFileundListeners.Bevor Sie Devolutions Gateway neu starten können, um das neue Zertifikat zu verwenden, müssen Sie dem Benutzer, der Devolutions Gateway ausführt, erlauben, die Zertifikatsdateien zu lesen. Dies setzt voraus, dass Ihr Benutzer devolutions heißt und das Zertifikat gateway heißt. Sie erteilen Traversierungsrechte für die Verzeichnisse und Leserechte für die Zertifikatsdateien selbst.
Starten Sie Devolutions Gateway entweder mit dem Befehl
systemctloder mit dem Devolutions Gateway PowerShell-Modul neu.
LetsEncrypt-Zertifikat erneuern
Standardmäßig wird bei der Snap-Installationsmethode ein systemd-Timer (anstelle eines Cron-Jobs) verwendet, der zweimal täglich ausgeführt wird (ein Zertifikat wird jedoch nur innerhalb von 30 Tagen vor seinem Ablauf erneuert). Um eine Erneuerung zu erzwingen, können Sie den untenstehenden Befehl verwenden.
Ein selbstsigniertes Zertifikat unter Ubuntu 22.04 LTS mit OpenSSL generieren
Mit dem OpenSSL-Dienstprogramm können Sie ein Zertifikat direkt über die Befehlszeile generieren. Das Zertifikat muss dann direkt in das Konfigurationsverzeichnis /etc/devolutions-gateway gelegt werden.

Die Zertifikatsanforderung sieht für jede Konfiguration anders aus.
Beachten Sie, dass das Zertifikat eine Subject Alternative Name (SAN)-Erweiterung mit entweder einem DNS-Namen oder einer IP-Adresse enthalten muss, und es sollte außerdem die Extended Key Usage (EKU)-Erweiterung mit dem Zweck Serverauthentifizierung (serverAuth) enthalten. Dies ist erforderlich, weil moderne Betriebssysteme und Browser, einschließlich Google Chrome und macOS, Zertifikate ablehnen, denen ein SAN oder die entsprechende EKU fehlt, selbst wenn der Common Name (CN) gesetzt ist. Es ist möglich, diese Anforderung zu lockern, indem die Option TlsVerifyStrict bei Bedarf auf false gesetzt wird, dies wird jedoch nicht empfohlen.
Anpassungsoptionen
Erklärung
req
Erstellt und verarbeitet Zertifikatsanforderungen, einschließlich selbstsignierter Zertifikate, im PKCS#10-Format.
-x509
Gibt ein selbstsigniertes Zertifikat aus.
-subj
Definiert den Zertifikatsbetreff über die Befehlszeile. Zwischen den Abschnitten dürfen keine Leerzeichen stehen
/C- Land als 2-stelliger Code, z. B. „CA“ für Kanada oder „US“ für die Vereinigten Staaten./ST- Bundesstaat oder Provinz, z. B. Quebec oder Kalifornien./L- Ort, z. B. Lavaltrie oder Sacramento./O- Organisation, z. B. Devolutions oder Microsoft./CN- Common Name, hierubuntu-2204(wie über den Befehlhostnameangezeigt).
-addext
Um einen Subject Alternate Name (SAN) hinzuzufügen, können Sie mit diesem Parameter entweder einen IP- oder DNS-Eintrag definieren.
"subjectAltName = IP:10.10.0.20""subjectAltName = DNS:ubuntu-2204"
-nodes
Verschlüsselt den erstellten privaten Schlüssel nicht.
-days
Die Anzahl der Tage, für die das Zertifikat gültig ist.
-newkey
Definiert den Algorithmus und die Bitgröße, hier wird rsa:2048 verwendet.
-keyout
Der Ort, an dem die private Schlüsseldatei erstellt wird.
-out
Der Ort, an dem die öffentliche Schlüsseldatei erstellt wird.
Dem selbstsignierten Zertifikat unter Ubuntu vertrauen
Das TLS-Zertifikat hat zwei Zwecke:
Es sichert die Management-API;
Es sichert jeden Client-zu-Gateway-Tunnel, in dem Gateway den Datenverkehr inspizieren oder filtern kann (Websites, Gateway Tunnel, SCP/SFTP usw.). Bei opaken Protokollen wie RDP oder SSH leitet Devolutions Gateway lediglich bereits verschlüsselte Bytes weiter, das Zertifikat ist jedoch weiterhin für Gateway-Health-Checks und zukünftige Funktionen erforderlich.
Sobald das selbstsignierte Zertifikat erstellt ist, muss dem Zertifikat innerhalb des Ubuntu-Systems vertraut werden. Um es systemweit als vertrauenswürdig einzustufen, verwenden Sie die folgenden Befehle:

Die ca-certificates sind möglicherweise bereits installiert. Durch Ausführen des Befehls update-ca-certificates wird in /etc/ssl/certs ein Symlink zur kopierten Zertifikatsdatei in /usr/local/share/ca-certificates erstellt.
Wenn dies in Firefox durchgeführt wird, erscheinen mehrere Vertrauensfehler, da der Browser nicht den systemweiten Zertifikatspeicher verwendet. Deren Dokumentation bietet einige Lösungen dafür.
Dem selbstsignierten Zertifikat unter Windows vertrauen
Nachdem das selbstsignierte Zertifikat erstellt wurde, muss ihm auf Devolutions Server vertraut werden. Die Dateien server.crt und server.key müssen auf das Windows-System übertragen werden; oder kopieren Sie den Inhalt und fügen Sie ihn in Dateien ein (d. h. sudo cat server.crt in Ubuntu und dies in eine Textdatei unter Windows kopieren).
Überspringen Sie diesen Abschnitt, wenn Devolutions Server nicht unter Windows ausgeführt wird.
1. Kopieren Sie den öffentlichen Schlüssel nach Windows (im Beispiel ist C:\Gateway ein temporärer Ort):
sudo cat server.crt

Kopieren Sie den Inhalt in eine server.crt-Datei.

Kopieren Sie den privaten Schlüssel nach Windows:
sudo cat server.key
Kopieren Sie den Inhalt in eine server.key-Datei.

Erstellen Sie eine PFX-Datei mit dem Windows-Befehlszeilentool certutil. Damit dies funktioniert, muss die Schlüsseldatei genauso benannt sein wie die crt-Datei und sich nur in der Erweiterung unterscheiden:
certutil -mergepfx server.crt server.pfx
Importieren Sie die PFX-Datei in den Zertifikatspeicher für vertrauenswürdige Stammzertifizierungsstellen.
Doppelklicken Sie auf die Datei server.pfx, um den Importassistenten zu starten, und wählen Sie Lokaler Computer.
Klicken Sie auf Weiter und akzeptieren Sie die Eingabeaufforderung.

Klicken Sie auf Weiter.

Geben Sie das Passwort ein, das Sie mit dem Befehl
certutileingegeben haben.Optional: Wählen Sie Diesen Schlüssel als exportierbar markieren.

Wählen Sie die Option Alle Zertifikate in folgendem Speicher speichern.
Wählen Sie Vertrauenswürdige Stammzertifizierungsstellen mit der Schaltfläche Durchsuchen....
Klicken Sie auf Weiter.

Klicken Sie auf Fertig stellen, um den Import abzuschließen.
Ubuntu-Firewall-Ports öffnen
Wenn das Linux-System UFW (Uncomplicated Firewall) zur Verwaltung der iptable-basierten Firewall verwendet, führen Sie die folgenden Befehle aus, um die erforderlichen Ports zu öffnen:

Die Devolutions Gateway-Konfiguration ändern
Der Standardkonfiguration eines Gateways in der Datei /etc/devolutions-gateway/gateway.json müssen die Zertifikatsanweisungen hinzugefügt werden (die InternalUrl muss HTTPS verwenden):
Ändern Sie die obige Datei wie folgt, unter der Annahme, dass sich sowohl server.crt als auch server.key im selben Verzeichnis wie gateway.json befinden (die Verwendung des integrierten Datei-Editors Nano wird empfohlen):

Devolutions Gateway neu starten
Wenn die neue Konfiguration eingerichtet ist, starten Sie Devolutions Gateway neu. Dies kann mit dem Befehl systemctl erfolgen:

Alternativ können auch die PowerShell-Befehle Stop-DGateway und Start-DGateway verwendet werden.
Devolutions Gateway mit Devolutions Server verbinden
Den öffentlichen Schlüssel von Devolutions Server nach Devolutions Gateway Linux kopieren
Melden Sie sich bei der Devolutions Server-Webkonsole an und navigieren Sie zu Administration – Devolutions Gateway.
Klicken Sie auf die Schaltfläche Mehr und wählen Sie die Option Öffentlichen Schlüssel herunterladen.

Kopieren Sie den Inhalt der heruntergeladenen Datei gateway_public_key.pem unter Windows.

Ersetzen Sie den Inhalt der Datei /etc/devolutions-gateway/provisioner.pem (das Nano-Dienstprogramm wird empfohlen) durch den von Windows kopierten Inhalt.

Starten Sie Devolutions Gateway mit dem Befehl
sudo systemctl restart devolutions-gateway.serviceneu.
Devolutions Gateway in Devolutions Server konfigurieren
Gehen Sie zur Weboberfläche von Devolutions Server, in der die neu konfigurierte Linux-Devolutions Gateway hinzugefügt wird.
Überspringen Sie diesen Abschnitt, wenn Sie Devolutions Gateway mit Devolutions Cloud installieren.
Melden Sie sich an der Devolutions Server-Webkonsole an und navigieren Sie zu Administration – Devolutions Gateway.
Klicken Sie auf die Schaltfläche Hinzufügen (+).
Wählen Sie Gateway aus.

Geben Sie Folgendes ein (dies ändert sich je nach Konfiguration).
Name: Linux Gateway
Devolutions Gateway URL:
https://10.10.0.20:7171TCP Hostname:
Ubuntu-2204
Klicken Sie auf Speichern.



Hosts in Ubuntu auflösen
Das Linux-gehostete Devolutions Gateway-System muss die von Devolutions Server angeforderten Adressen auflösen können. Die einfachste Methode zum Testen ist, die hosts-Datei zu ändern.
Verbinden Sie sich mit dem folgenden System:
Hostname:
it-help-dcFully-Qualified Domain Name (FQDN):
it-help-dc.ad.it-help.ninjaIP-Adresse:
10.10.0.3
Öffnen Sie die hosts-Datei zur Bearbeitung mit sudo nano /etc/hosts, um den Host in Ubuntu hinzuzufügen.

Eine webbasierte RDP-Sitzung öffnen
Das Gateway kann sich nun mit Hosts verbinden. Da der Host it-help-dc als für Ubuntu auflösbar hinzugefügt wurde, kann er zum Verbinden in einer webbasierten Sitzung verwendet werden.
Klicken Sie in der Devolutions Server-Weboberfläche auf Hinzufügen. Wählen Sie einen RDP-Sitzungseintrag aus.
Klicken Sie auf Weiter.

Geben Sie einen Namen und einen Host ein, der von der Linux-Installation von Devolutions Gateway auflösbar sein muss.
Klicken Sie auf Hinzufügen.

Geben Sie alle erforderlichen Anmeldeinformationen für die RDP-Sitzung ein oder verknüpfen Sie sie und klicken Sie auf Hinzufügen.

Wählen Sie unter der Registerkarte VPN/Tunnel/Gateway Devolutions Gateway als VPN-Typ aus.
Setzen Sie die Option Verbinden auf Immer verbinden.
Wählen Sie das richtige Gateway aus.
Klicken Sie auf Hinzufügen.

Klicken Sie auf Im Webclient öffnen.

Eine Remote Desktop Manager-RDP-Sitzung öffnen
Wenn der Eintrag bereits in der Devolutions Server-Weboberfläche konfiguriert ist, kann er aus Remote Desktop Manager gestartet werden, wenn eine Verbindung zur Devolutions Server-Datenquelle besteht.
Überspringen Sie diesen Abschnitt, wenn Sie Devolutions Gateway mit Devolutions Cloud installieren.
Beim Erstellen eines neuen Eintrags in Remote Desktop Manager ist der Vorgang ähnlich wie bei Devolutions Server.
Klicken Sie in Remote Desktop Manager auf Neuer Eintrag. Wählen Sie einen RDP-Sitzungseintrag aus.
Klicken Sie auf Auswählen.

Geben Sie einen Namen und einen Host ein, der von der Linux-Installation von Devolutions Gateway auflösbar sein muss.
Geben Sie alle erforderlichen Anmeldeinformationen für die RDP-Sitzung ein oder verknüpfen Sie sie.

Setzen Sie die Option Verbinden auf Immer verbinden.
Wählen Sie unter der Registerkarte VPN/Tunnel/Gateway Devolutions Gateway als VPN-Typ aus.

Gehen Sie zur Unterregisterkarte Einstellungen (Devolutions Gateway).
Wählen Sie das gewünschte Devolutions Gateway aus.
Klicken Sie auf Hinzufügen.

Klicken Sie auf die Schaltfläche Sitzung öffnen.

Zuletzt aktualisiert
War das hilfreich?