Bastion Server · 11 min read · Sep 09, 2025
So richten Sie einen Bastion-Server mit Warpgate auf Debian ein

Ein Bastion-Server bezieht sich auf einen Computer/Maschine/Server, der speziell dafür entworfen und konfiguriert ist, um Angriffe auf Computernetzwerke standzuhalten. Die Funktionalität des Bastion-Servers ähnelt einem Proxy oder Lastenausgleich für Anwendungen. Er ermöglicht den Zugriff auf Computer oder Server, die sich in DMZ-Netzwerken befinden.
Warpgate ist eine moderne Lösung, die als Bastion-Server verwendet werden kann. Es ist in Rust geschrieben und bietet ein webbasiertes Administrations-Dashboard. Sie können es auf einem bestimmten Knoten installieren und dann problemlos Zielknoten oder Server hinzufügen, die sich in Ihrer privaten Infrastruktur befinden. Warpgate kann derzeit als Bastion-Server für SSH, MySQL/MariaDB und HTTP verwendet werden.
In diesem Tutorial richten Sie einen Bastion-Server für SSH- und MySQL/MariaDB-Verbindungen auf einem Debian 11-Server mit Warpgate ein. Sie installieren und konfigurieren Warpgate auf dem Debian-Server und fügen dann den SSH-Zielserver und den MySQL-Server zu Warpgate hinzu. Am Ende stellen Sie sicher, dass der Warpgate-Bastion-Server funktioniert, indem Sie eine Verbindung zum Zielhost-SSH-Server und zum MySQL-Server herstellen.
Voraussetzungen
Sie benötigen die folgenden Anforderungen, um dieses Tutorial abzuschließen:
- Ein Linux-Server, der Debian 11 ausführt - Dieses Beispiel verwendet einen Server mit dem Hostnamen ‘warpgate-debian‘ und der IP-Adresse ‘192.168.5.10‘.
- Ein Nicht-Root-Benutzer mit sudo/root-Administratorrechten.
Warpgate-Binärdatei herunterladen
In diesem Abschnitt laden Sie die Warpgate-Binärdatei manuell von GitHub herunter und verschieben sie dann in das Systemverzeichnis ‘bin’. Eine andere Möglichkeit, Warpgate zu installieren, besteht darin, es aus dem Quellcode zu kompilieren oder die Warpgate-Docker-Version zu verwenden.
Um zu beginnen, führen Sie den folgenden wget-Befehl aus, um die Warpgate-Binärdatei herunterzuladen. Besuchen Sie die offizielle GitHub-Downloadseite für die neueste Version von Warpgate.
wget -q https://github.com/warp-tech/warpgate/releases/download/v0.7.0/warpgate-v0.7.0-x86_64-linuxSobald der Download abgeschlossen ist, verschieben Sie die Warpgate-Binärdatei nach ‘/usr/local/bin/warpgate ‘. Machen Sie sie dann ausführbar, indem Sie den ‘chmod +x’-Befehl verwenden.
mv warpgate-v0.7.0-x86_64-linux /usr/local/bin/warpgate
sudo chmod +x /usr/local/bin/warpgateFühren Sie als Nächstes den folgenden Befehl aus, um die ‘ warpgate ‘-Binärdatei auf Ihrem System zu finden.
which warpgateÜberprüfen Sie nun die Warpgate-Version und listen Sie die verfügbaren Parameter des ‘warpgate’-Befehls auf.
warpgate version
warpgate --helpSie sollten eine Ausgabe wie diese erhalten.

