So richtest du Teleport Cluster auf Rocky Linux 9 ein

Teleport ist eine Open-Source-Lösung, die als Zugangsebene für deine globale Infrastruktur genutzt werden kann. Es bietet einen vertrauensfreien Zugang zu einer Vielzahl von Diensten wie Servern, Kubernetes-Clustern, Datenbankservern, DevOps-Anwendungen wie AWS Management Console, CI/CD, Versionskontrolle und Desktops. Teleport ist die einzige Quelle der Wahrheit für den Zugang, die über deine gesamte Infrastruktur hinweg synchronisiert wird.

Teleport kann VPNs überflüssig machen, indem es ein einziges Gateway für den Zugang zu deiner globalen Computerinfrastruktur bereitstellt. Es ist ein identitätsbasierter Zugangsproxy, der dir einen sicheren Zugang zu deiner Infrastruktur ermöglicht.

Teleport wurde von Sicherheitsunternehmen wie Cure53 und Doyensec öffentlich geprüft. Teleport wird derzeit von Unternehmen wie Samsung, NASDAQ, IBM, Epic Games und vielen anderen eingesetzt und in der Produktion verwendet.

In diesem Lernprogramm wirst du eine Zugangsebene für deine Infrastruktur über Teleport auf einem Rocky Linux 9 Server einrichten und sichern. Du installierst Teleport, initialisierst den Teleport-Cluster, aktivierst den Teleport-Webdienst, fügst einen Teleport-Benutzer hinzu und fügst dem Teleport-Cluster über verschiedene Methoden Knoten/Server hinzu.

Wenn du dieses Tutorial abgeschlossen hast, verfügst du über eine sichere Serverinfrastruktur, auf die nur über Teleport zugegriffen werden kann. Außerdem kannst du den SSH-Zugang auf deinen lokalen Nodes/Servern deaktivieren.

Voraussetzungen

Um dieses Tutorial abzuschließen, musst du die folgenden Voraussetzungen erfüllen:

  • Ein Rocky Linux 9 Server – In diesem Beispiel wird ein Rocky Linux mit dem Hostnamen ‚teleport-rocky‚ und der Server-IP-Adresse ‚192.168.5.100‚.
  • Ein Nicht-Root-Benutzer mit sudo/root-Administrator-Rechten.
  • Ein Domainname, der auf die IP-Adresse deines Servers zeigt.
  • SSL-Zertifikate generieren – Du kannst kostenlose SSL-Zertifikate über Certbot und Letsencrypt generieren.
  • Ein SELinux läuft im permissiven Modus.
  • Zwei-Faktor-Authentifizierungsanwendung – Du kannst KeepassXC mit dem 2FA-Plugin auf einem Desktop verwenden. Du kannst Aegis (Android-Benutzer) oder Google Authentication (iOS-Benutzer) für Telefonbenutzer verwenden.

Außerdem brauchst du zusätzliche Server/Knoten, die du dem Teleport Cluster hinzufügen kannst. Du kannst jede Linux-Distribution verwenden, aber in diesem Beispiel werden zwei zusätzliche Rocky Linux-Server mit den Hostnamen „client1“ und „client2“ verwendet.

Installation von Teleport auf Rocky Linux 9

Teleport ist eine Anwendung, mit der du sicher auf deine Infrastruktur zugreifen kannst. Du kannst über ein Gateway sicher auf Linux Server, Kubernetes Cluster, Datenbankserver, Anwendungen und Desktops zugreifen.

Um Teleport als Zugangsebene für deine Infrastruktur einzurichten, fügst du das Teleport-Repository zu deinem System hinzu und installierst es dann. Bei RHEL-basierten Distributionen kannst du Teleport über das offizielle Teleport-Repository installieren.

Führe den folgenden dnf-Befehl aus, um das Teleport-Repository zu deinem Rocky Linux-System hinzuzufügen. Überprüfe dann die Liste der aktiven Repositories.

sudo dnf config-manager --add-repo https://rpm.releases.teleport.dev/teleport.repo
sudo dnf repolist

Das Teleport-Repository sollte jetzt auf deinem System verfügbar sein.

Setup-Repo

