Warum sollte ich einen sicheren Tunnel erstellen?
Mit Tunnel senden Sie keinen Traffic an eine externe IP-Adresse, stattdessen erstellt ein leichter Daemon in Ihrer Infrastruktur (cloudflared) outbound-only-Verbindungen zum globalen Netzwerk von Cloudflare; so dass Sie unnötige Ports in Ihrer Infrastruktur mit Ihrem Firewall abschalten können. Um Ihren Tunnel zu erstellen, muss Ihre Infrastruktur (Domain+Nameserver) sich im cloudflare-Netzwerk befinden.

Was brauche ich, um einen sicheren Tunnel zu erstellen?
Ein Konto bei cloudflare mit Ihrem Domainnamen, der mit Ihrem Server über Nameserver-Konfigurationen verknüpft ist; die cloudflared-Anwendung kann für jedes Betriebssystem hier heruntergeladen werden: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/
Was ist die Anwendung Zero Trust?
Zero Trust ist ein Sicherheitsframework, das erfordert, dass alle Benutzer, ob innerhalb oder außerhalb des Netzwerks der Organisation, vor der Erteilung oder Beibehaltung des Zugriffs auf Anwendungen und Daten authentifiziert, autorisiert und kontinuierlich validiert werden. Wenn Sie Ihren Tunnel für SSH und SFTP mit cloudflare erstellen, müssen Sie ihn mit einer Zero-Trust-Anwendung verknüpfen.

Starten Sie Ihren sicheren Tunnel
Sobald cloudflared heruntergeladen wurde, können Sie den ersten Tunnel einfach über das Terminal oder die WebUI erstellen.
TERMINAL
Geben Sie diesen Befehl ein, um sich zu authentifizieren:
$ cloudflared tunnel login
Erstellen Sie einen Tunnel und geben Sie ihm einen Namen:
$ cloudflared tunnel create <NAME>
Notieren Sie sich anhand der Ausgabe des Befehls die UUID des Tunnels und den Pfad zu Ihrer Tunnel-Anmeldedatei.
Überprüfen Sie, ob der Tunnel erfolgreich erstellt wurde, indem Sie Folgendes ausführen:
$ cloudflared tunnel list
Lesen Sie die offiziellen Dokumente, um einen Tunnel über das Terminal zu erstellen: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/local/
WEBUI
- Melden Sie sich bei Zero Trust an und gehen Sie zu Zugriff > Tunnel.
- Wählen Sie Tunnel erstellen aus.
- Geben Sie einen Namen für Ihren Tunnel ein. Wir empfehlen, einen Namen zu wählen, der die Art der Ressourcen widerspiegelt, die Sie über diesen Tunnel verbinden möchten (z. B.
enterprise-VPC-01). - Wählen Sie Tunnel speichern aus.
- Zuerst müssen Sie
cloudflaredinstallieren und es ausführen. Um dies zu tun, stellen Sie sicher, dass die Umgebung unter Wählen Sie eine Umgebung aus das Betriebssystem auf Ihrem Computer widerspiegelt und kopieren Sie den Befehl in das Feld unten und fügen Sie ihn in ein Terminalfenster ein. Führen Sie den Befehl aus. - Sobald der Befehl ausgeführt wurde, wird Ihr Connector in Zero Trust angezeigt.
- Wählen Sie Weiter.
Lesen Sie die offiziellen Dokumente, um einen Tunnel über die Web-UI zu erstellen: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/remote/
Verbindung über SSH über Cloudflare Tunnel
Das Secure Shell Protocol (SSH) ermöglicht es Benutzern, Geräte über die Befehlszeile aus der Ferne zu greifen. Mit Cloudflare Zero Trust können Sie Ihren SSH-Server ohne das Risiko des Öffnens eingehender Ports auf dem Server über das Internet verfügbar machen.
Cloudflare Zero Trust bietet zwei Lösungen, um sicheren Zugriff auf SSH-Server zu ermöglichen:
- Private Subnetz-Routing mit Cloudflare WARP zum Tunnel
- Öffentliche Hostnamen-Routing mit
cloudflared access
Cloudflared access- [Access the simple access to a website as a visitor] - ist die, die wir hier verwendet haben.
Beachten Sie, dass cloudflared eine sich ständig weiterentwickelnde Software- [Program/Software: the instructions that control what a computer does; computer programs] - ist und es daher notwendig ist, die offiziellen Dokumente zu lesen, um sicherzustellen, dass Sie die besten Verfahren für die verwendete Version verwenden.
Verwendung von SSH über Terminal oder Web-UI
Verwenden Sie Ihren neuen öffentlichen Hostnamen (z. B. ssh.example.com), um über das Terminal auf Ihre SSH-Anwendung zuzugreifen:
$ ssh [benutzername]@ssh.example.com
Sie können die Web-Oberfläche auch verwenden, um auf das ssh-Terminal über das Web zuzugreifen. Dazu sind zusätzliche Schritte erforderlich: Sie müssen einfach die Browser-Rendering-Funktion in Ihrer Anwendung aktivieren. Lesen Sie hier die offiziellen Dokumente zu diesen Argumenten: https://developers.cloudflare.com/cloudflare-one/applications/non-http/#rendering-in-the-browser
Verwendung von SFTP mit dem SSH Cloudflare Tunnel
SFTP, oder Secure File Transfer Protocol, ist ein sicheres Dateitransferprotokoll, das die Secure Shell-Verschlüsselung verwendet, um ein hohes Maß an Sicherheit für den Datenaustausch zu gewährleisten. Um SFTP in Ihren Clients zu verwenden, sind zusätzliche Schritte erforderlich, um den Client mit dem Tunnel zu verbinden; öffnen Sie einfach Ihr Terminal (von dem Client, auf den Sie zugreifen möchten), und geben Sie diesen Befehl ein:
$ cloudflared access tcp --hostname ssh.example.com --url localhost:2222
Wenn Sie sich beim nächsten Mal über SFTP (mit jeder aktivierten Software) mit localhost:2222 als Hostnamen und den Anmeldeinformationen Ihres SFTP-Benutzers des Servers verbinden möchten, können Sie den Befehl wiederholen, um die Verbindung zu beenden, und die Verbindung wird nicht mehr möglich sein, bis Sie den Befehl erneut eingeben.
Anpassen der Sicherheitseinstellungen
Wenn alle Verfahren einwandfrei funktionieren, können Sie nun die von SSH und SFTP verwendeten Ports über die Firewall schließen (normalerweise Port 22); auf diese Weise werden nur diejenigen, die über die Cloudflared-Anwendung und/oder die erforderlichen Zertifikate verfügen, in der Lage sein, sich zu verbinden.
Bitte lesen Sie immer die offiziellen Dokumente
Wie ich schon vor einiger Zeit schrieb, empfehle ich Ihnen, immer die offiziellen cloudflare-Dokumente zu lesen und daraus zu lernen, da diese Software auch im Laufe der Zeit Änderungen haben kann. Dieses Dokument wurde ohne jegeneine offizielle Unterstützung von cloudflare verfasst und soll als Beispiel für diejenigen dienen, die in unserer Organisation arbeiten.