Warpgate als Bastion-Server konfigurieren
Nachdem die Warpgate-Binärdatei heruntergeladen wurde, richten Sie nun Ihre Warpgate-Installation ein und konfigurieren sie. Dies kann interaktiv über den ‘ warpgate ‘-Befehl erfolgen.
Führen Sie den folgenden Befehl aus, um Warpgate als Bastion-Server zu konfigurieren.
warpgate setupNachdem der Befehl ausgeführt wurde, werden Sie nach den folgenden Konfigurationen gefragt:
- Wo möchten Sie die Warpgate-Daten speichern? Lassen Sie es als Standard im Verzeichnis ‘/var/lib/warpgate’.
- Der Endpunkt des Warpgate-Webadministrations-Dashboards? Lassen Sie es als Standard, um Warpgate auf Ihrer internen/öffentlichen IP-Adresse mit Port 8888 auszuführen.
- SSH-Verbindungen akzeptieren? Geben Sie ja ein, um Warpgate als SSH-Bastion-Server zu aktivieren.
- Der Endpunkt des SSH-Bastion-Servers? Lassen Sie es als Standard, um den SSH-Bastion-Server auf der internen/öffentlichen IP-Adresse mit Port 2222 auszuführen.
- MySQL-Verbindungen akzeptieren? Geben Sie ja ein, um Warpgate als MySQL-Bastion-Server zu aktivieren.
- Der Endpunkt des MySQL-Bastion-Servers? Lassen Sie es als Standard mit Port 33306.
- Benutzersitzungen aufzeichnen? Geben Sie ja ein, um es zu aktivieren.
- Richten Sie ein Passwort für den Standardbenutzer admin ein. Geben Sie das Passwort für Ihre Warpgate-Installation ein.

Sobald der Einrichtungsprozess abgeschlossen ist, sollten Sie eine Ausgabe wie diese erhalten. Sie werden auch die Warpgate-Konfigurationsdatei ‘/etc/warpgate.yaml’ und das Datenverzeichnis ‘/var/lib/warpgate’ sehen, die während des Prozesses erstellt wurden.

Führen Sie nun den folgenden Befehl aus, um den Inhalt der Datei ‘/etc/warpgate.yaml’ und die Liste der verfügbaren Dateien und Verzeichnisse im ‘/var/lib/warpgate’ anzuzeigen.
cat /etc/warpgate.yaml
ls /var/lib/warpgateUnten ist die Ausgabe, die auf Ihrem Terminal angezeigt wird.