Installiere das Teleport-Paket mit dem unten stehenden dnf-Befehl. Wenn du zur Bestätigung aufgefordert wirst, gib y ein und drücke ENTER.

sudo dnf install teleport

Teleport installieren

Das Teleport-Paket sollte in das Verzeichnis „/usr/local/bin“ installiert werden. Führe den folgenden Befehl aus, um die Liste der Befehlszeilen von Teleport zu überprüfen.

ls /usr/local/bin/

Du solltest Teleport-Befehlszeilen wie teleport, tsh und tctl haben.

Als Nächstes fügst du das Verzeichnis „/usr/local/bin“ mit dem unten stehenden Befehl zum sudoers secure_path hinzu. So kannst du Teleport-Befehlszeilen mit sudo am Anfang ausführen.

echo "Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin" > /etc/sudoers.d/secure_path
sudo chmod 440 /etc/sudoers.d/secure_path

Teleport-Einrichtung

Überprüfe abschließend die Teleport-Version mit den folgenden Befehlen.

sudo teleport version
sudo tsh version
sudo tctl version

Du solltest eine Ausgabe wie auf dem Screenshot erhalten: Du hast jetzt Teleport v11 auf deinem Rocky Linux System installiert.

Version überprüfen Teleport

Nachdem Teleport installiert ist, kannst du den Teleport Cluster initialisieren und konfigurieren.

Teleport Server konfigurieren

Um Teleport zu nutzen, musst du zunächst Teleport selbst konfigurieren. Zuvor musst du jedoch sicherstellen, dass dein Domainname auf die IP-Adresse des Servers zeigt und du SSL-Zertifikate erstellt hast. Dieses Beispiel verwendet den Domainnamen „teleport.hwdomain.io“ und SSL-Zertifikate von Letsencrypt, die im Verzeichnis „/etc/letsencrypt/live/teleport.hwdomain.io“ verfügbar sind.

Nachdem Teleport installiert ist, initialisierst du den Teleport-Cluster und aktivierst den Teleport-Webdienst, der ein Administrations-Dashboard zur Verwaltung des Teleport-Clusters bereitstellt. Zuletzt musst du den Teleport-Dienst starten und aktivieren.

Um zu beginnen, führe den folgenden teleport-Befehl aus, um die Teleport-Serverkonfiguration zu initialisieren. Außerdem musst du den Domänennamen, den Clusternamen und den Pfad der beiden SSL-Zertifikate sowie der öffentlichen und privaten Schlüssel ändern.

sudo teleport configure -o file \
--cluster-name=teleport.hwdomain.io \
--public-addr=teleport.hwdomain.io:443 \
--cert-file=/etc/letsencrypt/live/teleport.hwdomain.io/fullchain.pem \
--key-file=/etc/letsencrypt/live/teleport.hwdomain.io/privkey.pem

Auf deinem Terminalbildschirm solltest du eine Ausgabe wie diese erhalten – Die Teleport-Konfigurationsdatei wird in der Datei „/etc/teleport.yaml“ erstellt.

Teleport initialisieren

Als Nächstes öffnest du die Teleport-Konfigurationsdatei „/etc/teleport.yaml“ mit dem unten stehenden nano-Editor-Befehl.

sudo nano /etc/teleport.yaml

Füge die folgenden Zeilen in die Datei ein. Mit diesen Zeilen aktivierst du den Teleport-Webdienst, der unter dem Teleport-Domainnamen „teleport.hwdomain.io“ laufen wird.

app_service:
  enabled: yes
  apps:
  - name: "teleport-webapp"
    uri: "http://localhost:9000"
    public_addr: "teleport.hwdomain.io"

Speichere und schließe die Datei, wenn du fertig bist.

Führe nun den folgenden systemctl-Befehl aus, um den Teleport-Dienst auf deinem System zu starten und zu aktivieren.

sudo systemctl start teleport
sudo systemctl enable teleport

Start Teleport aktivieren

Der Teleport-Dienst sollte laufen und aktiviert sein. Führe den folgenden Befehl aus, um zu überprüfen und sicherzustellen, dass der Teleport-Dienst läuft.

sudo systemctl status teleport

Du erhältst eine ähnliche Ausgabe wie diese – Der Teleport-Dienst läuft und ist aktiviert, was bedeutet, dass der Teleport-Dienst beim Booten automatisch ausgeführt wird.

