So erstellen Sie einen sicheren Tunnel für SSH und SFTP mit Cloudflare

Warum sollte ich einen sicheren Tunnel schaffen?

Mit Tunnel senden Sie keinen Traffic an eine externe IP, sondern ein leichter Daemon in Ihrer Infrastruktur (cloudflared) schafft Outbound-only-Verbindungen zu Cloudflares globalem Netzwerk; so können Sie ungenutzte Ports mit Ihrer Firewall in Ihrer Infrastruktur schließen. Um Ihren Tunnel zu erstellen, muss Ihre Infrastruktur (Domain+Name Server) innerhalb des Cloudflare Netzwerk.

Was brauche ich, um einen sicheren Tunnel zu schaffen?

Ein Konto in Cloudflare mit Ihrem mit Ihrem Server verbundenen Domainnamen mit den Namensserverkonfigurationen; die cloudflared-Anwendung, als für jedes Betriebssystem hier heruntergeladen werden kann: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/

Was ist die Zero Trust-Anwendung?

Zero Trust ist ein Sicherheitsrahmen, in dem alle Benutzer, egal ob im oder außerhalb des Organisationsnetzwerks, authentifiziert, autorisiert und kontinuierlich für Sicherheitskonfiguration und -haltung validiert werden müssen, bevor ihnen der Zugang zu Anwendungen und Daten gewährt oder bleibt. Wenn Sie Ihren Tunnel für SSH und SFTP mit Cloudflare Sie müssen es mit einer Zero Trust-Anwendung verknüpfen.

Starten Sie Ihren sicheren Tunnel

Sobald Cloudflared heruntergeladen wird, können Sie den ersten Tunnel einfach über Terminal oder Webui erstellen.

TERMINAL

Geben Sie diesen Befehl zur Authentifizierung ein:

$ cloudflared tunnel login

Erstellen Sie einen Tunnel und geben Sie ihm einen Namen:

$ cloudflared tunnel create 

Nehmen Sie von der Ausgabe des Befehls Kenntnis von der Tunnel-UUID und dem Pfad zu Ihrer Tunnel-Zugangsdatendatei.

Bestätigen Sie, dass der Tunnel erfolgreich durch Laufen erstellt wurde:

$ cloudflared tunnel list

Lesen Sie die offiziellen Dokumente, um einen Tunnel über Terminal zu erstellen: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/local/

WEBUI

  1. Einloggen inNull Vertrauenund zu gehenZugang>Tunnel.
  2. AuswahlEinen Tunnel erstellen.
  3. Geben Sie einen Namen für Ihren Tunnel ein. Wir schlagen vor, einen Namen auszuwählen, der die Art der Ressourcen widerspiegelt, die Sie durch diesen Tunnel verbinden möchten (z.B.enterprise-VPC-01).
  4. AuswahlTunnel speichern.
  5. Als nächstes müssen Sie installierencloudflaredUnd führen Sie es. Um dies zu tun, überprüfen Sie, dass die Umwelt unterWählen Sie eine Umgebungreflektiert das Betriebssystem auf Ihrem Rechner, kopiert dann den Befehl im Feld unten und fügt ihn in ein Terminalfenster ein. Führen Sie den Befehl aus.
  6. Sobald der Befehl läuft, erscheint Ihr Stecker in Zero Trust.
  7. AuswahlNach vorne.

Lesen Sie die offiziellen Dokumente, um einen Tunnel über Webui zu erstellen: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/remote/

Verbindung mit SSH durch Cloudflare Tunnel

Mit dem Secure Shell Protocol (SSH) können Benutzer über die Kommandozeile auf Geräte zugreifen. Mit Cloudflare Zero Trust, können Sie Ihren SSH-Server über das Internet verfügbar machen, ohne das Risiko, inbound Ports auf dem Server zu öffnen.

Cloudflare Zero Trust bietet zwei Lösungen für sicheren Zugriff auf SSH-Server:

Der Cloudflared-Zugang ist der, den wir hier benutzt haben.

Denken Sie daran, dass cloudflared eine ständig aktualisierte 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 sicher zu sein, dass Sie die bestmöglichen Verfahren für die verwendete Version verwenden.

SSH von Terminal oder Webui verwenden

Verwenden Sie Ihren neuen öffentlichen Hostnamen (zum Beispiel ssh.example.com), um Ihre SSH-Anwendung über Terminal zu erreichen:

$ ssh [username]@ssh.example.com

Sie können auch die Web-Schnittstelle verwenden, um die ssh Terminal via WebDazu sind zusätzliche Schritte erforderlich: Sie sollten einfach das Rendern des Browsers in Ihrer Anwendung aktivieren. Lesen Sie hier das offizielle Dokument zu diesen Argumenten: https://developers.cloudflare.com/cloudflare-one/applications/non-http/#rendering-in-the-browser

Verwenden Sie SFTP mit dem SSH Cloudflare Tunnel

SFTP oder Secure File Transfer Protocol ist ein sicheres Dateiübertragungsprotokoll, das eine sichere Shell-Verschlüsselung verwendet, um ein hohes Maß an Sicherheit für das Senden und Empfangen von Dateiübertragungen zu bieten. Um SFTP in Ihren Clients zu verwenden, ist ein zusätzlicher Schritt erforderlich, um den Client mit dem Tunnel zu verbinden; öffnen Sie einfach Ihr Terminal (vom Client, den Sie verbinden möchten) und geben Sie diesen Befehl ein:

$ cloudflared access tcp --hostname ssh.example.com --url localhost:2222

Nächstes Mal, wenn Sie über SFTP (mit jeder aktivierten Software) verbinden möchten, fügen Sie als Hostname localhost:2222 und die Anmeldeinformationen Ihres SFTP-Benutzernamens des Servers ein; wenn Sie Ihr Terminal schließen, das Verbindungsende und werden nicht wieder verbinden können, bis Sie das Terminal öffnen und diesen Befehl erneut eingeben.

Sicherheitseinstellungen anpassen

Wenn alle Verfahren perfekt funktionieren, können Sie nun die Ports von SSH und SFTP (in der Regel Port 22) über die Firewall schließen; auf diese Weise können nur die im Besitz der Cloudflared-Anwendung und/oder die erforderlichen Zertifikate verbunden werden.

Lesen Sie immer die offiziellen Dokumente

Wie ich vor einer Weile geschrieben habe, rate ich Ihnen, immer vom Beamten zu lesen und zu lernen Cloudflare Dokumente, weil diese Software auch Änderungen im Laufe der Zeit haben könnte. Dieses Dokument wird ohne offizielle Unterstützung von Cloudflare und ist als Beispiel für diejenigen gedacht, die in unserer Organisation arbeiten.