Führen Sie nun den folgenden Befehl aus, um Warpgate auszuführen. Sie werden die Ausgabe ‘ Warpgate läuft jetzt ‘ sehen und TCP-Ports für SSH-, MySQL- und HTTP-Verbindungen öffnen.
warpgate --config /etc/warpgate.yaml run
Öffnen Sie Ihren Webbrowser und besuchen Sie die Warpgate-IP-Adresse mit Port 8888 (d.h.: https://192.168.5.10:8888/). Wenn erfolgreich, sollten Sie die Anmeldeseite von Warpgate erhalten.

Zurück zu Ihrem Terminal und drücken Sie Ctrl+c, um den Warpgate-Prozess zu beenden.
Warpgate als Systemd-Dienst ausführen
In diesem Abschnitt richten Sie Warpgate so ein und konfigurieren es, dass es mit Systemd ausgeführt wird. Dies ermöglicht es Ihnen, Warpgate im Hintergrund auszuführen und einfacher über das Systemctl-Befehlsdienstprogramm zu verwalten.
Erstellen Sie eine neue Systemd-Einheitendatei ‘/etc/systemd/system/warpgate.service’ mit dem folgenden Befehl im Nano-Editor.
sudo nano /etc/systemd/system/warpgate.serviceFügen Sie die folgenden Systemd-Einheit-Konfigurationen in die Datei ein.
[Unit]
Description=Warpgate
After=network.target
StartLimitIntervalSec=0
[Service]
Type=notify
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/warpgate --config /etc/warpgate.yaml run
[Install]
WantedBy=multi-user.targetSpeichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Führen Sie den folgenden Befehl aus, um den Systemd-Manager neu zu laden und die Änderungen anzuwenden.
sudo systemctl daemon-reloadStarten und aktivieren Sie dann den Warpgate-Dienst mit dem folgenden Systemctl-Befehlsdienstprogramm.
sudo systemctl start warpgate
sudo systemctl enable warpgate
Überprüfen Sie anschließend den Status des Warpgate-Dienstes, um sicherzustellen, dass der Dienst läuft.
sudo systemctl status warpgateDie folgende Ausgabe bestätigt, dass der Warpgate-Dienst läuft.

Wenn Sie die Liste der offenen Ports auf Ihrem Server überprüfen, sehen Sie mehrere Ports 2222, 8888 und 33306 im LISTEN-Zustand. Führen Sie den folgenden ss-Befehl aus.
ss -tulpnAusgabe:

UFW einrichten
In diesem Abschnitt installieren, starten und aktivieren Sie UFW auf Ihrem Debian-Server. Sie werden auch die Ports öffnen, die von Warpgate verwendet werden.
Installieren Sie UFW, indem Sie den folgenden apt-Befehl ausführen.
sudo apt install ufwWenn Sie dazu aufgefordert werden, geben Sie y ein, um zu bestätigen, und drücken Sie ENTER.

Sobald UFW installiert ist, führen Sie den folgenden Befehl aus, um den OpenSSH-Dienst und die Warpgate-Ports 2222, 8888 und 33306 zu öffnen.
sudo ufw allow OpenSSH
sudo ufw allow 8888/tcp
sudo ufw allow 2222/tcp
sudo ufw allow 33306/tcpStarten und aktivieren Sie dann UFW mit dem folgenden Befehl. Geben Sie y ein, wenn Sie dazu aufgefordert werden, und drücken Sie ENTER, um fortzufahren.
sudo ufw enableNachdem der folgende Befehl ausgeführt wurde, sollte UFW laufen und aktiviert sein, was bedeutet, dass UFW beim Systemstart automatisch ausgeführt wird.

Geben Sie nun den folgenden Befehl ein, um den UFW-Status zu überprüfen. Sie sollten sehen, dass der UFW ‘Status: Aktiv’ ist, mit dem OpenSSH-Dienst, den Ports 2222, 8888 und 33306 hinzugefügt.
sudo ufw statusAusgabe:

Anmeldung bei Warpgate
Mit dem Warpgate, das als Systemd-Dienst läuft, und dem UFW, das läuft, werden Sie nun auf die Warpgate-Installation zugreifen.
Öffnen Sie Ihren Webbrowser und besuchen Sie die Server-IP-Adresse, gefolgt von Port 8888 (d.h.: https://192.168.5.20:8888 /) und Sie sehen die Anmeldeseite von Warpgate.
Geben Sie den Standardbenutzer ‘admin‘ und das Passwort ein, das Sie konfiguriert haben. Klicken Sie dann auf Anmelden, um fortzufahren.

Sobald Sie als ‘admin‘ angemeldet sind, klicken Sie im Menü auf ‘Warpgate verwalten‘.

Sie sollten jetzt das Warpgate-Benutzer-Dashboard sehen.

An diesem Punkt haben Sie die Warpgate-Installation als SSH- und MySQL-Bastion-Server auf dem Debian-Server abgeschlossen. Sie sind nun bereit, Ihren Server und den MySQL-Server zu Warpgate hinzuzufügen.
Hinzufügen eines SSH-Zielservers
In diesem Abschnitt fügen Sie den Linux-Server mit der IP-Adresse 192.168.5.25 und dem Hostnamen ‘node1‘ zum Warpgate-Bastion-Server hinzu. Dazu müssen Sie den Warpgate-SSH-öffentlichen Schlüssel zu Ihrem Zielserver hinzufügen.
Klicken Sie im Warpgate-Dashboard auf das SSH-Menü, und Sie sehen die Warpgate-SSH-öffentlichen und privaten Schlüssel, die verwendet werden, um sich beim Zielserver anzumelden.
Kopieren Sie den SSH-öffentlichen Schlüssel in Ihre Notizen.

Melden Sie sich nun beim Zielserver an, erstellen Sie ein neues Verzeichnis ‘~/.ssh‘, und erstellen Sie die Datei ‘authorized_keys‘ mit dem folgenden Befehl im Nano-Editor.
mkdir -p ~/.ssh/
nano ~/.ssh/authorized_keysFügen Sie den Warpgate-SSH-öffentlichen Schlüssel ein.

Wechseln Sie als Nächstes zum Warpgate-Dashboard, klicken Sie auf das Konfiguration-Menü und dann auf ‘Ziel hinzufügen‘.

Geben Sie den Hostnamen des Zielservers ein, wählen Sie den Typ als SSH aus und klicken Sie dann auf Ziel erstellen.

Ändern Sie die IP-Adresse des Zielservers und den Benutzer, der verwendet wird, um sich beim Server anzumelden. Wählen Sie für die Authentifizierung ‘Warpgates private Schlüssel‘ aus. Aktivieren Sie dann die Rolle ‘warpgate:admin’ im Abschnitt ‘Zugriff für Rollen erlauben‘.
Wenn Sie fertig sind, klicken Sie auf ‘Konfigurationen aktualisieren‘.

Damit wurde der Zielserver ‘node1‘ zu Warpgate hinzugefügt. Sie können sich jetzt über den Warpgate-Bastion-Server mit ‘node1‘ verbinden.
Führen Sie den folgenden SSH-Befehl aus, um sich über den Warpgate-Bastion-Server mit ‘node1‘ zu verbinden. In diesem Befehl wird das Format ‘role: server-name’ mit der Bastion-Server-IP-Adresse 192.168.5.10 und dem Port 2222 verwendet.
ssh 'admin:[email protected]' -p 2222Geben Sie ja ein, um zu bestätigen und den SSH-Fingerabdruck des Ziels hinzuzufügen. Wenn Sie nach dem Passwort gefragt werden, geben Sie das Passwort des Bastionbenutzers ‘admin‘ ein.
Wenn die Verbindung erfolgreich ist, sollten Sie eine Ausgabe wie ‘Warpgate verbunden‘ erhalten. Und Sie sind beim Zielserver ‘node1‘ angemeldet.
Geben Sie den folgenden Befehl ein, um den aktuellen Server zu überprüfen, bei dem Sie angemeldet sind. Sie werden sehen, dass Sie sich über den Warpgate-SSH-Bastion-Server beim ‘node1‘-Server angemeldet haben.
id
hostnameAusgabe:

Wenn Sie im Warpgate-Webadministrations-Dashboard nachsehen, sollten Sie den Fingerabdruck Ihres SSH-Zielservers sehen.

Hinzufügen eines MySQL/MariaDB-Zielservers
In diesem Abschnitt fügen Sie einen MariaDB-Server zum Warpgate-Bastion-Server hinzu. Zuvor richten Sie den MariaDB-Server so ein, dass er auf einer privaten/internen IP-Adresse ausgeführt wird, und erstellen auch einen neuen MariaDB-Benutzer für Remote-Verbindungen.
Melden Sie sich beim MariaDB-Server an und öffnen Sie die Konfigurationsdatei ‘/etc/mysql/mariadb.conf.d/50-server.cnf’ mit dem folgenden Befehl im Nano-Editor.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfKommentieren Sie den Parameter ‘bind-address‘ aus und ändern Sie den Wert in Ihre interne IP-Adresse. In diesem Beispiel wird der MariaDB-Server unter der privaten IP-Adresse ‘192.168.5.25‘ ausgeführt.
bind-address = 192.168.5.25Speichern Sie die Datei und beenden Sie den Editor.
Geben Sie den folgenden Befehl ein, um den MariaDB-Dienst neu zu starten und die Änderungen anzuwenden. Nach dem Neustart sollte der MariaDB unter der IP-Adresse ‘192.168.5.25’ anstelle des Standard-Hosts localhost ausgeführt werden.
sudo systemctl restart mariadbMelden Sie sich als Nächstes in der MariaDB-Shell als Root-Benutzer an, um einen neuen Benutzer einzurichten und zu erstellen.
sudo mariadb -u root -pGeben Sie die folgenden Abfragen ein, um einen neuen MariaDB-Benutzer ‘appuser’ zu erstellen und dem Benutzer den Zugriff auf alle Datenbanken auf dem MariaDB-Server zu gewähren. Stellen Sie außerdem sicher, dass Sie das Passwort in der folgenden Abfrage ändern.
CREATE USER 'appuser'@'%' IDENTIFIED BY 'p4@@w0rd';
GRANT ALL PRIVILEGES ON *.* TO 'appuser'@'%' IDENTIFIED BY 'p4@@w0rd';
FLUSH PRIVILEGES;
EXIT;Als Nächstes richten Sie das MariaDB-Client-Paket auf dem Computer ein, der verwendet wird, um eine Verbindung zum MariaDB-Server herzustellen.

Installieren Sie das ‘mariadb-client‘-Paket mit dem folgenden Befehl. Geben Sie y ein, wenn Sie dazu aufgefordert werden, und drücken Sie ENTER, um fortzufahren.
sudo apt install mariadb-client
Wechseln Sie nun zum Warpgate-Server, ändern Sie das Arbeitsverzeichnis in ‘/var/lib/warpgate‘, und kopieren Sie die Warpgate-TLS-Zertifikate auf Ihren MariaDB-Client-Computer.
cd /var/lib/warpgate/
sudo scp tls.certificate.pem tls.key.pem [email protected]:/etc/mysql/
Gehen Sie nun zurück zum Client-Computer und öffnen Sie die MariaDB-Client-Konfiguration ‘/etc/mysql/mariadb.conf.d/50-client.cnf’ mit dem folgenden Befehl im Nano-Editor.
sudo nano /etc/mysql/mariadb.conf.d/50-client.cnfFügen Sie die folgenden Konfigurationen zum Abschnitt ‘[client]‘ hinzu, um eine sichere Clientverbindung zu ermöglichen.
[client]
....
ssl-cert=/etc/mysql/tls.certificate.pem
ssl-key=/etc/mysql/tls.key.pemSpeichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Klicken Sie nun im Warpgate-Dashboard auf das Menü ‘Konfiguration’ und dann auf ‘Ziel hinzufügen‘.

Geben Sie den Namen des MariaDB-Servers ein, wählen Sie den Typ als ‘MySQL‘ aus und klicken Sie dann auf Ziel erstellen.

Ändern Sie die Details Host, Benutzer und Passwort mit Ihren MariaDB-Benutzerdaten. Stellen Sie sicher, dass Sie die Option ‘Zertifikat überprüfen‘ deaktivieren, wenn Sie Standard-TLS-Zertifikate haben, und aktivieren Sie dann die Rolle ‘warpgate:admin‘ im Abschnitt ‘Zugriff für Rollen erlauben‘.
Klicken Sie auf ‘Konfiguration aktualisieren‘, wenn Sie fertig sind.

Nachdem der MariaDB-Server zu Warpgate hinzugefügt wurde, können Sie jetzt über den Warpgate MySQL-Bastion-Server auf den MariaDB-Server zugreifen.
Geben Sie von der MariaDB-Clientmaschine den folgenden Befehl ein, um eine Verbindung zum MariaDB-Server herzustellen. Wenn Sie dazu aufgefordert werden, geben Sie das Passwort des Warpgate-Adminbenutzers ein.
mysql -u 'admin#mysql1' --host '192.168.5.10' --port 33306 --ssl -pWenn Sie verbunden sind, sollten Sie die MariaDB-Shell-Eingabeaufforderung wie ‘MySQL [(dbname)]>‘ sehen. Geben Sie die folgenden Abfragen ein, um sicherzustellen, dass der Benutzer, den Sie verwenden, auf dem MariaDB-Server verfügbar ist.
SELECT host, user, plugin, authentication_string from mysql.user;
SHOW GRANTS FOR appuser@'%';Ausgabe:

Damit haben Sie sich jetzt über den Warpgate MySQL/MariaDB-Bastion-Server mit dem MariaDB-Server verbunden.
Fazit
In diesem Tutorial haben Sie den Warpgate-Bastion-Server auf Debian 11 installiert und konfiguriert. Sie haben Warpgate so konfiguriert, dass es mit systemd und der UFW-Firewall ausgeführt wird. Darüber hinaus haben Sie Warpgate als SSH- und MySQL/MariaDB-Bastion-Server konfiguriert, den SSH-Zielserver hinzugefügt und auch den MySQL/MariaDB-Zielserver hinzugefügt.
Mit diesem Wissen können Sie jetzt neue Benutzer, Rollen einrichten und neue Verbindungen zu Ihrem Warpgate-Bastion-Server hinzufügen. Und Sie können Benutzerverbindungen und Zugriffe über einen einzigen zentralisierten Bastion-Server zentralisieren. Um die Einzelheiten zu Warpgate zu erfahren, besuchen Sie die offizielle Dokumentation von Warpgate.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.