Teleport überprüfen

Wenn der Teleport-Dienst läuft, solltest du jetzt in der Lage sein, über deinen Webbrowser auf Teleport zuzugreifen. Zuvor musst du jedoch einige Ports öffnen, die vom Teleport-Dienst verwendet werden. Auf der Seite des Teleport-Netzwerks findest du eine Liste der Detailports für den Teleport-Cluster.

Führe den folgenden Firewall-Befehl aus, um die Ports hinzuzufügen, die von Teleport genutzt werden sollen.

sudo firewall-cmd --add-port={443/tcp,3021/tcp,3022/tcp,3025/tcp,3028/tcp} --permanent

Lade nun die Firewall neu, um die Änderungen zu übernehmen, und überprüfe dann die Liste der Firewall-Regeln.

sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Vergewissere dich nun, dass du eine ähnliche Ausgabe wie die folgende erhältst.

firewalld einrichten

Öffne deinen Webbrowser und rufe deine Teleport-Domain auf (z.B.: https://teleport.hwdomain.io/). Wenn deine Teleport-Installation erfolgreich war, solltest du die Teleport-Anmeldeseite sehen.

Teleport Login-Seite

Im nächsten Schritt erstellst und richtest du einen Teleport-Benutzer ein, mit dem du Teleport Cluster über die Kommandozeile und das Administrations-Dashboard verwalten kannst.

Hinzufügen eines Teleport-Benutzers

Zu diesem Zeitpunkt läuft der Teleport-Cluster mit aktiviertem Webdienst auf ihm. In diesem Schritt erstellst und richtest du den Teleport-Benutzer ein, der für die Verwaltung von Teleport Cluster verwendet wird.

Bevor du beginnst, stelle sicher, dass die 2FA-Anwendung auf deinen Geräten installiert ist. Du kannst KeepassXC für den Desktop, Aegis für Android oder Google Authentication für iOS verwenden.

Um zu beginnen, führe den folgenden Befehl auf dem Server „teleport-rocky“ aus, um einen neuen Teleport-Benutzer zu erstellen. Dadurch wird ein neuer Benutzer „teleport-admin“ mit den Rollen Editor und Zugriff erstellt. Mit dem Flag „–logins“ kann sich „teleport-admin“ mit dem Benutzer root, rocky oder ec2-user an allen Knoten anmelden. Die Benutzer hinter dem Flag „–login“ müssen auf den Zielknoten erstellt werden.

sudo tctl users add teleport-admin --roles=editor,access --logins=root,rocky,ec2-user

Du solltest eine Ausgabe wie diese erhalten – Der Teleport-Benutzer „teleport-admin“ ist erstellt und du solltest den generierten Link erhalten, mit dem du deinen neuen Benutzer konfigurieren kannst.

Teleport-Benutzer erstellen

Kopiere den generierten Link in deinen Webbrowser und du solltest nun die Willkommensnachricht für die Einrichtung eines Teleport-Benutzers erhalten. Klicke auf die Schaltfläche GET STARTED, um den neuen Teleport-Benutzer einzurichten.

Teleport Benutzer einrichten

Gib den Benutzernamen für deinen Teleport-Benutzer und das Passwort ein. Achte darauf, dass du ein sicheres und leicht zu merkendes Passwort verwendest. Klicke auf WEITER, um fortzufahren.

Setup-Benutzername-Passwort

Nachdem du den Benutzernamen und das Passwort konfiguriert hast, richtest du nun die Zwei-Faktor-Authentifizierung für deinen Teleport-Benutzer ein.

Scanne den QR-Code auf der Teleport-Einrichtungsseite und gib den generierten OTP-Code ein. Klicke dann zur Bestätigung auf SUBMIT.

Zwei-Faktor-Authentifizierung einrichten

Jetzt solltest du die Meldung „Registrierung erfolgreich“ erhalten, wenn dein OTP-Code korrekt ist. Damit hast du das Passwort und die 2FA für den neuen Teleport-Benutzer eingerichtet.

Klicke auf GO TO DASHBOARD.

Benutzerkonfiguration beendet

Du solltest nun das Web-Administrations-Dashboard deines Teleport-Einsatzes sehen, das sicher mit aktiviertem HTTPS läuft und der Benutzer mit aktivierter 2FA erstellt wurde.

teleport dashboard verwaltung

Teleport-Cluster über die Kommandozeile verwalten

Das Teleport-Paket enthält die Kommandozeilenbefehle ts und tctl, die im Verzeichnis „/usr/local/bin“ verfügbar sind.

Mit dem tsh-Befehl können sich Benutzer authentifizieren und Teleport Cluster über das Terminal verwalten. Du kannst Teleport-Ressourcen auf dem Cluster hinzufügen, bearbeiten oder löschen. Aus Sicherheitsgründen musst du den tsh-Befehl als Nicht-Root-Benutzer ausführen.
Mit dem Befehl tctl kannst du den Teleport Auth Service einrichten und konfigurieren. Er muss mit sudo oder root-Rechten ausgeführt werden.

In diesem Schritt greifst du auf den Teleport-Cluster zu und verwaltest ihn über die beiden Befehlszeilen tsh und tctl.

Melde dich zunächst mit dem unten stehenden Befehl als Nicht-Root-Benutzer an. In diesem Beispiel wird der Benutzer „rocky“ verwendet.

su - rocky

Führe nun den unten stehenden tsh-Befehl aus, um dich bei deinem Teleport-Cluster zu authentifizieren. In diesem Beispiel meldest du dich mit dem Benutzer “ teleport-admin“ beim Teleport-Cluster an, der unter dem Domainnamen „teleport.hwdomain.io“ läuft.

tsh login --proxy=teleport.hwdomain.io --user=teleport-admin

Du wirst aufgefordert, das Passwort für den Benutzer „teleport-admin“ einzugeben und den OTP-Authentifizierungscode einzugeben. Gib das richtige Passwort für deinen Benutzer und den richtigen OTP-Code aus deiner 2FA-Anwendung ein.

Wenn die Authentifizierung erfolgreich war, solltest du die folgenden detaillierten Verbindungen zum Teleport-Cluster erhalten.

Anmeldung bei Teleport über Cli

Du kannst die aktuelle Verbindung zum Teleport-Cluster auch mit dem folgenden tsh-Befehl überprüfen. Dies erzeugt die gleiche Ausgabe wie der Screenshot oben.

tsh status

Nachdem du dich über tsh beim Teleport-Cluster authentifiziert hast, kannst du jetzt die Ressourcen in Teleport über das Terminal verwalten.

Führe den folgenden tsh-Befehl aus, um die Liste der Hosts/Knoten/Server zu überprüfen, die im Teleport-Cluster verfügbar sind.

tsh ls

Überprüfe nun die aktivierte Anwendung auf dem Teleport-Cluster mit dem unten stehenden tsh-Befehl.

tsh apps ls

In der Ausgabe solltest du sehen, dass ein Knoten im Teleport-Cluster verfügbar ist (teleport-rocky) und die Anwendung „teleport-webapp“ aktiviert ist.

Teleport-App und Listenknoten überprüfen

Als Nächstes kannst du dich mit dem folgenden tsh-Befehl bei den Knoten anmelden, die im Teleport-Cluster verfügbar sind. Dabei meldest du dich über den tsh-Befehl mit dem Benutzer „root“ oder/und „rocky“ am „teleport-rocky“ an.

tsh ssh root@teleport-rocky
tsh ssh rocky@teleport-rocky

Du solltest die folgende Ausgabe sehen: Mit beiden tsh-Befehlen hast du dich über den tsh-Befehl erfolgreich bei „teleport-rocky“ angemeldet.

ssh über Teleport

Den tctl-Befehl solltest du mit sudo am Anfang ausführen. Führe den folgenden tctl-Befehl aus, um die verfügbaren Knoten/Server auf dem Teleport-Cluster zu überprüfen.

sudo tctl nodes ls

Liste der Knotenpunkte

Im nächsten Schritt erfährst du, wie du dem Teleport-Cluster über zwei verschiedene Methoden Knoten/Server hinzufügst: automatisch über das Webadministrations-Dashboard oder manuell über die Kommandozeile.

Hinzufügen von Knoten zu Teleport Cluster

Um Knoten/Server zum Teleport-Cluster hinzuzufügen, musst du sicherstellen, dass der Server erreichbar ist. Und du kannst zwei verschiedene Methoden verwenden, um deinem Teleport Cluster Knoten/Server hinzuzufügen.

In diesem Schritt fügst du zwei verschiedene Knoten zum Teleport-Cluster hinzu. Den Knoten „client1“ fügst du über das Installationsskript hinzu, das aus dem Webadministrations-Dashboard generiert wird, und den Knoten „client2“ fügst du manuell über die Kommandozeile hinzu.

Hinzufügen von Knoten über das Teleport Administration Dashboard

Bevor du beginnst, führe den Befehl firewall-cmd aus, um einige Ports auf dem Knoten „client1“ zu öffnen.

sudo firewall-cmd --add-port={3021/tcp,3022/tcp,3025/tcp} --permanent

Lade nun die Firewall neu, um die Änderungen zu übernehmen und den Status der Firewall-Regeln auf dem „client1„-Knoten zu überprüfen.

sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Du wirst dann eine Ausgabe wie diese erhalten.

firewalld einrichten

Als Nächstes rufst du das Dashboard der Teleport-Webadministration auf und klickst auf die Schaltfläche ADD SERVER (Server hinzufügen ).

Server hinzufügen

Wähle den Ressourcentyp aus, den du hinzufügen möchtest. Du kannst Kubernetes Cluster, Datenbankserver, Anwendungen und Desktops hinzufügen. Wähle SERVERS, um den Ressourcentyp Server hinzuzufügen und klicke auf NEXT.

Typ auswählen

Jetzt siehst du das generierte Installationsskript und die Befehlszeile, mit der du den Knoten „client1“ hinzufügen kannst. Kopiere die generierte Befehlszeile.

Erstellte Url kopieren

Melde dich nun am Knoten „client1“ an, erhalte mit dem Befehl sudo die Root-Rechte und füge dann die generierte Befehlszeile auf dem Knoten „client1“ ein und führe sie aus. Dadurch wird das erstellte Skript heruntergeladen und auf dem „client1„-Knoten ausgeführt.

Auf deinem Terminal erhältst du eine ähnliche Ausgabe wie diese – Das Installationsskript fügt den Knoten „client1“ mithilfe des generierten Tokens und des ca-Pins des Teleport Clusters hinzu. Außerdem erkennt das Installationsskript dein aktuelles Betriebssystem, installiert das Teleport-Paket automatisch und erstellt die Teleport-Konfigurationsdatei „/etc/teleport.yaml“.

Einrichtung über Installer-Skript

Nachdem der Prozess abgeschlossen ist, solltest du die folgende Ausgabe erhalten. Der Teleport-Dienst auf dem Knoten „client1“ wurde ebenfalls automatisch gestartet und aktiviert.

Installation beendet

Nun kehrst du zum Teleport-Webadministrations-Dashboard zurück und solltest eine Meldung wie „Der Server ist diesem Teleport-Cluster erfolgreich beigetreten“ sehen. Klicke auf NEXT, um fortzufahren.

Erfolg

Gib nun die Benutzernamen ein, die auf den Knoten „client1“ zugreifen dürfen. Vergewissere dich, dass die Benutzer auf dem ‚client1‚-Knoten verfügbar und angelegt sind. Klicke erneut auf NEXT, um fortzufahren.

Installation beendet

Abschließend kannst du die Verbindungen zum Knoten „client1“ mithilfe der Schritte auf dem Webadministrations-Dashboard überprüfen.

  • Wähle zunächst den Benutzer aus, mit dem du dich anmelden möchtest.
  • Zweitens klickst du in Schritt 2 auf die Schaltfläche TEST SERVER und stellst sicher, dass alle Tests als abgeschlossen markiert sind.
  • Zum Schluss klickst du auf die Schaltfläche SITZUNG STARTEN, die automatisch eine neue Registerkarte in deinem Webbrowser öffnet und den Knoten„client1“ über den ausgewählten Benutzer öffnet.

Unten siehst du einen Screenshot des Bereichs „Testverbindung“ mit dem Status „erfolgreich“.

Das könnte dich auch interessieren …